summaryrefslogtreecommitdiff
path: root/mail/poppassd
diff options
context:
space:
mode:
authortaca <taca@pkgsrc.org>2002-07-16 15:01:49 +0000
committertaca <taca@pkgsrc.org>2002-07-16 15:01:49 +0000
commitad351a9bdd336efe6425459b4da85475a953864b (patch)
treedc22e1767ec98d5c41a6f048604890e18f2df87e /mail/poppassd
parent31013b9e1baee360045cff52e5eaecc8bf9730bf (diff)
downloadpkgsrc-ad351a9bdd336efe6425459b4da85475a953864b.tar.gz
Make it work smbpassword update function.
It seems that there was some deadlock between pty and child exiting. Bump PKGREVISION to 1.
Diffstat (limited to 'mail/poppassd')
-rw-r--r--mail/poppassd/Makefile3
-rw-r--r--mail/poppassd/distinfo4
-rw-r--r--mail/poppassd/patches/patch-ac79
3 files changed, 67 insertions, 19 deletions
diff --git a/mail/poppassd/Makefile b/mail/poppassd/Makefile
index 337ba704d08..76379caaa39 100644
--- a/mail/poppassd/Makefile
+++ b/mail/poppassd/Makefile
@@ -1,8 +1,9 @@
-# $NetBSD: Makefile,v 1.5 2002/05/03 15:11:06 taca Exp $
+# $NetBSD: Makefile,v 1.6 2002/07/16 15:01:49 taca Exp $
#
DISTNAME= qpopper${VERSION}
PKGNAME= poppassd-${VERSION}
+PKGREVISION= 1
CATEGORIES= mail
MASTER_SITES= ftp://ftp.qualcomm.com/eudora/servers/unix/popper/
diff --git a/mail/poppassd/distinfo b/mail/poppassd/distinfo
index 941d534234f..0ee5712ba15 100644
--- a/mail/poppassd/distinfo
+++ b/mail/poppassd/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.2 2002/05/02 16:16:55 martti Exp $
+$NetBSD: distinfo,v 1.3 2002/07/16 15:01:49 taca Exp $
SHA1 (qpopper4.0.4.tar.gz) = c8b35bfa79000e3f1d67574c93d8d8ef580cd57c
Size (qpopper4.0.4.tar.gz) = 2261992 bytes
@@ -6,4 +6,4 @@ SHA1 (qpopper4.0.4-ipv6-20020502.diff.gz) = 7af76478f249684ebc02938d9a4a8cc728a5
Size (qpopper4.0.4-ipv6-20020502.diff.gz) = 21535 bytes
SHA1 (patch-aa) = 3dfad411477bae676ec4ea3dadf1d47d53ce1383
SHA1 (patch-ab) = 2ab7597bacf172a7c2405f2d1f0c9040dbab66b8
-SHA1 (patch-ac) = f8e12e7d1c2b8ed4df8a696165be6b012716fdfe
+SHA1 (patch-ac) = b4edaa15f478914a2d2c273871915d53e498ff7c
diff --git a/mail/poppassd/patches/patch-ac b/mail/poppassd/patches/patch-ac
index 853f6562b94..1a88230aca4 100644
--- a/mail/poppassd/patches/patch-ac
+++ b/mail/poppassd/patches/patch-ac
@@ -1,7 +1,7 @@
-$NetBSD: patch-ac,v 1.2 2002/05/02 16:16:56 martti Exp $
+$NetBSD: patch-ac,v 1.3 2002/07/16 15:01:50 taca Exp $
---- password/poppassd.c.orig Fri Apr 5 04:38:36 2002
-+++ password/poppassd.c Thu May 2 09:03:15 2002
+--- password/poppassd.c.orig Tue Jul 16 15:20:21 2002
++++ password/poppassd.c
@@ -167,8 +167,13 @@
/* LANMAN allows up to 14 char passwords (truncates if longer), but tacacs
only seems to allow 11. */
@@ -16,7 +16,7 @@ $NetBSD: patch-ac,v 1.2 2002/05/02 16:16:56 martti Exp $
#include "config.h"
-@@ -283,6 +288,7 @@
+@@ -294,6 +299,7 @@ pop_result auth_user ( POP *p, char *pas
static char *P1[] =
{
@@ -24,7 +24,22 @@ $NetBSD: patch-ac,v 1.2 2002/05/02 16:16:56 martti Exp $
"changing password for *\nold password: ", /* shadow */
"enter login password: ", /* Solaris */
"old smb password: ", /* smb */
-@@ -342,7 +348,7 @@
+@@ -323,6 +329,7 @@ static char *P4[] =
+ {
+ "password changed. ", /* shadow */
+ "password changed ", /* smb */
++ "password changed for user *\n", /* smb */
+ ""
+ };
+
+@@ -346,14 +353,13 @@ char *smb_binary = SM
+ #define RUN_PASSWD 1
+ #define RUN_SMBPASSWD 2
+
+-
+ int main ( int argc, char *argv[] )
+ {
+ char line [BUFSIZE] = "";
char oldpass [BUFSIZE] = "";
char newpass [BUFSIZE] = "";
int nopt = -1;
@@ -33,7 +48,7 @@ $NetBSD: patch-ac,v 1.2 2002/05/02 16:16:56 martti Exp $
int mode = 0;
char *ptr = NULL;
POP p;
-@@ -364,8 +370,6 @@
+@@ -375,8 +381,6 @@ int main ( int argc, char *argv[] )
pname = ptr + 1;
}
@@ -42,7 +57,7 @@ $NetBSD: patch-ac,v 1.2 2002/05/02 16:16:56 martti Exp $
/*
* Set up some stuff in -p- so we can call Qpopper routines
*/
-@@ -373,6 +377,17 @@
+@@ -384,6 +388,17 @@ int main ( int argc, char *argv[] )
p.AuthType = noauth;
p.myname = pname;
@@ -60,7 +75,7 @@ $NetBSD: patch-ac,v 1.2 2002/05/02 16:16:56 martti Exp $
/*
* Handle command-line options
*/
-@@ -381,9 +396,9 @@
+@@ -392,9 +407,9 @@ int main ( int argc, char *argv[] )
{
switch (nopt)
{
@@ -73,7 +88,7 @@ $NetBSD: patch-ac,v 1.2 2002/05/02 16:16:56 martti Exp $
"[-t trace-file] [-v] [-y log-facility]\n",
pname );
exit (1);
-@@ -400,20 +415,34 @@
+@@ -411,20 +426,34 @@ int main ( int argc, char *argv[] )
verbose = TRUE;
break;
@@ -91,14 +106,14 @@ $NetBSD: patch-ac,v 1.2 2002/05/02 16:16:56 martti Exp $
TRACE ( trace_file, POP_DEBUG, HERE,
- "Changing SMB passwords using %s", smb_binary );
+ "Changing SMB password using %s", smb_binary );
-+ break;
-+
+ break;
+
+ case 'P':
+ mode |= RUN_PASSWD;
+ TRACE ( trace_file, POP_DEBUG, HERE,
+ "Changing standard password enabled" );
- break;
-
++ break;
++
+
case 'p':
mode |= RUN_PASSWD;
@@ -110,15 +125,47 @@ $NetBSD: patch-ac,v 1.2 2002/05/02 16:16:56 martti Exp $
break;
case 't':
-@@ -770,6 +799,11 @@
+@@ -671,6 +700,7 @@ void runchild ( char *userid, char *oldp
+ emess[0] ? emess : "Unable to change password");
+ exit(1);
+ }
++ close ( master ); /* done with the pty */
+ wpid = waitpid ( pid, &wstat, 0 );
+ if ( wpid < 0 )
+@@ -700,8 +730,6 @@ void runchild ( char *userid, char *oldp
+ WriteToClient ("500 Server error (abnormal exit), get help!");
+ exit(1);
+ }
+-
+- close ( master ); /* done with the pty */
+ }
+ else /* Child */
+ {
+@@ -782,6 +810,11 @@ int dochild (int master, char *slavedev,
chdir ("/");
umask (0);
-+
+
+ if (setlogin(userid) < 0) {
+ err_msg ( HERE, "setlogin failed: %m" );
+ return(0);
+ }
-
++
/*
* Become the user and run passwd. Linux shadowed passwd doesn't need
+ * to be run as root with the username passed on the command line.
+@@ -950,8 +983,12 @@ int match (char *str, char *pat)
+ strlen(pat), debug_str(pat, strlen(pat), 1) );
+
+ while (*str && *pat) {
+- if (*pat == '*')
+- break;
++ if (*pat == '*') {
++ pat++;
++ while (*str != '\0' && *str != '\n')
++ *str++;
++ continue;
++ }
+
+ /* ignore multiple space sequences */
+ if (*pat == ' ' && isspace (*str)) {