summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Pentchev <roam@FreeBSD.org>2002-11-02 21:33:09 +0000
committerPeter Pentchev <roam@FreeBSD.org>2002-11-02 21:33:09 +0000
commitaa47b1121dc049024db4b375fc8c9b8d0e7ecb33 (patch)
treeaee28ec00f8d32f7a49abb6f9bf9a0c8b3d238da
parentIssue a patch release 20021103, which fixes a bug where pkgdb -F (diff)
Update the checksum to match the "new" distfile.
Submitted by: gerald <gerald@hannibal.symicon.com> - the original notification about the vpopmail distfile checksum change Fix a possible buffer underflow bug in the changed code. Add a new ENABLE_MYSQL_LIMITS knob for .qmailadmin-limits processing, and DISABLE the new MySQL limits code - it does not even compile as shipped :( Use the correct configure script option for specifying the path to the tcprules program, so vpopmail works even with LOCALBASE != /usr/local. Submitted by: Mike Meyer <mwm@mired.org> - the tcprules patch
-rw-r--r--mail/vpopmail-devel/Makefile10
-rw-r--r--mail/vpopmail-devel/distinfo2
-rw-r--r--mail/vpopmail-devel/files/patch-vdelivermail.c11
-rw-r--r--mail/vpopmail-devel/files/patch-vlimits.c29
-rw-r--r--mail/vpopmail-devel/files/patch-vmysql.h15
-rw-r--r--mail/vpopmail/Makefile10
-rw-r--r--mail/vpopmail/distinfo2
-rw-r--r--mail/vpopmail/files/patch-vdelivermail.c11
-rw-r--r--mail/vpopmail/files/patch-vlimits.c29
-rw-r--r--mail/vpopmail/files/patch-vmysql.h15
10 files changed, 126 insertions, 8 deletions
diff --git a/mail/vpopmail-devel/Makefile b/mail/vpopmail-devel/Makefile
index 3de3111c0243..5aee22d34f39 100644
--- a/mail/vpopmail-devel/Makefile
+++ b/mail/vpopmail-devel/Makefile
@@ -7,11 +7,10 @@
PORTNAME= vpopmail
PORTVERSION= 5.3.9
+PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES= http://www.inter7.com/devel/
-FORBIDDEN= 'Checksum mismatch, new features investigated'
-
MAINTAINER= roam@FreeBSD.org
BUILD_DEPENDS= ${QMAIL_DIR}/bin/qmail-send:${PORTSDIR}/mail/qmail \
@@ -28,7 +27,7 @@ VCFGFILES?= inc_deps lib_deps tcp.smtp
CONFIGURE_ENV+= VCFGDIR="${VCFGDIR}"
CONFIGURE_ARGS= --enable-qmaildir=${QMAIL_DIR} \
- --enable-tcprules-bin=${LOCALBASE}/bin/tcprules \
+ --enable-tcprules-prog=${LOCALBASE}/bin/tcprules \
--enable-tcpserver-file=${PREFIX}/vpopmail/etc/tcp.smtp
#
@@ -82,6 +81,7 @@ CONFIGURE_ARGS= --enable-qmaildir=${QMAIL_DIR} \
# WITH_MYSQL_READ_SERVER, WITH_MYSQL_READ_USER, WITH_MYSQL_READ_PASSWD
# WITH_MYSQL_UPDATE_SERVER, WITH_MYSQL_UPDATE_USER, WITH_MYSQL_UPDATE_PASSWD
# Those variables, if defined, override WITH_MYSQL_{SERVER,USER,PASSWD}
+# WITH_MYSQL_LIMITS - enable vpopmail handling of .qmailadmin-limits (BROKEN)
#
# Oracle database configuration options
#
@@ -177,6 +177,10 @@ CONFIGURE_ARGS+= --enable-mysql-replication=y
.if defined(WITH_MYSQL_LOG)
CONFIGURE_ARGS+= --enable-mysql-logging=y
.endif
+.if defined(WITH_MYSQL_LIMITS)
+BROKEN= "the MySQL limits code is not usable yet; please unset WITH_MYSQL_LIMITS"
+CONFIGURE_ARGS+= --enable-mysql-limits=y
+.endif
.if defined(WITH_MYSQL_SERVER)
WITH_MYSQL_READ_SERVER?= ${WITH_MYSQL_SERVER}
diff --git a/mail/vpopmail-devel/distinfo b/mail/vpopmail-devel/distinfo
index 7343f9a8d72d..d6e0ec11cc6d 100644
--- a/mail/vpopmail-devel/distinfo
+++ b/mail/vpopmail-devel/distinfo
@@ -1 +1 @@
-MD5 (vpopmail-5.3.9.tar.gz) = e54f82cab9ecb2bba4c6343eb0c03b58
+MD5 (vpopmail-5.3.9.tar.gz) = ffe8fa35ab259368ad7f75584c04389a
diff --git a/mail/vpopmail-devel/files/patch-vdelivermail.c b/mail/vpopmail-devel/files/patch-vdelivermail.c
new file mode 100644
index 000000000000..106281226007
--- /dev/null
+++ b/mail/vpopmail-devel/files/patch-vdelivermail.c
@@ -0,0 +1,11 @@
+--- vdelivermail.c.orig Sat Nov 2 22:34:39 2002
++++ vdelivermail.c Sat Nov 2 22:35:20 2002
+@@ -263,7 +263,7 @@
+
+ /* check for wildcard if there's no match */
+ if(tmpstr == NULL) {
+- for(i=strlen(TheUser);i >= 0 && j != 1;--i) {
++ for(i=strlen(TheUser);i > 0 && j != 1;--i) {
+ if(TheUser[i-1]=='-') {
+ tmpuser[0] = '\0';
+ strncat(tmpuser,TheUser,i);
diff --git a/mail/vpopmail-devel/files/patch-vlimits.c b/mail/vpopmail-devel/files/patch-vlimits.c
new file mode 100644
index 000000000000..f784777116d4
--- /dev/null
+++ b/mail/vpopmail-devel/files/patch-vlimits.c
@@ -0,0 +1,29 @@
+--- vlimits.c.orig Sat Nov 2 22:39:03 2002
++++ vlimits.c Sat Nov 2 22:41:10 2002
+@@ -49,7 +49,7 @@
+
+ /* get filename */
+ vget_assign(domain, dir, sizeof(dir), &uid, &gid);
+- strncat(dir, "/.qmailadmin-limits", sizeof(dir));
++ strncat(dir, "/.qmailadmin-limits", sizeof(dir) - strlen(dir) - 1);
+
+ /* open file */
+ if ((fs = fopen(dir, "r")) != NULL) {
+@@ -143,7 +143,7 @@
+
+ /* get filename */
+ vget_assign(domain, dir, sizeof(dir), &uid, &gid);
+- strncat(dir, "/.qmailadmin-limits", sizeof(dir));
++ strncat(dir, "/.qmailadmin-limits", sizeof(dir) - strlen(dir) - 1);
+
+ /* open file */
+ if ((fs = fopen(dir, "w+")) != NULL) {
+@@ -183,7 +183,7 @@
+
+ /* get filename */
+ vget_assign(domain, dir, sizeof(dir), &uid, &gid);
+- strncat(dir, "/.qmailadmin-limits", sizeof(dir));
++ strncat(dir, "/.qmailadmin-limits", sizeof(dir) - strlen(dir) - 1);
+ return unlink(dir);
+ }
+
diff --git a/mail/vpopmail-devel/files/patch-vmysql.h b/mail/vpopmail-devel/files/patch-vmysql.h
new file mode 100644
index 000000000000..347342723a14
--- /dev/null
+++ b/mail/vpopmail-devel/files/patch-vmysql.h
@@ -0,0 +1,15 @@
+--- vmysql.h.orig Sat Nov 2 23:02:32 2002
++++ vmysql.h Sat Nov 2 23:06:01 2002
+@@ -250,3 +250,12 @@
+ INDEX error_idx (error), INDEX message_idx (message)"
+ #endif
+
++#ifdef ENABLE_MYSQL_LIMITS
++#define LIMITS_TABLE_LAYOUT "id BIGINT PRIMARY KEY AUTO_INCREMENT, \
++ domain CHAR(64), maxpopaccounts INTEGER, maxaliases INTEGER, \
++ maxforwards INT, maxautoresponders INT, maxmailinglists INT \
++ diskquota INT, defaultquota INT, disablepop INT, disableimap INT, \
++ disabledialup INT, disablepasswordchanging INT, disablewebmail INT, \
++ disablerelay INT, \
++ INDEX domain_idx (domain)"
++#endif
diff --git a/mail/vpopmail/Makefile b/mail/vpopmail/Makefile
index 3de3111c0243..5aee22d34f39 100644
--- a/mail/vpopmail/Makefile
+++ b/mail/vpopmail/Makefile
@@ -7,11 +7,10 @@
PORTNAME= vpopmail
PORTVERSION= 5.3.9
+PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES= http://www.inter7.com/devel/
-FORBIDDEN= 'Checksum mismatch, new features investigated'
-
MAINTAINER= roam@FreeBSD.org
BUILD_DEPENDS= ${QMAIL_DIR}/bin/qmail-send:${PORTSDIR}/mail/qmail \
@@ -28,7 +27,7 @@ VCFGFILES?= inc_deps lib_deps tcp.smtp
CONFIGURE_ENV+= VCFGDIR="${VCFGDIR}"
CONFIGURE_ARGS= --enable-qmaildir=${QMAIL_DIR} \
- --enable-tcprules-bin=${LOCALBASE}/bin/tcprules \
+ --enable-tcprules-prog=${LOCALBASE}/bin/tcprules \
--enable-tcpserver-file=${PREFIX}/vpopmail/etc/tcp.smtp
#
@@ -82,6 +81,7 @@ CONFIGURE_ARGS= --enable-qmaildir=${QMAIL_DIR} \
# WITH_MYSQL_READ_SERVER, WITH_MYSQL_READ_USER, WITH_MYSQL_READ_PASSWD
# WITH_MYSQL_UPDATE_SERVER, WITH_MYSQL_UPDATE_USER, WITH_MYSQL_UPDATE_PASSWD
# Those variables, if defined, override WITH_MYSQL_{SERVER,USER,PASSWD}
+# WITH_MYSQL_LIMITS - enable vpopmail handling of .qmailadmin-limits (BROKEN)
#
# Oracle database configuration options
#
@@ -177,6 +177,10 @@ CONFIGURE_ARGS+= --enable-mysql-replication=y
.if defined(WITH_MYSQL_LOG)
CONFIGURE_ARGS+= --enable-mysql-logging=y
.endif
+.if defined(WITH_MYSQL_LIMITS)
+BROKEN= "the MySQL limits code is not usable yet; please unset WITH_MYSQL_LIMITS"
+CONFIGURE_ARGS+= --enable-mysql-limits=y
+.endif
.if defined(WITH_MYSQL_SERVER)
WITH_MYSQL_READ_SERVER?= ${WITH_MYSQL_SERVER}
diff --git a/mail/vpopmail/distinfo b/mail/vpopmail/distinfo
index 7343f9a8d72d..d6e0ec11cc6d 100644
--- a/mail/vpopmail/distinfo
+++ b/mail/vpopmail/distinfo
@@ -1 +1 @@
-MD5 (vpopmail-5.3.9.tar.gz) = e54f82cab9ecb2bba4c6343eb0c03b58
+MD5 (vpopmail-5.3.9.tar.gz) = ffe8fa35ab259368ad7f75584c04389a
diff --git a/mail/vpopmail/files/patch-vdelivermail.c b/mail/vpopmail/files/patch-vdelivermail.c
new file mode 100644
index 000000000000..106281226007
--- /dev/null
+++ b/mail/vpopmail/files/patch-vdelivermail.c
@@ -0,0 +1,11 @@
+--- vdelivermail.c.orig Sat Nov 2 22:34:39 2002
++++ vdelivermail.c Sat Nov 2 22:35:20 2002
+@@ -263,7 +263,7 @@
+
+ /* check for wildcard if there's no match */
+ if(tmpstr == NULL) {
+- for(i=strlen(TheUser);i >= 0 && j != 1;--i) {
++ for(i=strlen(TheUser);i > 0 && j != 1;--i) {
+ if(TheUser[i-1]=='-') {
+ tmpuser[0] = '\0';
+ strncat(tmpuser,TheUser,i);
diff --git a/mail/vpopmail/files/patch-vlimits.c b/mail/vpopmail/files/patch-vlimits.c
new file mode 100644
index 000000000000..f784777116d4
--- /dev/null
+++ b/mail/vpopmail/files/patch-vlimits.c
@@ -0,0 +1,29 @@
+--- vlimits.c.orig Sat Nov 2 22:39:03 2002
++++ vlimits.c Sat Nov 2 22:41:10 2002
+@@ -49,7 +49,7 @@
+
+ /* get filename */
+ vget_assign(domain, dir, sizeof(dir), &uid, &gid);
+- strncat(dir, "/.qmailadmin-limits", sizeof(dir));
++ strncat(dir, "/.qmailadmin-limits", sizeof(dir) - strlen(dir) - 1);
+
+ /* open file */
+ if ((fs = fopen(dir, "r")) != NULL) {
+@@ -143,7 +143,7 @@
+
+ /* get filename */
+ vget_assign(domain, dir, sizeof(dir), &uid, &gid);
+- strncat(dir, "/.qmailadmin-limits", sizeof(dir));
++ strncat(dir, "/.qmailadmin-limits", sizeof(dir) - strlen(dir) - 1);
+
+ /* open file */
+ if ((fs = fopen(dir, "w+")) != NULL) {
+@@ -183,7 +183,7 @@
+
+ /* get filename */
+ vget_assign(domain, dir, sizeof(dir), &uid, &gid);
+- strncat(dir, "/.qmailadmin-limits", sizeof(dir));
++ strncat(dir, "/.qmailadmin-limits", sizeof(dir) - strlen(dir) - 1);
+ return unlink(dir);
+ }
+
diff --git a/mail/vpopmail/files/patch-vmysql.h b/mail/vpopmail/files/patch-vmysql.h
new file mode 100644
index 000000000000..347342723a14
--- /dev/null
+++ b/mail/vpopmail/files/patch-vmysql.h
@@ -0,0 +1,15 @@
+--- vmysql.h.orig Sat Nov 2 23:02:32 2002
++++ vmysql.h Sat Nov 2 23:06:01 2002
+@@ -250,3 +250,12 @@
+ INDEX error_idx (error), INDEX message_idx (message)"
+ #endif
+
++#ifdef ENABLE_MYSQL_LIMITS
++#define LIMITS_TABLE_LAYOUT "id BIGINT PRIMARY KEY AUTO_INCREMENT, \
++ domain CHAR(64), maxpopaccounts INTEGER, maxaliases INTEGER, \
++ maxforwards INT, maxautoresponders INT, maxmailinglists INT \
++ diskquota INT, defaultquota INT, disablepop INT, disableimap INT, \
++ disabledialup INT, disablepasswordchanging INT, disablewebmail INT, \
++ disablerelay INT, \
++ INDEX domain_idx (domain)"
++#endif