On Sun, Feb 06, 2005 at 02:25:05AM +0100, Peter Palfrader wrote: > The solution then is to make a directory below var/run/ and run the > daemon as a dedicated user (or daemon). for instance > var/run/anon-proxy/foo.pid
A patch to do this is attached. Cheers, -- [ Todd J. Troxell ,''`. Student, Debian GNU/Linux Developer, SysAdmin, Geek : :' : http://debian.org || http://rapidpacket.com/~xtat `. `' `- ]
Only in /home/xtat/dev/anon-proxy/anon-proxy-00.02.39: build-stamp diff -ru /tmp/anon-proxy-00.02.39/config.guess /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/config.guess --- /tmp/anon-proxy-00.02.39/config.guess 2005-02-06 22:11:14.000000000 -0500 +++ /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/config.guess 2005-02-06 23:28:16.000000000 -0500 @@ -3,7 +3,7 @@ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. -timestamp='2004-08-13' +timestamp='2004-11-12' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -319,6 +319,9 @@ *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit 0 ;; *:OS400:*:*) echo powerpc-ibm-os400 exit 0 ;; @@ -342,7 +345,7 @@ DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit 0 ;; - DRS?6000:UNIX_SV:4.2*:7*) + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7 && exit 0 ;; esac ;; @@ -824,6 +827,12 @@ cris:Linux:*:*) echo cris-axis-linux-gnu exit 0 ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit 0 ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; @@ -1241,7 +1250,10 @@ A*) echo alpha-dec-vms && exit 0 ;; I*) echo ia64-dec-vms && exit 0 ;; V*) echo vax-dec-vms && exit 0 ;; - esac + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 Only in /home/xtat/dev/anon-proxy/anon-proxy-00.02.39: config.log Only in /home/xtat/dev/anon-proxy/anon-proxy-00.02.39: config.status diff -ru /tmp/anon-proxy-00.02.39/config.sub /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/config.sub --- /tmp/anon-proxy-00.02.39/config.sub 2005-02-06 22:11:14.000000000 -0500 +++ /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/config.sub 2005-02-06 23:28:15.000000000 -0500 @@ -3,7 +3,7 @@ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. -timestamp='2004-06-24' +timestamp='2004-11-30' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -267,7 +267,7 @@ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ - | x86 | xscale | xstormy16 | xtensa \ + | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; @@ -343,8 +343,8 @@ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ - | xtensa-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; @@ -457,6 +457,9 @@ crds | unos) basic_machine=m68k-crds ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; @@ -486,6 +489,10 @@ basic_machine=m88k-motorola os=-sysv3 ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx @@ -1026,6 +1033,10 @@ basic_machine=hppa1.1-winbond os=-proelf ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; xps | xps100) basic_machine=xps100-honeywell ;; @@ -1294,6 +1305,9 @@ -kaos*) os=-kaos ;; + -zvmoe) + os=-zvmoe + ;; -none) ;; *) Only in /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian: anon-proxy diff -ru /tmp/anon-proxy-00.02.39/debian/anon-proxy.init /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian/anon-proxy.init --- /tmp/anon-proxy-00.02.39/debian/anon-proxy.init 2005-02-06 22:11:14.000000000 -0500 +++ /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian/anon-proxy.init 2005-02-06 23:42:39.778922424 -0500 @@ -15,6 +15,9 @@ DAEMON=/usr/sbin/proxytest NAME=anon-proxy DESC="Anonymising Proxy Service" +USER=anon-proxy +GROUP=nogroup +PIDFILE=/var/run/anon-proxy/proxytest.pid echo "!!! YOU HAVE TO CONFIGURE THE LOCAL PROXY PORT FIRST! CALL \"dpkg-reconfigure anon-proxy\" !!!" && exit 1 OPTIONS="-j -p #PORT# -n 132.199.134.2:3000 -a -d" @@ -26,13 +29,14 @@ case "$1" in start) echo -n "Starting $DESC: $NAME" - start-stop-daemon --start --quiet -c nobody:nogroup --pidfile /var/run/$NAME.pid \ - --exec $DAEMON -- $OPTIONS > /dev/null 2>&1 + start-stop-daemon --start --quiet -c $USER:$GROUP --pidfile $PIDFILE \ + --exec $DAEMON -- $OPTIONS > /dev/null 2>&1 || true + echo "." ;; stop) echo -n "Stopping $DESC: $NAME" - /usr/bin/killall -9 proxytest || exit 0 + start-stop-daemon --quiet --stop --pidfile $PIDFILE --exec $DAEMON || true echo "." ;; #reload) @@ -54,11 +58,10 @@ # just the same as "restart". # echo -n "Restarting $DESC: $NAME" - start-stop-daemon --stop --quiet --pidfile \ - /var/run/$NAME.pid --exec $DAEMON + start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON || true sleep 1 - start-stop-daemon --start --quiet --pidfile \ - /var/run/$NAME.pid --exec $DAEMON + start-stop-daemon --start --quiet -c $USER:$GROUP --pidfile $PIDFILE \ + --exec $DAEMON -- $OPTIONS > /dev/null 2>&1 || true echo "." ;; *) Only in /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian: anon-proxy.postrm.debhelper Only in /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian: anon-proxy.substvars diff -ru /tmp/anon-proxy-00.02.39/debian/dirs /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian/dirs --- /tmp/anon-proxy-00.02.39/debian/dirs 2005-02-06 22:11:15.000000000 -0500 +++ /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian/dirs 2005-02-06 18:59:58.000000000 -0500 @@ -2,3 +2,4 @@ etc/init.d usr/share/doc usr/share/man/man8 +var/run/anon-proxy Only in /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian: files diff -ru /tmp/anon-proxy-00.02.39/debian/postinst /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian/postinst --- /tmp/anon-proxy-00.02.39/debian/postinst 2005-02-06 22:11:15.000000000 -0500 +++ /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian/postinst 2005-02-06 23:28:04.000000000 -0500 @@ -37,6 +37,11 @@ db_get anon-proxy/remember && START=$RET db_stop + if ! getent passwd anon-proxy > /dev/null; then + adduser --quiet --system --no-create-home \ + --home /var/run/anon-proxy anon-proxy || true + fi + cp /etc/init.d/anon-proxy /etc/init.d/anon-proxy.old sed -e "s/^.*dpkg-reconfigure.*$//" -e "s/\#PORT\#/$PORT/" \ /etc/init.d/anon-proxy.old > /etc/init.d/anon-proxy @@ -58,11 +63,15 @@ fi rm -f $EE.tmp + if dpkg --compare-versions "$2" lt "0.02.39-4"; then + if [ -d /var/run/anon-proxy ]; then + chown anon-proxy /var/run/anon-proxy || true + fi + fi update-rc.d anon-proxy defaults 20 >/dev/null 2>&1 if [ "$START" = "true" ] ; then - /etc/init.d/anon-proxy stop - /etc/init.d/anon-proxy start + /etc/init.d/anon-proxy restart fi; ;; diff -ru /tmp/anon-proxy-00.02.39/debian/postrm /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian/postrm --- /tmp/anon-proxy-00.02.39/debian/postrm 2005-02-06 22:11:15.000000000 -0500 +++ /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/debian/postrm 2005-02-06 22:27:09.000000000 -0500 @@ -19,15 +19,20 @@ case "$1" in - purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + purge) update-rc.d -f anon-proxy remove >/dev/null 2>&1 - if [ "$1" = "purge" -a -e /usr/share/debconf/confmodule ]; then + if [ -e /usr/share/debconf/confmodule ]; then # Source debconf library. . /usr/share/debconf/confmodule # Remove my changes to the db. db_purge fi - + + deluser --remove-home anon-proxy > /dev/null 2>&1 || true + + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; Only in /home/xtat/dev/anon-proxy/anon-proxy-00.02.39: .deps Only in /home/xtat/dev/anon-proxy/anon-proxy-00.02.39: Makefile diff -ru /tmp/anon-proxy-00.02.39/proxytest.cpp /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/proxytest.cpp --- /tmp/anon-proxy-00.02.39/proxytest.cpp 2003-11-28 04:28:55.000000000 -0500 +++ /home/xtat/dev/anon-proxy/anon-proxy-00.02.39/proxytest.cpp 2005-02-06 21:38:51.000000000 -0500 @@ -62,6 +62,9 @@ #include "CAFirstMixNewProtocol.hpp" #include "CALastMixNewProtocol.hpp" #endif + +#define PIDFILE "/var/run/anon-proxy/proxytest.pid" + //#include "CAPayment.hpp" //#ifdef _WIN32 //HANDLE hEventThreadEnde; @@ -367,7 +370,8 @@ // UINT16 timestamp; // currentTimestamp((UINT8*)×tamp); pMix=NULL; - + // PID File + FILE *pf; int i; SINT32 maxFiles; //Setup Routines @@ -657,6 +661,11 @@ pid=fork(); if(pid!=0) exit(0); + pf = fopen(PIDFILE, "w"); + if (pf == NULL) + fprintf(stderr, "Unable to write pidfile.\n"); + fprintf(pf, "%d\n", getpid()); + fclose(pf); setsid(); #ifndef DO_TRACE chdir("/");
signature.asc
Description: Digital signature