X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FInitHandler.pm;h=45bf1acfaef0ab9406350366068e694731209db6;hb=62ab6a5c3fbececbc753691fa2288cfeb8531602;hp=9a2154aa1a413d344c80e7f95ec712ebfec7adf0;hpb=0da4c69a66e13410b0eff18966e13170d1306f22;p=freeside.git diff --git a/FS/FS/InitHandler.pm b/FS/FS/InitHandler.pm index 9a2154aa1..45bf1acfa 100644 --- a/FS/FS/InitHandler.pm +++ b/FS/FS/InitHandler.pm @@ -1,12 +1,15 @@ package FS::InitHandler; use strict; +use vars qw($DEBUG); use FS::UID qw(adminsuidsetup); use FS::Record; +$DEBUG = 1; + sub handler { -=pod +#=pod use Date::Format; use Date::Parse; @@ -59,17 +62,31 @@ sub handler { =cut + warn "[FS::InitHandler] handler called\n" if $DEBUG; + + #this is sure to be broken on freebsd + $> = $FS::UID::freeside_uid; + open(MAPSECRETS,"<$FS::UID::conf_dir/mapsecrets") or die "can't read $FS::UID::conf_dir/mapsecrets: $!"; + my %seen; while () { - /^([\w\-\.]+)\s/ or do { warn "strange line in mapsecrets: $_"; next; }; - my $user = $1; + next if /^\s*(#|$)/; + /^([\w\-\.]+)\s(.*)$/ + or do { warn "strange line in mapsecrets: $_"; next; }; + my($user, $datasrc) = ($1, $2); + next if $seen{$datasrc}++; + warn "[FS::InitHandler] preloading $datasrc for $user\n" if $DEBUG; adminsuidsetup($user); } close MAPSECRETS; + #lalala probably broken on freebsd + ($<, $>) = ($>, $<); + $< = 0; + } 1;