On Sun, May 22, 2016 at 04:52:42PM +0200, Peter N. M. Hansteen wrote:
> Hi,
> 
> After upgrading a mail server to the latest 6.0-beta snapshot and the 
> requisite
> pkg_add -u, when users try to retrieve mail, authentication fails:
> 
> spop3d[14311]: auth: no shadow password handling compiled in server
> 
> I assume this would be a matter of a configure option?
> 
> - Peter
> -- 
> Peter N. M. Hansteen, member of the first RFC 1149 implementation team
> http://bsdly.blogspot.com/ http://www.bsdly.net/ http://www.nuug.no/
> "Remember to set the evil bit on all malicious network traffic"
> delilah spamd[29949]: 85.152.224.147: disconnected after 42673 seconds.
> 

Can you please try this diff? I think that's the only getpwnam that
needs to be replaced.


Index: Makefile
===================================================================
RCS file: /var/cvs/ports/mail/solid-pop3d/Makefile,v
retrieving revision 1.29
diff -u -p -r1.29 Makefile
--- Makefile    16 Feb 2015 22:57:09 -0000      1.29
+++ Makefile    22 May 2016 18:07:34 -0000
@@ -4,7 +4,7 @@ COMMENT=        flexible POP3 server
 
 VERSION=       0.15
 DISTNAME=      solid-pop3d-${VERSION}
-REVISION =     6
+REVISION =     7
 CATEGORIES=    mail
 MASTER_SITES=  ftp://dione.ids.pl/pub/solidpop3d/
 
Index: patches/patch-src_authenticate_c
===================================================================
RCS file: patches/patch-src_authenticate_c
diff -N patches/patch-src_authenticate_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_authenticate_c    22 May 2016 16:18:04 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+--- src/authenticate.c.orig    Sun May 22 18:15:44 2016
++++ src/authenticate.c Sun May 22 18:16:14 2016
+@@ -168,8 +168,8 @@ int _sp_authenticate_user(char *ausername, char *apass
+       char *encrypted_passwd;
+       struct passwd *pwentry;
+       
+-      if ((pwentry = getpwnam(ausername)) == NULL) {
+-              pop_log(pop_priority, "auth: getpwnam() failed");
++      if ((pwentry = getpwnam_shadow(ausername)) == NULL) {
++              pop_log(pop_priority, "auth: getpwnam_shadow() failed");
+               return -1;
+       };      
+       if (strcmp(pwentry->pw_passwd, "") == 0) {

Reply via email to