[freeside-commits] branch master updated. 4314d9e0da1486cead65bc75ee0ab4351d49555e

Ivan ivan at 420.am
Wed Jul 6 11:11:32 PDT 2016


The branch, master has been updated
       via  4314d9e0da1486cead65bc75ee0ab4351d49555e (commit)
      from  7d38afc8a7175c836721400f3b08f84f1c20ea4f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 4314d9e0da1486cead65bc75ee0ab4351d49555e
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Wed Jul 6 11:11:31 2016 -0700

    fix intermittent 900 NET OR SSL error, RT#42648

diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm
index 7b4db99..24ddf79 100644
--- a/FS/FS/Mason.pm
+++ b/FS/FS/Mason.pm
@@ -573,7 +573,7 @@ if ( -e $addl_handler_use_file ) {
 
 } # end package HTML::Mason::Commands;
 
-=head1 SUBROUTINE
+=head1 SUBROUTINES
 
 =over 4
 
@@ -669,6 +669,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).
+
+=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
diff --git a/htetc/freeside-base2.conf b/htetc/freeside-base2.conf
index e981ef2..309279d 100644
--- a/htetc/freeside-base2.conf
+++ b/htetc/freeside-base2.conf
@@ -6,12 +6,11 @@ PerlModule HTML::Mason
 PerlSetVar MasonArgsMethod CGI
 PerlModule HTML::Mason::ApacheHandler
 
-PerlChildInitHandler "sub { srand }"
-
 PerlRequire "%%%MASON_HANDLER%%%"
 
+PerlChildInitHandler FS::Mason::child_init
+
 #Locale::SubCountry
-#
 AddDefaultCharset UTF-8
 
 PerlModule FS::AuthCookieHandler

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/Mason.pm            |   31 ++++++++++++++++++++++++++++++-
 htetc/freeside-base2.conf |    5 ++---
 2 files changed, 32 insertions(+), 4 deletions(-)




More information about the freeside-commits mailing list