show the euid/ruid when throwing the "Not running uid freeside" error
[freeside.git] / FS / FS / UID.pm
index 159649a..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 ) {
@@ -108,24 +109,26 @@ sub forksuidsetup {
   warn "$me forksuidsetup connected to database with handle $dbh\n" if $DEBUG;
 
   warn "$me forksuidsetup loading schema\n" if $DEBUG;
-  use FS::Schema qw(reload_dbdef);
+  use FS::Schema qw(reload_dbdef dbdef);
   reload_dbdef("$conf_dir/dbdef.$datasrc")
     unless $FS::Schema::setup_hack;
 
   warn "$me forksuidsetup deciding upon config system to use\n" if $DEBUG;
 
-  my $confcount = 0;
+  if ( ! $FS::Schema::setup_hack && dbdef->table('conf') ) {
 
-  my $sth = $dbh->prepare("SELECT COUNT(*) FROM conf");
-  if ( $sth ) {
+    my $sth = $dbh->prepare("SELECT COUNT(*) FROM conf") or die $dbh->errstr;
     $sth->execute or die $sth->errstr;
-    $confcount = $sth->fetchrow_arrayref->[0];
-  }
+    my $confcount = $sth->fetchrow_arrayref->[0];
+  
+    if ($confcount) {
+      $use_confcompat = 0;
+    }else{
+      warn "NO CONFIGURATION RECORDS FOUND";
+    }
 
-  if ($confcount) {
-    $use_confcompat = 0;
-  }else{
-    warn "NO CONFIGURATION RECORDS FOUND";
+  } else {
+    warn "NO CONFIGURATION TABLE FOUND";
   }
 
   unless ( $callback_hack ) {