summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2014-07-27 13:11:34 -0700
committerIvan Kohler <ivan@freeside.biz>2014-07-27 13:11:34 -0700
commit15bbb00a7a2a4e3e3cf90c008142f97083cd9b1c (patch)
tree82c7836a6a45882b764bd82985c28c005cc3a84a
parenta69bdc8db4a3ec643bd19764431aeaf49feadf6c (diff)
option to skip SSL validation for http export, RT#29298
-rw-r--r--FS/FS/part_export/http.pm10
1 files changed, 9 insertions, 1 deletions
diff --git a/FS/FS/part_export/http.pm b/FS/FS/part_export/http.pm
index 96d49f00c..5a0c1be3d 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',
@@ -95,6 +98,7 @@ sub _export_command {
: $svc_x->cust_svc->cust_pkg->cust_main;
$self->http_queue( $svc_x->svcnum,
+ ( $self->option('ssl_no_verify') ? 'ssl_no_verify' : '' ),
$self->option('method'),
$self->option('url'),
$self->option('success_regexp'),
@@ -120,6 +124,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'),
@@ -142,6 +147,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);
@@ -151,7 +157,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,