diff options
author | Birte Kristina Friesel <birte.friesel@uos.de> | 2025-03-05 21:33:44 +0100 |
---|---|---|
committer | Birte Kristina Friesel <birte.friesel@uos.de> | 2025-03-05 21:35:21 +0100 |
commit | b9116cbee16a91bec5eb3584431bac22759faef5 (patch) | |
tree | 76b0ed546578191a2a5825e22fa62c2af685b907 /lib/Travel/Status | |
parent | 5e77b1d20948233997fc03420cb986d14452ae62 (diff) |
Disable all certificate checks for KVB
KVB appear to have misconfigured their TLS certificate
Diffstat (limited to 'lib/Travel/Status')
-rw-r--r-- | lib/Travel/Status/DE/HAFAS.pm | 6 | ||||
-rw-r--r-- | lib/Travel/Status/DE/HAFAS/Services.pm.PL | 20 |
2 files changed, 14 insertions, 12 deletions
diff --git a/lib/Travel/Status/DE/HAFAS.pm b/lib/Travel/Status/DE/HAFAS.pm index 53eb467..f96ac2c 100644 --- a/lib/Travel/Status/DE/HAFAS.pm +++ b/lib/Travel/Status/DE/HAFAS.pm @@ -12,6 +12,7 @@ use DateTime; use DateTime::Format::Strptime; use Digest::MD5 qw(md5_hex); use Encode qw(decode encode); +use IO::Socket::SSL; use JSON; use LWP::UserAgent; use Travel::Status::DE::HAFAS::Journey; @@ -52,6 +53,11 @@ sub new { $lwp_options{proxy} = [ [ 'http', 'https' ] => $proxy ]; } } + if ( $service and not $hafas_instance->{$service}{tls_verify} ) { + $lwp_options{ssl_opts}{SSL_verify_mode} + = IO::Socket::SSL::SSL_VERIFY_NONE; + $lwp_options{ssl_opts}{verify_hostname} = 0; + } $ua = LWP::UserAgent->new(%lwp_options); $ua->env_proxy; } diff --git a/lib/Travel/Status/DE/HAFAS/Services.pm.PL b/lib/Travel/Status/DE/HAFAS/Services.pm.PL index 93696bd..55775c5 100644 --- a/lib/Travel/Status/DE/HAFAS/Services.pm.PL +++ b/lib/Travel/Status/DE/HAFAS/Services.pm.PL @@ -17,12 +17,13 @@ sub load_instance { my $data = $json->decode( scalar read_file("ext/transport-apis/data/${path}-hafas-mgate.json") ); my %ret = ( - name => $data->{name} =~ s{ *[(][^)]+[)]}{}r, - homepage => $data->{attribution}{homepage}, - mgate => $data->{options}{endpoint}, - time_zone => $data->{timezone}, - languages => $data->{supportedLanguages}, - request => { + name => $data->{name} =~ s{ *[(][^)]+[)]}{}r, + homepage => $data->{attribution}{homepage}, + mgate => $data->{options}{endpoint}, + time_zone => $data->{timezone}, + languages => $data->{supportedLanguages}, + tls_verify => $opt{tls_verify} // 1, + request => { client => $data->{options}{client}, auth => $data->{options}{auth}, }, @@ -30,11 +31,6 @@ sub load_instance { area => $data->{coverage}{realtimeCoverage}{area}, regions => $data->{coverage}{realtimeCoverage}{region} // [] }, - - #coverage => { - # area => $data->{coverage}{realtimeCoverage}{area}, - # regions => $data->{coverage}{realtimeCoverage}{region}, - #} ); my %bitmask_to_product; @@ -163,7 +159,7 @@ my %hafas_instance = ( salt => 'i5s7m3q9z6b4k1c2', micmac => 1, }, - KVB => { load_instance( 'de/kvb', lang => 'deu' ), }, + KVB => { load_instance( 'de/kvb', lang => 'deu' ), tls_verify => 0 }, mobiliteit => { load_instance( 'lu/mobiliteit-lu', lang => 'deu' ) }, NAHSH => { load_instance('de/nahsh'), |