[freeside-commits] branch master updated. 1a29d3bdfc7124f6b7e99cad4f501a62257c2dd1

Ivan ivan at 420.am
Sun Jul 27 13:11:33 PDT 2014


The branch, master has been updated
       via  1a29d3bdfc7124f6b7e99cad4f501a62257c2dd1 (commit)
      from  726016f6288d017c748a8d4cdc0157ad7abfe13a (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 1a29d3bdfc7124f6b7e99cad4f501a62257c2dd1
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Sun Jul 27 13:11:32 2014 -0700

    option to skip SSL validation for http export, RT#29298

diff --git a/FS/FS/part_export/http.pm b/FS/FS/part_export/http.pm
index aeeb59b..6cac600 100644
--- a/FS/FS/part_export/http.pm
+++ b/FS/FS/part_export/http.pm
@@ -11,6 +11,9 @@ tie %options, 'Tie::IxHash',
                 options =>[qw(POST)],
                 default =>'POST' },
   'url'    => { label   => 'URL', default => 'http://', },
+  'ssl_no_verify' => { label => 'Skip SSL certificate validation',
+                       type  => 'checkbox',
+                     },
   'insert_data' => {
     label   => 'Insert data',
     type    => 'textarea',
@@ -94,6 +97,7 @@ sub _export_command {
   my $cust_main = $svc_x->cust_main or return;
 
   $self->http_queue( $svc_x->svcnum,
+    ( $self->option('ssl_no_verify') ? 'ssl_no_verify' : '' ),
     $self->option('method'),
     $self->option('url'),
     $self->option('success_regexp'),
@@ -117,6 +121,7 @@ sub _export_replace {
   my $cust_main = $new_cust_main; #so folks can use $new_cust_main or $cust_main
 
   $self->http_queue( $new->svcnum,
+    ( $self->option('ssl_no_verify') ? 'ssl_no_verify' : '' ),
     $self->option('method'),
     $self->option('url'),
     $self->option('success_regexp'),
@@ -139,6 +144,7 @@ sub http_queue {
 }
 
 sub http {
+  my $ssl_no_verify = ( $_[0] eq 'ssl_no_verify' || $_[0] eq '' ) ? shift : '';
   my($method, $url, $success_regexp, @data) = @_;
 
   $method = lc($method);
@@ -148,7 +154,9 @@ sub http {
   eval "use HTTP::Request::Common;";
   die "using HTTP::Request::Common: $@" if $@;
 
-  my $ua = LWP::UserAgent->new;
+  my @lwp_opts = ();
+  push @lwp_opts, 'ssl_opts'=>{ 'verify_hostname'=>0 } if $ssl_no_verify;
+  my $ua = LWP::UserAgent->new(@lwp_opts);
 
   #my $response = $ua->$method(
   #  $url, \%data,

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

Summary of changes:
 FS/FS/part_export/http.pm |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)




More information about the freeside-commits mailing list