aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--security/clamsmtp/Makefile2
-rw-r--r--security/clamsmtp/files/clamsmtpd.sh.tmpl4
-rw-r--r--security/clamsmtp/files/patch-smtppass.c57
3 files changed, 60 insertions, 3 deletions
diff --git a/security/clamsmtp/Makefile b/security/clamsmtp/Makefile
index 1dc38fc2277b..154c92157d56 100644
--- a/security/clamsmtp/Makefile
+++ b/security/clamsmtp/Makefile
@@ -7,7 +7,7 @@
PORTNAME= clamsmtp
PORTVERSION= 1.5
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= security
MASTER_SITES= http://memberwebs.com/nielsen/software/clamsmtp/
diff --git a/security/clamsmtp/files/clamsmtpd.sh.tmpl b/security/clamsmtp/files/clamsmtpd.sh.tmpl
index 7ff927455b64..2db6f5fa963e 100644
--- a/security/clamsmtp/files/clamsmtpd.sh.tmpl
+++ b/security/clamsmtp/files/clamsmtpd.sh.tmpl
@@ -24,9 +24,9 @@ load_rc_config ${name}
clamsmtpd_enable=${clamsmtpd_enable-"NO"}
clamsmtpd_conf=${clamsmtpd_conf-"%%PREFIX%%/etc/clamsmtpd.conf"}
clamsmtpd_pid=${clamsmtpd_pid-"%%CLAMAV_PID_DIR%%/clamsmtpd.pid"}
-clamsmtpd_debug=${clamsmtpd_debug-"4"}
+clamsmtpd_debug=${clamsmtpd_debug-"0"}
-command_args="-f ${clamsmtpd_conf} -p ${clamsmtpd_pid} -d ${clamsmtpd_debug}"
+command_args="-f ${clamsmtpd_conf} -p ${clamsmtpd_pid}"
pidfile=${clamsmtpd_pid}
diff --git a/security/clamsmtp/files/patch-smtppass.c b/security/clamsmtp/files/patch-smtppass.c
new file mode 100644
index 000000000000..484d4f825a96
--- /dev/null
+++ b/security/clamsmtp/files/patch-smtppass.c
@@ -0,0 +1,57 @@
+diff -ur ../clamsmtp-1.5-orig/common/smtppass.c common/smtppass.c
+--- common/smtppass.c Tue Aug 2 01:23:05 2005
++++ common/smtppass.c Sun Sep 4 11:52:13 2005
+@@ -275,6 +275,26 @@
+
+ sp_messagex(NULL, LOG_DEBUG, "starting up (%s)...", VERSION);
+
++ /* Drop privileges before daemonizing */
++ drop_privileges();
++
++ /* When set to this we daemonize */
++ if(g_state.debug_level == -1)
++ {
++ /* Fork a daemon nicely here */
++ if(daemon(0, 0) == -1)
++ {
++ sp_message(NULL, LOG_ERR, "couldn't run as daemon");
++ exit(1);
++ }
++
++ sp_messagex(NULL, LOG_DEBUG, "running as a daemon");
++ g_state.daemonized = 1;
++
++ /* Open the system log */
++ openlog(g_state.name, 0, LOG_MAIL);
++ }
++
+ /* Create the socket */
+ sock = socket(SANY_TYPE(g_state.listenaddr), SOCK_STREAM, 0);
+ if(sock < 0)
+@@ -297,26 +317,6 @@
+ exit(1);
+ }
+
+- /* Drop privileges before daemonizing */
+- drop_privileges();
+-
+- /* When set to this we daemonize */
+- if(g_state.debug_level == -1)
+- {
+- /* Fork a daemon nicely here */
+- if(daemon(0, 0) == -1)
+- {
+- sp_message(NULL, LOG_ERR, "couldn't run as daemon");
+- exit(1);
+- }
+-
+- sp_messagex(NULL, LOG_DEBUG, "running as a daemon");
+- g_state.daemonized = 1;
+-
+- /* Open the system log */
+- openlog(g_state.name, 0, LOG_MAIL);
+- }
+-
+ sp_messagex(NULL, LOG_DEBUG, "created socket: %s", g_state.listenname);
+
+ /* Handle some signals */