[libio-socket-ssl-perl] 01/02: Add 0001-make-PublicSuffix-_default_data-thread-safe-by-stori.patch
Salvatore Bonaccorso
carnil at debian.org
Sat Jun 20 20:16:49 UTC 2015
This is an automated email from the git hooks/post-receive script.
carnil pushed a commit to branch jessie
in repository libio-socket-ssl-perl.
commit ac2fd093c2cd29dfde897916b5393c886ac5b69c
Author: Salvatore Bonaccorso <carnil at debian.org>
Date: Mon Jun 8 09:18:07 2015 +0200
Add 0001-make-PublicSuffix-_default_data-thread-safe-by-stori.patch
Make PublicSuffix::_default_data thread safe by storing the default data
inside a function inside within __DATA__.
Thanks: Jonny Schulz <info at bloonix.org> for the report
Closes: #788035
---
...Suffix-_default_data-thread-safe-by-stori.patch | 64 ++++++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 65 insertions(+)
diff --git a/debian/patches/0001-make-PublicSuffix-_default_data-thread-safe-by-stori.patch b/debian/patches/0001-make-PublicSuffix-_default_data-thread-safe-by-stori.patch
new file mode 100644
index 0000000..c32f41b
--- /dev/null
+++ b/debian/patches/0001-make-PublicSuffix-_default_data-thread-safe-by-stori.patch
@@ -0,0 +1,64 @@
+From fbf66f20daf5df2bc70509870ba98e61de7e56e1 Mon Sep 17 00:00:00 2001
+From: Steffen Ullrich <Steffen_Ullrich at genua.de>
+Date: Sat, 22 Nov 2014 21:39:18 +0100
+Subject: [PATCH] make PublicSuffix::_default_data thread safe by storing the
+ default data inside a function inside within __DATA__
+
+---
+ lib/IO/Socket/SSL/PublicSuffix.pm | 19 ++++++++++++++-----
+ 1 file changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/lib/IO/Socket/SSL/PublicSuffix.pm b/lib/IO/Socket/SSL/PublicSuffix.pm
+index a84aacd..8d3fa9b 100644
+--- a/lib/IO/Socket/SSL/PublicSuffix.pm
++++ b/lib/IO/Socket/SSL/PublicSuffix.pm
+@@ -292,7 +292,7 @@ sub public_suffix {
+ my $data;
+ sub _default_data {
+ if ( ! defined $data ) {
+- $data = do { local $/; <DATA> };
++ $data = _builtin_data();
+ $data =~s{^// ===END ICANN DOMAINS.*}{}ms
+ or die "cannot find END ICANN DOMAINS";
+ }
+@@ -309,8 +309,15 @@ sub update_self_from_url {
+ local $/ = "\n";
+ while (<$fh>) {
+ $code .= $_;
+- $code =~m{\A__DATA__\r?\n\Z} and last;
++ m{<<'END_BUILTIN_DATA'} and last;
+ }
++ my $tail;
++ while (<$fh>) {
++ m{\AEND_BUILTIN_DATA\r?\n} or next;
++ $tail = $_;
++ last;
++ }
++ $tail .= do { local $/; <$fh> };
+ close($fh);
+
+ require LWP::UserAgent;
+@@ -335,11 +342,10 @@ sub update_self_from_url {
+ }
+
+ open( $fh,'>:utf8',$dst ) or die "open $dst: $!";
+- print $fh $code;
++ print $fh $code.$tail;
+ }
+
+-1;
+-__DATA__
++sub _builtin_data { return <<'END_BUILTIN_DATA' }
+ // This Source Code Form is subject to the terms of the Mozilla Public
+ // License, v. 2.0. If a copy of the MPL was not distributed with this
+ // file, You can obtain one at http://mozilla.org/MPL/2.0/.
+@@ -9154,3 +9160,6 @@ za.net
+ za.org
+
+ // ===END PRIVATE DOMAINS===
++
++END_BUILTIN_DATA
++1;
+--
+2.1.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 12003fd..ec78633 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
0001-use-only-ICANN-part-in-public-suffix-list.patch
+0001-make-PublicSuffix-_default_data-thread-safe-by-stori.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libio-socket-ssl-perl.git
More information about the Pkg-perl-cvs-commits
mailing list