summaryrefslogtreecommitdiff
path: root/fs_selfservice/FS-SelfService
diff options
context:
space:
mode:
authorivan <ivan>2005-03-29 22:41:10 +0000
committerivan <ivan>2005-03-29 22:41:10 +0000
commit36939d45fbe729c953a81354030bedcb17fad91f (patch)
treee22b622b495bf85fc1174895b5b5fb355d61334c /fs_selfservice/FS-SelfService
parent144aa1ef3dc3e0dbc2d32edf1dde1ad88da5afe0 (diff)
better self-service debugging, don't point to install.html for suEXEC/setuid in self-service setup docs
Diffstat (limited to 'fs_selfservice/FS-SelfService')
-rw-r--r--fs_selfservice/FS-SelfService/SelfService.pm12
1 files changed, 9 insertions, 3 deletions
diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm
index 6e3ca3b5a..0f581758b 100644
--- a/fs_selfservice/FS-SelfService/SelfService.pm
+++ b/fs_selfservice/FS-SelfService/SelfService.pm
@@ -1,7 +1,7 @@
package FS::SelfService;
use strict;
-use vars qw($VERSION @ISA @EXPORT_OK $socket %autoload $tag);
+use vars qw($VERSION @ISA @EXPORT_OK $dir $socket %autoload $tag);
use Exporter;
use Socket;
use FileHandle;
@@ -13,7 +13,8 @@ $VERSION = '0.03';
@ISA = qw( Exporter );
-$socket = "/usr/local/freeside/selfservice_socket";
+$dir = "/usr/local/freeside";
+$socket = "$dir/selfservice_socket";
$socket .= '.'.$tag if defined $tag && length($tag);
#maybe should ask ClientAPI for this list
@@ -57,6 +58,11 @@ $ENV{'BASH_ENV'} = '';
my $freeside_uid = scalar(getpwnam('freeside'));
die "not running as the freeside user\n" if $> != $freeside_uid;
+-e $dir or die "FATAL: $dir doesn't exist!";
+-d $dir or die "FATAL: $dir isn't a directory!";
+-r $dir or die "FATAL: Can't read $dir as freeside user!";
+-x $dir or die "FATAL: $dir not searchable (executable) as freeside user!";
+
foreach my $autoload ( keys %autoload ) {
my $eval =
@@ -81,7 +87,7 @@ foreach my $autoload ( keys %autoload ) {
sub simple_packet {
my $packet = shift;
socket(SOCK, PF_UNIX, SOCK_STREAM, 0) or die "socket: $!";
- connect(SOCK, sockaddr_un($socket)) or die "connect: $!";
+ connect(SOCK, sockaddr_un($socket)) or die "connect to $socket: $!";
nstore_fd($packet, \*SOCK) or die "can't send packet: $!";
SOCK->flush;