diff options
author | taca <taca@pkgsrc.org> | 2005-12-05 14:12:29 +0000 |
---|---|---|
committer | taca <taca@pkgsrc.org> | 2005-12-05 14:12:29 +0000 |
commit | 9ffff0052037b8788b5172d94aff53974af72bb6 (patch) | |
tree | 53ec8d6470204369bbd735a0d3541780b5f98a21 | |
parent | 54f2c4d31e2efe931b055e681f71985c6dc15034 (diff) | |
download | pkgsrc-9ffff0052037b8788b5172d94aff53974af72bb6.tar.gz |
- Fix hangup when communicating with smbpasswd(8).
- Quiet pkglint; changing make macro in double quotation into :Q modifier.
Bump PKGREVISION.
-rw-r--r-- | mail/poppassd/Makefile | 8 | ||||
-rw-r--r-- | mail/poppassd/distinfo | 4 | ||||
-rw-r--r-- | mail/poppassd/options.mk | 4 | ||||
-rw-r--r-- | mail/poppassd/patches/patch-ac | 49 |
4 files changed, 51 insertions, 14 deletions
diff --git a/mail/poppassd/Makefile b/mail/poppassd/Makefile index 2971ff9e17a..e87c0bbdc9a 100644 --- a/mail/poppassd/Makefile +++ b/mail/poppassd/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.20 2005/06/16 06:58:03 jlam Exp $ +# $NetBSD: Makefile,v 1.21 2005/12/05 14:12:29 taca Exp $ # DISTNAME= qpopper${VERSION} -PKGREVISION= 1 +PKGREVISION= 2 PKGNAME= poppassd-${VERSION} CATEGORIES= mail MASTER_SITES= ${QPOPPER_MASTER_SITES} @@ -15,11 +15,11 @@ MAINTAINER= mellon@fugue.com HOMEPAGE= ${QPOPPER_HOMEPAGE} COMMENT= Qualcomm's password change server mainly for Eudora -.include "../qpopper/Makefile.common" +.include "../../mail/qpopper/Makefile.common" CONFIGURE_ARGS+= --enable-poppassd --without-pam CONFIGURE_ENV+= CDEFS='-DSMBPASSWD_BINARY=\"${LOCALBASE}/bin/smbpasswd\"' -MAKE_ENV+= ROOT_USER=${ROOT_USER} ROOT_GROUP=${ROOT_GROUP} +MAKE_ENV+= ROOT_USER=${ROOT_USER:Q} ROOT_GROUP=${ROOT_GROUP:Q} .include "options.mk" diff --git a/mail/poppassd/distinfo b/mail/poppassd/distinfo index dd6767559d9..3f82fbfb664 100644 --- a/mail/poppassd/distinfo +++ b/mail/poppassd/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.12 2005/06/15 05:26:20 taca Exp $ +$NetBSD: distinfo,v 1.13 2005/12/05 14:12:29 taca Exp $ SHA1 (qpopper4.0.8.tar.gz) = 161038e6088b4952eedaf85fafa9f3b10eb40a01 RMD160 (qpopper4.0.8.tar.gz) = 4a1dc2aaa6ef1330a76dfed5330d658a45e7d1d2 @@ -8,7 +8,7 @@ RMD160 (qpopper4.0.8-ipv6-20050515.diff.gz) = 0ca9a8893e31933d8bf33a3cfa4d88fde5 Size (qpopper4.0.8-ipv6-20050515.diff.gz) = 11479 bytes SHA1 (patch-aa) = 0dd1bdc832d00bd640e7003afea28f0d90c2f975 SHA1 (patch-ab) = 713698d5834b569a0ee08088567a71e218d50550 -SHA1 (patch-ac) = 66e6e30cf3e5983538fa4f3265a5244783ffeac9 +SHA1 (patch-ac) = 2da65909cdbf8932c1ee7d65b41e115fa961a040 SHA1 (patch-ad) = 01036ef18732b3a7576ac79e35ea9b027e2eef63 SHA1 (patch-ae) = fa5febd4eedccdbd5610821b222a689193993bae SHA1 (patch-af) = 76ad4e1f557876dd1adf6c74f97512ad2fd8b92d diff --git a/mail/poppassd/options.mk b/mail/poppassd/options.mk index 9f5fe56bd40..11aee8c868a 100644 --- a/mail/poppassd/options.mk +++ b/mail/poppassd/options.mk @@ -1,4 +1,4 @@ -# $NetBSD: options.mk,v 1.1 2005/06/13 16:57:02 taca Exp $ +# $NetBSD: options.mk,v 1.2 2005/12/05 14:12:29 taca Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.poppassd PKG_SUPPORTED_OPTIONS= inet6 @@ -6,7 +6,7 @@ PKG_SUPPORTED_OPTIONS= inet6 .include "../../mk/bsd.options.mk" .if !empty(PKG_OPTIONS:Minet6) -CONFIGURE_ENV+= O_DEFS="${O_DEFS}" CFLAGS="-DINET6" +CONFIGURE_ENV+= O_DEFS=${O_DEFS:Q} CFLAGS="-DINET6" .else CONFIGURE_ARGS+= --disable-ipv6 .endif diff --git a/mail/poppassd/patches/patch-ac b/mail/poppassd/patches/patch-ac index 2bac458f059..58cd4397e9f 100644 --- a/mail/poppassd/patches/patch-ac +++ b/mail/poppassd/patches/patch-ac @@ -1,6 +1,6 @@ -$NetBSD: patch-ac,v 1.7 2005/06/15 05:26:20 taca Exp $ +$NetBSD: patch-ac,v 1.8 2005/12/05 14:12:29 taca Exp $ ---- password/poppassd.c.orig 2005-06-15 14:14:48.000000000 +0900 +--- password/poppassd.c.orig Mon Dec 5 10:45:21 2005 +++ password/poppassd.c @@ -171,8 +171,13 @@ /* LANMAN allows up to 14 char passwords (truncates if longer), but tacacs @@ -25,6 +25,15 @@ $NetBSD: patch-ac,v 1.7 2005/06/15 05:26:20 taca Exp $ #if HAVE_SYS_NETINET_IN_H # include <sys/netinet/in.h> #endif +@@ -257,7 +264,7 @@ int dochild (int master, char *slave + int findpty (char **slave); + void writestring (int fd, char *s); + int talktochild (int master, char *user, char *oldpass, char *newpass, +- char *emess, int asroot); ++ char *emess); + int match (char *str, char *pat); + int expect (int master, char **expected, char *buf); + void getemess (int master, char **expected, char *buf); @@ -274,7 +281,7 @@ void get_client_info ( POP *p, BOOL n char *sock_ntop ( struct sockaddr *p, int salen ); int sock_port ( struct sockaddr *p, int salen ); @@ -280,6 +289,15 @@ $NetBSD: patch-ac,v 1.7 2005/06/15 05:26:20 taca Exp $ /* fork child process to talk to password program */ pid = fork(); +@@ -665,7 +729,7 @@ void runchild ( char *userid, char *oldp + + if ( pid > 0 ) /* Parent */ + { +- if (talktochild (master, userid, oldpass, newpass, emess, smb) == FAILURE) ++ if (talktochild (master, userid, oldpass, newpass, emess) == FAILURE) + { + logit ( trace_file, LOG_ERR, HERE, + "%s failed for %s", smb ? "smbpasswd" : "passwd", userid ); @@ -677,10 +741,16 @@ void runchild ( char *userid, char *oldp wpid = waitpid ( pid, &wstat, 0 ); if ( wpid < 0 ) @@ -322,20 +340,39 @@ $NetBSD: patch-ac,v 1.7 2005/06/15 05:26:20 taca Exp $ /* * 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. -@@ -885,6 +961,7 @@ void writestring (int fd, char *s) +@@ -883,20 +959,19 @@ void writestring (int fd, char *s) + * that the password wasn't changed). + */ int talktochild (int master, char *userid, char *oldpass, char *newpass, - char *emess, int asroot) +- char *emess, int asroot) ++ char *emess) { + int n; char buf[BUFSIZE]; char pswd[BUFSIZE+1]; -@@ -926,6 +1003,8 @@ int talktochild (int master, char *useri + *emess = 0; + + TRACE ( trace_file, POP_DEBUG, HERE, +- "talktochild; master=%d; userid=%s; asroot=%d", +- master, userid, asroot ); ++ "talktochild; master=%d; userid=%s", master, userid); + + /* only get current password if not root */ +- if (!asroot) +- { ++ if (geteuid() == 0) { + /* wait for current password prompt */ + if (!expect(master, P1, buf)) return FAILURE; + +@@ -926,6 +1001,10 @@ int talktochild (int master, char *useri if ( !expect(master, P4, buf) ) TRACE ( trace_file, POP_DEBUG, HERE, "no response -- assuming OK" ); -+ while ((n = read(master, buf, sizeof buf)) > 0) ++ while ((n = read(master, buf, sizeof buf)) > 0) { ++ TRACE ( trace_file, POP_DEBUG, HERE, "reading remained output" ); + ; ++ } return SUCCESS; } |