X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FMason.pm;h=60e377953672cc91008822c804eb30b3499ae972;hb=70cc4f4c76ea1e320f2d6d4cccc0f056bf2af537;hp=651cc95a462289ca6f7d25dd3936bfbb4b3312ba;hpb=06809c379e25e6753d39ca79a39c977e5194c696;p=freeside.git

diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm
index 651cc95a4..60e377953 100644
--- a/FS/FS/Mason.pm
+++ b/FS/FS/Mason.pm
@@ -99,7 +99,7 @@ if ( -e $addl_handler_use_file ) {
   use Excel::Writer::XLSX;
   #use Excel::Writer::XLSX::Utility; #redundant with above
 
-  use Business::CreditCard 0.30; #for mask-aware cardtype()
+  use Business::CreditCard 0.35; #for new mastercard ranges and visa lengths
   use NetAddr::IP;
   use Net::MAC::Vendor;
   use Net::Ping;
@@ -123,6 +123,7 @@ if ( -e $addl_handler_use_file ) {
   use HTML::Widgets::SelectLayers 0.07; #should go away in favor of
                                         #selectlayers.html
   use Locale::Country;
+  use Number::Phone::Country qw( noexport );
   use Business::US::USPS::WebTools::AddressStandardization;
   use Geo::GoogleEarth::Pluggable;
   use LWP::UserAgent;
@@ -150,7 +151,8 @@ if ( -e $addl_handler_use_file ) {
   use FS::Report::Table;
   use FS::Report::Table::Monthly;
   use FS::Report::Table::Daily;
-  use FS::Report::Tax;
+  use FS::Report::Tax::ByName;
+  use FS::Report::Tax::All;
   use FS::TicketSystem;
   use FS::NetworkMonitoringSystem;
   use FS::Tron qw( tron_lint );
@@ -391,6 +393,8 @@ if ( -e $addl_handler_use_file ) {
   use FS::fiber_olt;
   use FS::olt_site;
   use FS::access_user_page_pref;
+  use FS::part_svc_msgcat;
+  use FS::saved_search;
   # Sammath Naur
 
   if ( $FS::Mason::addl_handler_use ) {
@@ -462,7 +466,7 @@ if ( -e $addl_handler_use_file ) {
     use vars qw($m);
 
     # false laziness w/below
-    if ( defined(@DBIx::Profile::ISA) ) {
+    if ( @DBIx::Profile::ISA ) {
 
       if ( $FS::CurrentUser::CurrentUser->option('show_db_profile') ) {
 
@@ -522,7 +526,7 @@ if ( -e $addl_handler_use_file ) {
     use vars qw($m);
     $m->clear_buffer;
     #false laziness w/above
-    if ( defined(@DBIx::Profile::ISA) ) {
+    if ( @DBIx::Profile::ISA ) {
 
       if ( $FS::CurrentUser::CurrentUser->option('show_db_profile') ) {
 
@@ -560,7 +564,7 @@ if ( -e $addl_handler_use_file ) {
 
 } # end package HTML::Mason::Commands;
 
-=head1 SUBROUTINE
+=head1 SUBROUTINES
 
 =over 4
 
@@ -655,6 +659,35 @@ sub mason_interps {
 
 }
 
+=item child_init
+
+Per-process Apache child initialization code.
+
+Calls srand() to re-seed Perl's PRNG so that multiple children do not generate
+the same "random" numbers.
+
+Works around a Net::SSLeay connection error by creating and deleting an SSL
+context, so subsequent connections do not error out with a CTX_new (900 NET OR
+SSL ERROR).  See http://bugs.debian.org/830152
+
+=cut
+
+sub child_init {
+  #my ($pool, $server) = @_; #the child process pool (APR::Pool) and the server object (Apache2::ServerRec).
+
+  srand();
+
+  #{
+    use Net::SSLeay;
+    package Net::SSLeay;
+    initialize();
+    my $bad_ctx = new_x_ctx();
+    while ( ERR_get_error() ) {}; #print_errs('CTX_new');
+    CTX_free($bad_ctx);
+  #}
+
+}
+
 =back
 
 =head1 BUGS