diff options
author | assar <assar@FreeBSD.org> | 2001-06-21 02:12:07 +0000 |
---|---|---|
committer | assar <assar@FreeBSD.org> | 2001-06-21 02:12:07 +0000 |
commit | 0c8fa354358381b3f1b92598e7f1b46f8cf744cc (patch) | |
tree | ed28ffb73cc0ae48a9892dab3f10b09bc36436d5 /crypto/heimdal/appl/popper/pop_user.c | |
parent | 06c859ecf534f468a52f24a3eb14409d73a4907c (diff) | |
download | FreeBSD-src-0c8fa354358381b3f1b92598e7f1b46f8cf744cc.zip FreeBSD-src-0c8fa354358381b3f1b92598e7f1b46f8cf744cc.tar.gz |
import of heimdal 0.3f
Diffstat (limited to 'crypto/heimdal/appl/popper/pop_user.c')
-rw-r--r-- | crypto/heimdal/appl/popper/pop_user.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/crypto/heimdal/appl/popper/pop_user.c b/crypto/heimdal/appl/popper/pop_user.c new file mode 100644 index 0000000..be771e6 --- /dev/null +++ b/crypto/heimdal/appl/popper/pop_user.c @@ -0,0 +1,36 @@ +/* + * Copyright (c) 1989 Regents of the University of California. + * All rights reserved. The Berkeley software License Agreement + * specifies the terms and conditions for redistribution. + */ + +#include <popper.h> +RCSID("$Id: pop_user.c,v 1.15 1999/09/16 20:38:50 assar Exp $"); + +/* + * user: Prompt for the user name at the start of a POP session + */ + +int +pop_user (POP *p) +{ + char ss[256]; + + strlcpy(p->user, p->pop_parm[1], sizeof(p->user)); + +#ifdef OTP + if (otp_challenge (&p->otp_ctx, p->user, ss, sizeof(ss)) == 0) { + return pop_msg(p, POP_SUCCESS, "Password %s required for %s.", + ss, p->user); + } else +#endif + if (p->auth_level != AUTH_NONE) { + char *s = NULL; +#ifdef OTP + s = otp_error(&p->otp_ctx); +#endif + return pop_msg(p, POP_FAILURE, "Permission denied%s%s", + s ? ":" : "", s ? s : ""); + } else + return pop_msg(p, POP_SUCCESS, "Password required for %s.", p->user); +} |