From a70051e3fe062b07f05bc807ea9d46e9ba63a887 Mon Sep 17 00:00:00 2001 From: Maxime Besson Date: Wed, 3 Mar 2021 09:51:19 +0100 Subject: [PATCH] Remove deprecated base64url implementation All our target distros now have base64url in Mime::Base64 --- .../Lemonldap/NG/Portal/2F/Register/U2F.pm | 5 ++-- .../lib/Lemonldap/NG/Portal/2F/U2F.pm | 3 +- .../Lemonldap/NG/Portal/Lib/OpenIDConnect.pm | 28 ++----------------- .../lib/Lemonldap/NG/Portal/Lib/U2F.pm | 17 ----------- 4 files changed, 7 insertions(+), 46 deletions(-) diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Register/U2F.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Register/U2F.pm index 5804addf2..46b581c50 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Register/U2F.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Register/U2F.pm @@ -4,6 +4,7 @@ package Lemonldap::NG::Portal::2F::Register::U2F; use strict; use Mouse; use JSON qw(from_json to_json); +use MIME::Base64 qw(encode_base64url decode_base64url); our $VERSION = '2.0.10'; @@ -141,7 +142,7 @@ sub run { { type => 'U2F', name => $keyName, - _userKey => $self->encode_base64url( $userKey, '' ), + _userKey => encode_base64url( $userKey, '' ), _keyHandle => $keyHandle, epoch => $epoch }; @@ -347,7 +348,7 @@ sub loadUser { . $_->{_userKey} . "/ _keyHandle = " . $_->{_keyHandle} ); - $_->{_userKey} = $self->decode_base64url( $_->{_userKey} ); + $_->{_userKey} = decode_base64url( $_->{_userKey} ); push @u2fs, $_; } } diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/U2F.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/U2F.pm index e9c3d0ce7..bfb9bc661 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/U2F.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/U2F.pm @@ -7,6 +7,7 @@ package Lemonldap::NG::Portal::2F::U2F; use strict; use Mouse; use JSON qw(from_json to_json); +use MIME::Base64 qw(decode_base64url); use Lemonldap::NG::Portal::Main::Constants qw( PE_OK PE_ERROR @@ -224,7 +225,7 @@ sub loadUser { . $_->{_userKey} . " / _keyHandle = " . $_->{_keyHandle} ); - $_->{_userKey} = $self->decode_base64url( $_->{_userKey} ); + $_->{_userKey} = decode_base64url( $_->{_userKey} ); push @u2fs, $_; } } diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm index 950e06d0b..d8fd72ea5 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm @@ -16,7 +16,8 @@ use Lemonldap::NG::Common::FormEncode; use Lemonldap::NG::Common::UserAgent; use Lemonldap::NG::Common::JWT qw(getAccessTokenSessionId getJWTPayload getJWTHeader getJWTSignature getJWTSignedData); -use MIME::Base64 qw/encode_base64 decode_base64/; +use MIME::Base64 + qw/encode_base64 decode_base64 encode_base64url decode_base64url/; use Mouse; use Lemonldap::NG::Portal::Main::Constants qw(PE_OK PE_REDIRECT); @@ -1880,31 +1881,6 @@ sub getRequestJWT { return $response->decoded_content; } -### Import encode_base64url and decode_base64url from recent MIME::Base64 module: -sub encode_base64url { - my $e = encode_base64( shift, '' ); - $e =~ s/=+\z//; - $e =~ tr[+/][-_]; - return $e; -} - -sub decode_base64url { - my $s = shift; - $s =~ tr[-_][+/]; - $s .= '=' while length($s) % 4; - return decode_base64($s); -} - -sub encodeBase64url { - my ( $self, $value ) = @_; - return encode_base64url($value); -} - -sub decodeBase64url { - my ( $self, $value ) = @_; - return decode_base64url($value); -} - sub addRouteFromConf { my ( $self, $type, %subs ) = @_; my $adder = "add${type}Route"; diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/U2F.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/U2F.pm index aa25e6c4e..eea61c5dd 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/U2F.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/U2F.pm @@ -2,7 +2,6 @@ package Lemonldap::NG::Portal::Lib::U2F; use strict; use Mouse; -use MIME::Base64 qw(encode_base64 decode_base64); our $VERSION = '2.0.0'; @@ -44,20 +43,4 @@ sub crypter { ); } -sub encode_base64url { - shift; - my $e = encode_base64( shift, '' ); - $e =~ s/=+\z//; - $e =~ tr[+/][-_]; - return $e; -} - -sub decode_base64url { - shift; - my $s = shift; - $s =~ tr[-_][+/]; - $s .= '=' while length($s) % 4; - return decode_base64($s); -} - 1;