show the euid/ruid when throwing the "Not running uid freeside" error
[freeside.git] / FS / FS / UID.pm
index a94e90f..a6b4c4b 100644 (file)
@@ -3,7 +3,7 @@ package FS::UID;
 use strict;
 use vars qw(
   @ISA @EXPORT_OK $DEBUG $me $cgi $dbh $freeside_uid $user 
-  $conf_dir $secrets $datasrc $db_user $db_pass %callback @callback
+  $conf_dir $cache_dir $secrets $datasrc $db_user $db_pass %callback @callback
   $driver_name $AutoCommit $callback_hack $use_confcompat
 );
 use subs qw(
@@ -25,7 +25,8 @@ $me = '[FS::UID]';
 
 $freeside_uid = scalar(getpwnam('freeside'));
 
-$conf_dir = "%%%FREESIDE_CONF%%%";
+$conf_dir  = "%%%FREESIDE_CONF%%%";
+$cache_dir = "%%%FREESIDE_CACHE%%%";
 
 $AutoCommit = 1; #ours, not DBI
 $use_confcompat = 1;
@@ -97,7 +98,7 @@ sub forksuidsetup {
   $ENV{'ENV'} = '';
   $ENV{'BASH_ENV'} = '';
 
-  croak "Not running uid freeside!" unless checkeuid();
+  croak "Not running uid freeside (\$>=$>, \$<=$<)\n" unless checkeuid();
 
   warn "$me forksuidsetup connecting to database\n" if $DEBUG;
   if ( $FS::CurrentUser::upgrade_hack && $olduser ) {
@@ -114,13 +115,10 @@ sub forksuidsetup {
 
   warn "$me forksuidsetup deciding upon config system to use\n" if $DEBUG;
 
-  my $sth = '';
-  if ( dbdef->table('conf')
-       and $sth = $dbh->prepare("SELECT COUNT(*) FROM conf")
-       and $sth->execute
-     )
-  {
+  if ( ! $FS::Schema::setup_hack && dbdef->table('conf') ) {
 
+    my $sth = $dbh->prepare("SELECT COUNT(*) FROM conf") or die $dbh->errstr;
+    $sth->execute or die $sth->errstr;
     my $confcount = $sth->fetchrow_arrayref->[0];
   
     if ($confcount) {