summaryrefslogtreecommitdiff
path: root/mail/popper
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>2001-10-02 17:01:23 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>2001-10-02 17:01:23 +0000
commit36c37f4256cca5accaaad9a0e5631f3859001e6e (patch)
treedd1d759cab138bdafc40c424ecb82fe24df9860a /mail/popper
parentAdd afbackup-server, a server portion of the AF's backup system. (diff)
Fix auth for non-OPIE users
Notes
Notes: svn path=/head/; revision=48351
Diffstat (limited to 'mail/popper')
-rw-r--r--mail/popper/Makefile2
-rw-r--r--mail/popper/files/patch-af23
2 files changed, 12 insertions, 13 deletions
diff --git a/mail/popper/Makefile b/mail/popper/Makefile
index 64371c069fc2..5267652d90a3 100644
--- a/mail/popper/Makefile
+++ b/mail/popper/Makefile
@@ -7,7 +7,7 @@
PORTNAME= qpopper
PORTVERSION= 2.53
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= mail
MASTER_SITES= ftp://ftp.qualcomm.com/eudora/servers/unix/popper/old/
DISTNAME= ${PORTNAME}${PORTVERSION}
diff --git a/mail/popper/files/patch-af b/mail/popper/files/patch-af
index c2fac6abc345..dff19989d2bd 100644
--- a/mail/popper/files/patch-af
+++ b/mail/popper/files/patch-af
@@ -1,5 +1,5 @@
--- pop_user.c.orig Fri Jul 10 03:44:08 1998
-+++ pop_user.c Mon Jul 30 19:30:00 2001
++++ pop_user.c Tue Oct 2 20:55:26 2001
@@ -40,6 +40,12 @@
#include "popper.h"
@@ -23,21 +23,20 @@
#ifdef KERBEROS
if (p->kerberos && strcmp(p->pop_parm[1], p->user)) {
-@@ -167,6 +176,19 @@
+@@ -167,6 +176,18 @@
#endif /* APOP */
/* Tell the user that the password is required */
+#ifdef OPIE
-+ if (((pw = getpwnam(p->user)) == NULL) || (pw->pw_passwd == NULL) ||
-+ (*pw->pw_passwd == '\0'))
-+ return (pop_auth_fail(p, POP_FAILURE, pwerrmsg, p->user));
-+
-+ pwok = af_pwok && opiealways(pw->pw_dir);
-+
-+ opiechallenge(&opiestate, p->user, prompt);
-+
-+ return (pop_msg(p,POP_SUCCESS,"OTP response %s %s for %s.", prompt,
-+ pwok ? "requested" : "required", p->user));
++ if (opiechallenge(&opiestate, p->user, prompt) == 0) {
++ pw = getpwnam(p->user);
++ pwok = (pw != NULL) && af_pwok && opiealways(pw->pw_dir);
++ return (pop_msg(p,POP_SUCCESS,"OTP response %s %s for %s.", prompt,
++ pwok ? "requested" : "required", p->user));
++ } else {
++ pwok = 1;
++ return (pop_msg(p,POP_SUCCESS,"Password required for %s.",p->user));
++ }
+#else /* OPIE */
return (pop_msg(p,POP_SUCCESS,"Password required for %s.",p->user));
+#endif /* OPIE */