summaryrefslogtreecommitdiffstats
path: root/crypto/heimdal/appl/popper/pop_user.c
diff options
context:
space:
mode:
authorassar <assar@FreeBSD.org>2001-06-21 02:12:07 +0000
committerassar <assar@FreeBSD.org>2001-06-21 02:12:07 +0000
commit0c8fa354358381b3f1b92598e7f1b46f8cf744cc (patch)
treeed28ffb73cc0ae48a9892dab3f10b09bc36436d5 /crypto/heimdal/appl/popper/pop_user.c
parent06c859ecf534f468a52f24a3eb14409d73a4907c (diff)
downloadFreeBSD-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.c36
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);
+}
OpenPOWER on IntegriCloud