From f1c349921cde4c6af6cb00bb6c6c614c5113e0d5 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Thu, 17 Oct 1996 19:39:05 +0000 Subject: [PATCH] SKEY-support git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@855 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/popper/pop_user.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/appl/popper/pop_user.c b/appl/popper/pop_user.c index d390e8f1f..96924ae11 100644 --- a/appl/popper/pop_user.c +++ b/appl/popper/pop_user.c @@ -19,9 +19,23 @@ RCSID("$Id$"); int pop_user (POP *p) { - /* Save the user name */ - (void)strcpy(p->user, p->pop_parm[1]); +#ifdef SKEY + char ss[256], msg[256]; +#endif + /* Save the user name */ + strcpy(p->user, p->pop_parm[1]); + +#ifdef SKEY + p->permit_passwd = skeyaccess(k_getpwnam (p->user), NULL, + p->client, NULL); + if (skeychallenge (&p->sk, p->user, ss) == 0) { + return pop_msg(p, POP_SUCCESS, "Password [%s] required for %s.", + ss, p->user); + } else if (!p->permit_passwd) + return pop_msg(p, POP_FAILURE, "Access unauthorized for %s.", + p->user); +#endif /* Tell the user that the password is required */ - return (pop_msg(p,POP_SUCCESS,"Password required for %s.",p->user)); + return pop_msg(p, POP_SUCCESS, "Password required for %s.", p->user); }