summaryrefslogtreecommitdiff
path: root/lib/Travel/Status
diff options
context:
space:
mode:
authorBirte Kristina Friesel <birte.friesel@uos.de>2025-03-05 21:33:44 +0100
committerBirte Kristina Friesel <birte.friesel@uos.de>2025-03-05 21:35:21 +0100
commitb9116cbee16a91bec5eb3584431bac22759faef5 (patch)
tree76b0ed546578191a2a5825e22fa62c2af685b907 /lib/Travel/Status
parent5e77b1d20948233997fc03420cb986d14452ae62 (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.pm6
-rw-r--r--lib/Travel/Status/DE/HAFAS/Services.pm.PL20
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'),