aboutsummaryrefslogtreecommitdiff
path: root/mail/vpopmail
diff options
context:
space:
mode:
authorPeter Pentchev <roam@FreeBSD.org>2010-01-14 09:18:15 +0000
committerPeter Pentchev <roam@FreeBSD.org>2010-01-14 09:18:15 +0000
commitf9cb77f98a5e9758771cd6d226caea1478ab3f1f (patch)
treea1565d4a8cc0e0ee8203cb9f69b1563758b531b2 /mail/vpopmail
parent837badd2115f529c4ef2619c1b6821d629542331 (diff)
downloadports-f9cb77f98a5e9758771cd6d226caea1478ab3f1f.tar.gz
ports-f9cb77f98a5e9758771cd6d226caea1478ab3f1f.zip
Add an upstream patch as another attempt to fix the vdelivermail
segfault. Submitted by: ale
Notes
Notes: svn path=/head/; revision=247860
Diffstat (limited to 'mail/vpopmail')
-rw-r--r--mail/vpopmail/Makefile1
-rw-r--r--mail/vpopmail/files/patch-client.c49
2 files changed, 50 insertions, 0 deletions
diff --git a/mail/vpopmail/Makefile b/mail/vpopmail/Makefile
index 77f402199cb2..5747137adb22 100644
--- a/mail/vpopmail/Makefile
+++ b/mail/vpopmail/Makefile
@@ -7,6 +7,7 @@
PORTNAME= vpopmail
PORTVERSION= 5.4.30
+PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-stable/${PORTVERSION} \
SF/${PORTNAME}/${PORTNAME}-devel/${PORTVERSION}
diff --git a/mail/vpopmail/files/patch-client.c b/mail/vpopmail/files/patch-client.c
new file mode 100644
index 000000000000..3b3ecd27a5ea
--- /dev/null
+++ b/mail/vpopmail/files/patch-client.c
@@ -0,0 +1,49 @@
+Description: Fix a segfault when vpopmaild is not used.
+Origin: upstream; http://vpopmail.svn.sourceforge.net/viewvc/vpopmail/tags/v5_4_31/client.c?r1=979&r2=984&view=patch
+Last-Update: 2010-01-14
+
+--- a/client.c
++++ b/client.c
+@@ -65,13 +65,15 @@
+ fd_set wfds;
+ client_handle_t *handle = NULL;
+
++ timeout = CLIENT_SERVER_TIMEOUT;
++ memset(socket_file, 0, sizeof(socket_file));
++
+ /*
+ Load configuration file
+ */
+
+ config = config_begin("vusagec.conf");
+- if (config == NULL)
+- fprintf(stderr, "client_connect: warning: config_begin failed\n");
++ if (config) {
+
+ /*
+ Disabled?
+@@ -89,7 +91,6 @@
+ Get timeout
+ */
+
+- timeout = CLIENT_SERVER_TIMEOUT;
+ str = config_fetch_by_name(config, "Server", "Timeout");
+ if (str) {
+ fl = atoi(str);
+@@ -103,8 +104,6 @@
+ Determine connection type
+ */
+
+- memset(socket_file, 0, sizeof(socket_file));
+-
+ str = config_fetch_by_name(config, "Server", "Remote");
+ if (str) {
+ ret = ippp_parse(str, &addr);
+@@ -131,6 +130,7 @@
+ }
+
+ config_kill(config);
++ }
+
+ /*
+ Allocate a socket