X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2Fbin%2Ffreeside-selfservice-server;h=c045893d18dc1afe646a2fea182a816f8bbf05af;hp=ad100e83a8fc28645eae2af73de457eb7259a1ab;hb=0247c39288b477060509240ef23a5e7b6bfcd8f8;hpb=07fd88f7c0cd757eb2f8e635b71acebe6a944602 diff --git a/FS/bin/freeside-selfservice-server b/FS/bin/freeside-selfservice-server index ad100e83a..c045893d1 100644 --- a/FS/bin/freeside-selfservice-server +++ b/FS/bin/freeside-selfservice-server @@ -41,7 +41,6 @@ my $tag = scalar(@ARGV) ? shift : ''; my $pid_file = "/var/run/freeside-selfservice-server.$user.$machine.pid"; my $lock_file = "/usr/local/etc/freeside/selfservice.$machine.writelock"; -open(LOCKFILE,">$lock_file") or die "can't open $lock_file: $!"; &init($user); @@ -138,6 +137,7 @@ while (1) { } $rv->{_token} = $packet->{_token}; #identifier + open(LOCKFILE,">$lock_file") or die "can't open $lock_file: $!"; lock_write; warn "sending response\n" if $Debug; nstore_fd($rv, $writer) or die "FATAL: can't send response: $!"; @@ -200,6 +200,10 @@ sub init { #false laziness w/freeside-queued my $freeside_gid = scalar(getgrnam('freeside')) or die "can't setgid to freeside group\n"; + + open(LOCKFILE,">$lock_file") or die "can't open $lock_file: $!"; + chown $FS::UID::freeside_uid, $freeside_gid, $lock_file; + $) = $freeside_gid; $( = $freeside_gid; #if freebsd can't setuid(), presumably it can't setgid() either. grr fleabsd @@ -214,7 +218,7 @@ sub init { #eslaf $ENV{HOME} = (getpwuid($>))[7]; #for ssh - #adminsuidsetup $user; + adminsuidsetup $user; #$log_file = "/usr/local/etc/freeside/selfservice.". $FS::UID::datasrc; #MACHINE NAME $log_file = "/usr/local/etc/freeside/selfservice.$machine.log";