summaryrefslogtreecommitdiff
path: root/mail/vpopmail-devel
diff options
context:
space:
mode:
authorAlex Dupre <ale@FreeBSD.org>2004-04-19 12:37:06 +0000
committerAlex Dupre <ale@FreeBSD.org>2004-04-19 12:37:06 +0000
commitcfe00cb6bb60b7867f56c7f0dfa5b254312f6a38 (patch)
treeb20bb0e70bd9183ac217cc5441704bdca52c0267 /mail/vpopmail-devel
parentResolve naming conflict with mail/p5-Mail-Box. (diff)
Fix a file descriptor leak in opensmtp().
Obtained from: vpopmail CVS via oliver, roam and Michael Bowe <mbowe@pipeline.com.au>
Notes
Notes: svn path=/head/; revision=107580
Diffstat (limited to 'mail/vpopmail-devel')
-rw-r--r--mail/vpopmail-devel/Makefile1
-rw-r--r--mail/vpopmail-devel/files/patch-vpopmail.c45
2 files changed, 46 insertions, 0 deletions
diff --git a/mail/vpopmail-devel/Makefile b/mail/vpopmail-devel/Makefile
index 5fe1f09ed9a3..fb0bc5a5021a 100644
--- a/mail/vpopmail-devel/Makefile
+++ b/mail/vpopmail-devel/Makefile
@@ -7,6 +7,7 @@
PORTNAME= vpopmail
PORTVERSION= 5.5.0
+PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED}
MASTER_SITE_SUBDIR= ${PORTNAME}
diff --git a/mail/vpopmail-devel/files/patch-vpopmail.c b/mail/vpopmail-devel/files/patch-vpopmail.c
new file mode 100644
index 000000000000..71c6d5e4bed1
--- /dev/null
+++ b/mail/vpopmail-devel/files/patch-vpopmail.c
@@ -0,0 +1,45 @@
+--- vpopmail.c.orig Mon Mar 1 16:33:32 2004
++++ vpopmail.c Sun Apr 18 01:11:37 2004
+@@ -2462,6 +2462,11 @@
+
+ mytime = time(NULL);
+
++ ipaddr = get_remote_ip();
++ if ( ipaddr == NULL ) {
++ return 0;
++ }
++
+ #ifdef FILE_LOCKING
+ /* by default the OPEN_SMTP_LOK_FILE is ~vpopmail/etc/open-smtp.lock */
+ if ( (fs_lok_file=fopen(OPEN_SMTP_LOK_FILE, "w+")) == NULL) return(-1);
+@@ -2481,10 +2486,10 @@
+ }
+ }
+
+- /* by default the OPEN_SMTP_TMP_FILE is ~vpopmail/etc/open-smtp.tmp */
++ /* by default the OPEN_SMTP_TMP_FILE is ~vpopmail/etc/open-smtp.tmp.pid */
+ snprintf(open_smtp_tmp_filename, sizeof(open_smtp_tmp_filename),
+ "%s.%lu", OPEN_SMTP_TMP_FILE, (long unsigned)getpid());
+- /* create the tmp file as open-smtp.tmp.pid */
++ /* create the tmp file */
+ fs_tmp_file = fopen(open_smtp_tmp_filename, "w+");
+
+ if ( fs_tmp_file == NULL ) {
+@@ -2493,17 +2498,6 @@
+ fclose(fs_lok_file);
+ #endif /* FILE_LOCKING */
+ /* failed to create the tmp file */
+- return(-1);
+- }
+-
+- ipaddr = get_remote_ip();
+-
+- if ( ipaddr == NULL ) {
+-#ifdef FILE_LOCKING
+- unlock_lock(fileno(fs_lok_file), 0, SEEK_SET, 0);
+- fclose(fs_lok_file);
+-#endif /* FILE_LOCKING */
+- /* failed to get user's ip address */
+ return(-1);
+ }
+