summaryrefslogtreecommitdiff
path: root/mail/poppassd
diff options
context:
space:
mode:
authortaca <taca>2005-12-05 14:12:29 +0000
committertaca <taca>2005-12-05 14:12:29 +0000
commitb675c5a74a171d6bd6f4761b305011d7b2ed2367 (patch)
tree53ec8d6470204369bbd735a0d3541780b5f98a21 /mail/poppassd
parent2263ecbd1d64b73e7e1b6f3d5267f7b9b9404f06 (diff)
downloadpkgsrc-b675c5a74a171d6bd6f4761b305011d7b2ed2367.tar.gz
- Fix hangup when communicating with smbpasswd(8).
- Quiet pkglint; changing make macro in double quotation into :Q modifier. Bump PKGREVISION.
Diffstat (limited to 'mail/poppassd')
-rw-r--r--mail/poppassd/Makefile8
-rw-r--r--mail/poppassd/distinfo4
-rw-r--r--mail/poppassd/options.mk4
-rw-r--r--mail/poppassd/patches/patch-ac49
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;
}