From 5e03c718f4e7ff13cb6834eda737c269ebed02ad Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:04:52 +0200 Subject: Adding upstream version 1.21.3. Signed-off-by: Daniel Baumann --- tests/SSLTest.pm | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 tests/SSLTest.pm (limited to 'tests/SSLTest.pm') diff --git a/tests/SSLTest.pm b/tests/SSLTest.pm new file mode 100644 index 0000000..60f8188 --- /dev/null +++ b/tests/SSLTest.pm @@ -0,0 +1,73 @@ +package SSLTest; + +use strict; +use warnings; + +use SSLServer; +use WgetTests; +use HTTPTest; + +our @ISA = qw(WgetTest HTTPTest); +my $VERSION = 0.01; + +my $srcdir; +if (defined $ENV{srcdir}) { + $srcdir = Cwd::abs_path($ENV{srcdir}); +} else { + $srcdir = "."; +} + +my %ssl_defaults = ( + _certfile => "$srcdir/certs/server-cert.pem", + _keyfile => "$srcdir/certs/server-key.pem", + _cafile => "$srcdir/certs/test-ca-cert.pem", + _ciphers => 'ALL', + _lhostname => 'wgettestingserver', + _sslport => 55443, +); + +{ + my %_attr_data = %ssl_defaults; + + sub _default_for + { + my ($self, $attr) = @_; + return $_attr_data{$attr} if exists $_attr_data{$attr}; + return $self->SUPER::_default_for($attr); + } + + sub _standard_keys + { + my ($self) = @_; + ($self->SUPER::_standard_keys(), keys %_attr_data); + } +} + +sub _setup_server +{ + my $self = shift; + my %ssl_config = %ssl_defaults; + + $self->{_server} = SSLServer->new() + or die "Cannot create SSL server!!!"; + + for my $attrname ($self->_standard_keys()) + { + my ($argname) = ($attrname =~ m/^_(.*)/msx); + $ssl_config{$argname} = $self->{$attrname}; + } +# for my $attrname (keys %ssl_config) +# { +# if ($attrname =~ m/file$/ && !$attrname =~ m/^\//) +# { +# my $cwd = $self->SUPER::_default_for('_workdir'); +# my $cfile = $ssl_config{$attrname}; +# $ssl_config{$attrname} = "$cwd/$cfile"; +# } +# } + $self->{_server}->init(%ssl_config); +} + +1; + +# vim: et ts=4 sw=4 -- cgit v1.2.3