Date: Sun, 4 Sep 2005 12:12:44 +0400 (MSD) From: "Alex L. Demidov" <alexd@vinf.ru> To: FreeBSD-gnats-submit@FreeBSD.org Cc: clsung@FreeBSD.org Subject: ports/85706: clamsmtp working only in debug mode (fix included) Message-ID: <200509040812.j848Chta030178@texaco.vinf.ru> Resent-Message-ID: <200509040820.j848KB4X077063@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 85706 >Category: ports >Synopsis: clamsmtp working only in debug mode (fix included) >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Sun Sep 04 08:20:11 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Alex L. Demidov >Release: FreeBSD 5.4-RELEASE i386 >Organization: Variant-Inform ISP (www.vinf.ru) >Environment: System: FreeBSD texaco.vinf.ru 5.4-RELEASE FreeBSD 5.4-RELEASE #6: Thu May 12 00:46:23 MSD 2005 root@texaco:/usr/obj/usr/src/sys/TEXACO i386 >Description: clamsmtp 1.5 works only in debug mode. Included patch fix this bug by moving socket creation after daemonizing as suggested in mailing list clamsmtp-users@lists.sourceforge.net http://sourceforge.net/mailarchive/forum.php?thread_id=8060741&forum_id=42732 >How-To-Repeat: >Fix: diff -urN clamsmtp.orig/Makefile clamsmtp/Makefile --- clamsmtp.orig/Makefile Sun Sep 4 03:17:22 2005 +++ clamsmtp/Makefile Sun Sep 4 11:56:09 2005 @@ -7,7 +7,7 @@ PORTNAME= clamsmtp PORTVERSION= 1.5 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= security MASTER_SITES= http://memberwebs.com/nielsen/software/clamsmtp/ diff -urN clamsmtp.orig/files/clamsmtpd.sh.tmpl clamsmtp/files/clamsmtpd.sh.tmpl --- clamsmtp.orig/files/clamsmtpd.sh.tmpl Sun Sep 4 03:17:22 2005 +++ clamsmtp/files/clamsmtpd.sh.tmpl Sun Sep 4 11:54:45 2005 @@ -24,9 +24,8 @@ 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"} -command_args="-f ${clamsmtpd_conf} -p ${clamsmtpd_pid} -d ${clamsmtpd_debug}" +command_args="-f ${clamsmtpd_conf} -p ${clamsmtpd_pid}" pidfile=${clamsmtpd_pid} diff -urN clamsmtp.orig/files/patch-smtppass.c clamsmtp/files/patch-smtppass.c --- clamsmtp.orig/files/patch-smtppass.c Thu Jan 1 03:00:00 1970 +++ clamsmtp/files/patch-smtppass.c Sun Sep 4 11:53:53 2005 @@ -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 */ >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200509040812.j848Chta030178>