Bug#1065376: bookworm-pu: package libxml-stream-perl/1.24-4+deb12u1
gregor herrmann
gregoa at debian.org
Sun Mar 3 15:16:07 GMT 2024
Package: release.debian.org
Severity: normal
Tags: bookworm
X-Debbugs-Cc: libxml-stream-perl at packages.debian.org
Control: affects -1 + src:libxml-stream-perl
User: release.debian.org at packages.debian.org
Usertags: pu
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
I've uploaded libxml-stream-perl/1.24-4+deb12u1 to bookworm in order
to fix #1064058.
The upload contains the same patch which is in unstable (and testing)
since 2 weeks.
The patch adjusts the code to a change in IO-Socket-SSL 2.078
regarding hostname verificaton; without this change, SSL connections
with libxml-stream-perl are broken, which also breaks libnet-xmpp-perl
and all users of libnet-xmpp-perl like sendxmpp (cf. the merged
bugs).
Complete debdiff attached (please note that the only relevant part
are the 3 lines in lib/XML/Stream.pm, as the tests are not run during
package build in Debian)
Cheers,
gregor
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAmXklDdfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx
RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ
qgZxJBAAvYW8KRtJkFGjw9HegALvoKjjOKNTupQIXGXWkUESmXIb/fbWii0CE7k6
8rwMV6ujsnHIZyT51kua9JGGMy36MWi9+sRq2dOVeYamCwPjF/x/iZgOJT8W9n3A
M+bVNaYhtgW1YOrRVcfBRRopPhEqWlhk1K7zuzOr+N4j+5vK9RoJSQzpCuLtIiD7
Jhs9r0Bspox3Xl0MQNrvZKrlNjFgZseo8UyzgBhwh3O1+KdZr5HZZb/p1Br0GZ+P
Dfvr4ZWnm2KVd2c0GvirBDSv1KdetOnieqCUrqHRtfNn5AftUhIXEEUN1EGfrE1s
mv2MYq5t0ygFRf6EJyrQ3nEde/FwyjHmRmuoHRqiRA2DPrq1yNe4QFrUBV2ylJ1X
kCfipKKEeXSyqOmD6whqmTvPbXtMVjckVeQV/J/NlWqULQ24pIsLyfmKebFmQ8bW
3pPeeXlkCDVAcpYBWNtKFtybllyc0i7UKzEznugkSqZiPk3uCEASDovizmuw0SBq
T55M9PGILDyvhCTyrhaHMlt3xJ6pAT8o6EB5fKM9GI9lxoNMEJ+eHMRdbuA8B1s8
BtC+CrK5NuA7chTwBUBYU18BZLzTibC1VxhOafuSy2cbimKVf6x41wgLn6+xenta
JaJmQBPEUtdkwEnl5tyMjoxUqFhyyVTwqAlFcYzEdqMmilYXOU0=
=1lnC
-----END PGP SIGNATURE-----
-------------- next part --------------
diff -Nru libxml-stream-perl-1.24/debian/changelog libxml-stream-perl-1.24/debian/changelog
--- libxml-stream-perl-1.24/debian/changelog 2021-01-20 18:34:25.000000000 +0100
+++ libxml-stream-perl-1.24/debian/changelog 2024-03-03 16:02:42.000000000 +0100
@@ -1,3 +1,13 @@
+libxml-stream-perl (1.24-4+deb12u1) bookworm; urgency=medium
+
+ * Team upload.
+ * Add Set_SSL_verifycn_name_parameter_to_fix_hostname_verification.patch
+ to adjust to IO::Socket::SSL >= 2.078.
+ Thanks to Manfred Stock for the bug report and the patch.
+ (Closes: #1064058)
+
+ -- gregor herrmann <gregoa at debian.org> Sun, 03 Mar 2024 16:02:42 +0100
+
libxml-stream-perl (1.24-4) unstable; urgency=medium
* Team upload.
diff -Nru libxml-stream-perl-1.24/debian/patches/Set_SSL_verifycn_name_parameter_to_fix_hostname_verification.patch libxml-stream-perl-1.24/debian/patches/Set_SSL_verifycn_name_parameter_to_fix_hostname_verification.patch
--- libxml-stream-perl-1.24/debian/patches/Set_SSL_verifycn_name_parameter_to_fix_hostname_verification.patch 1970-01-01 01:00:00.000000000 +0100
+++ libxml-stream-perl-1.24/debian/patches/Set_SSL_verifycn_name_parameter_to_fix_hostname_verification.patch 2024-03-03 16:02:42.000000000 +0100
@@ -0,0 +1,85 @@
+From 7d3de1e8afe7eb46d7bda336fb1f54d3b75f4e6d Mon Sep 17 00:00:00 2001
+From: Manfred Stock <m-cpan at nfred.ch>
+Date: Fri, 16 Feb 2024 10:45:43 +0100
+Subject: [PATCH] Set SSL_verifycn_name parameter to fix hostname verification
+
+IO-Socket-SSL 2.078 reverted a "decision from 2014 to not verify
+hostname by default if hostname is IP address but no explicit
+verification scheme given" [1]. Since start_SSL uses SSL_verifycn_name
+or SSL_hostname when verifying the hostname and falls back to the IP
+address of the peer if neither of them are set, the hostname
+verification failed with newer versions of IO-Socket-SSL even if the
+certificate presented by the peer was valid.
+
+Passing SSL_verifycn_name to start_SSL fixes this issue. The logic to
+determine the parameter value is based on my current understanding of
+[2] and thus uses the same logic that is also used in OpenStream to
+determine the 'to' address in the initial stream header.
+
+[1]: https://github.com/noxxi/p5-io-socket-ssl/commit/c0a063b70f0a3ad033da0a51923c65bd2ff118a0
+[2]: https://datatracker.ietf.org/doc/html/rfc6120#section-13.7.2.1
+
+
+Bug: https://github.com/dap/XML-Stream/pull/28
+Bug-Debian: https://bugs.debian.org/1064058
+
+---
+ lib/XML/Stream.pm | 3 +++
+ t/tcpip2ssl.t | 21 +++++++++++++++++----
+ 2 files changed, 20 insertions(+), 4 deletions(-)
+
+--- a/lib/XML/Stream.pm
++++ b/lib/XML/Stream.pm
+@@ -632,6 +632,9 @@
+ {
+ my %ssl_params = (
+ SSL_verify_mode => $self->{SIDS}->{newconnection}->{ssl_verify},
++ SSL_verifycn_name => $self->{SIDS}->{newconnection}->{to}
++ ? $self->{SIDS}->{newconnection}->{to}
++ : $self->{SIDS}->{newconnection}->{hostname},
+ );
+
+ if ( 0x00 != $self->{SIDS}->{newconnection}->{ssl_verify} )
+--- a/t/tcpip2ssl.t
++++ b/t/tcpip2ssl.t
+@@ -1,13 +1,13 @@
+ use strict;
+ use warnings;
+
+-use Test::More tests=>3;
++use Test::More tests=>5;
+
+ SKIP:
+ {
+ eval("use IO::Socket::SSL 0.81;");
+- skip "IO::Socket::SSL not installed", 2 if $@;
+- skip "No network communication allowed", 2 if ($ENV{NO_NETWORK});
++ skip "IO::Socket::SSL not installed", 4 if $@;
++ skip "No network communication allowed", 4 if ($ENV{NO_NETWORK});
+
+ BEGIN{ use_ok( "XML::Stream","Tree", "Node" ); }
+
+@@ -28,9 +28,22 @@
+ ssl=>1,
+ ssl_verify=>0x00,
+ timeout=>10);
++ is( $stream->{SIDS}->{newconnection}->{ssl_params}->{SSL_verifycn_name},
++ 'jabber.org', 'SSL_verifycn_name set' );
+
+- skip "Cannot create initial socket", 1 unless $stream;
++ skip "Cannot create initial socket", 2 unless $stream;
+
+ ok( $stream, "converted" );
++
++ $stream->Connect(hostname=>"jabber.org",
++ to=>'example.com',
++ port=>5223,
++ namespace=>"jabber:client",
++ connectiontype=>"tcpip",
++ ssl=>1,
++ ssl_verify=>0x00,
++ timeout=>10);
++ is( $stream->{SIDS}->{newconnection}->{ssl_params}->{SSL_verifycn_name},
++ 'example.com', 'SSL_verifycn_name set to "to" value' );
+ }
+ }
diff -Nru libxml-stream-perl-1.24/debian/patches/series libxml-stream-perl-1.24/debian/patches/series
--- libxml-stream-perl-1.24/debian/patches/series 2021-01-20 18:34:25.000000000 +0100
+++ libxml-stream-perl-1.24/debian/patches/series 2024-03-03 16:02:42.000000000 +0100
@@ -1,3 +1,4 @@
t_upstream_uninitialized_value.diff
default-ca-path.patch
0001-Do-not-die-when-hostname-cannot-be-resolved.patch
+Set_SSL_verifycn_name_parameter_to_fix_hostname_verification.patch
More information about the pkg-perl-maintainers
mailing list