[libyaml-libyaml-perl] 01/01: remove add-safe-load patch

dod at debian.org dod at debian.org
Sun Jan 14 18:29:13 UTC 2018


This is an automated email from the git hooks/post-receive script.

dod pushed a commit to branch master
in repository libyaml-libyaml-perl.

commit 5486573432b5c4610bb0268ec480ccef7fc1bbe6
Author: Dominique Dumont <dod at debian.org>
Date:   Mon Jan 8 18:51:08 2018 +0100

    remove add-safe-load patch
---
 debian/patches/add-safe-load | 208 -------------------------------------------
 1 file changed, 208 deletions(-)

diff --git a/debian/patches/add-safe-load b/debian/patches/add-safe-load
deleted file mode 100644
index 6eb53bf..0000000
--- a/debian/patches/add-safe-load
+++ /dev/null
@@ -1,208 +0,0 @@
-Description: Add SafeLoad method
- Patch YAML::XS to provide a SafeLoad method. This works like Load method except that tag like '! Foo::Bar' are ignored so no Perl class can be created.
- .
- Warning: upstream probably won't accept this patch. We should not ship it.
-Bug: https://github.com/ingydotnet/yaml-libyaml-pm/issues/45
-Bug-Debian: https://bugs.debian.org/862373
-Forwarded: https://github.com/ingydotnet/yaml-libyaml-pm/issues/45#issuecomment-343676592
-Author: Dominique Dumont <dod at debian.org>
---- a/LibYAML/perl_libyaml.c
-+++ b/LibYAML/perl_libyaml.c
-@@ -116,7 +116,7 @@
-  * It takes a yaml stream and turns it into 0 or more Perl objects.
-  */
- void
--Load(SV *yaml_sv)
-+Load(SV *yaml_sv, int allow_bless)
- {
-     dXCPT;
- 
-@@ -140,6 +140,7 @@
- 
-     yaml_parser_initialize(&loader.parser);
-     loader.document = 0;
-+    loader.allow_bless = allow_bless;
-     yaml_parser_set_input_string(
-         &loader.parser,
-         yaml_str,
-@@ -320,7 +321,7 @@
-     /* Deal with possibly blessing the hash if the YAML tag has a class */
-     if (tag && strEQ(tag, TAG_PERL_PREFIX "hash"))
-         tag = NULL;
--    if (tag) {
-+    if ( loader->allow_bless && tag) {
-         char *class;
-         char *prefix = TAG_PERL_PREFIX "hash:";
-         if (*tag == '!') {
-@@ -354,7 +355,7 @@
-     }
-     if (tag && strEQ(tag, TAG_PERL_PREFIX "array"))
-         tag = NULL;
--    if (tag) {
-+    if ( loader->allow_bless && tag) {
-         char *class;
-         char *prefix = TAG_PERL_PREFIX "array:";
-         if (*tag == '!')
-@@ -448,7 +449,7 @@
-     SPAGAIN;
-     regexp = newSVsv(POPs);
- 
--    if (strlen(tag) > strlen(prefix) && strnEQ(tag, prefix, strlen(prefix))) {
-+    if ( loader->allow_bless && strlen(tag) > strlen(prefix) && strnEQ(tag, prefix, strlen(prefix))) {
-         char *class = tag + strlen(prefix);
-         sv_bless(regexp, gv_stashpv(class, TRUE));
-     }
---- a/LibYAML/perl_libyaml.h
-+++ b/LibYAML/perl_libyaml.h
-@@ -30,6 +30,7 @@
-     HV *anchors;
-     int load_code;
-     int document;
-+    int allow_bless;
- } perl_yaml_loader_t;
- 
- typedef struct {
-@@ -60,7 +61,7 @@
- Dump(SV *, ...);
- 
- void
--Load(SV *);
-+Load(SV *, int);
- 
- SV *
- load_node(perl_yaml_loader_t *);
---- a/lib/YAML/XS.pm
-+++ b/lib/YAML/XS.pm
-@@ -5,10 +5,10 @@
- 
- use base 'Exporter';
- 
-- at YAML::XS::EXPORT = qw(Load Dump);
-+ at YAML::XS::EXPORT = qw(Load Dump SafeLoad);
- @YAML::XS::EXPORT_OK = qw(LoadFile DumpFile);
- %YAML::XS::EXPORT_TAGS = (
--    all => [qw(Dump Load LoadFile DumpFile)],
-+    all => [qw(Dump Load SafeLoad LoadFile DumpFile)],
- );
- # $YAML::XS::UseCode = 0;
- # $YAML::XS::DumpCode = 0;
-@@ -16,7 +16,7 @@
- 
- $YAML::XS::QuoteNumericStrings = 1;
- 
--use YAML::XS::LibYAML qw(Load Dump);
-+use YAML::XS::LibYAML qw(Load Dump SafeLoad);
- use Scalar::Util qw/ openhandle /;
- 
- sub DumpFile {
---- a/LibYAML/LibYAML.xs
-+++ b/LibYAML/LibYAML.xs
-@@ -13,7 +13,15 @@
-         SV *yaml_sv
-         PPCODE:
-         PL_markstack_ptr++;
--        Load(yaml_sv);
-+        Load(yaml_sv, 1);
-+        return;
-+
-+void
-+SafeLoad (yaml_sv)
-+        SV *yaml_sv
-+        PPCODE:
-+        PL_markstack_ptr++;
-+        Load(yaml_sv, 0);
-         return;
- 
- void
---- a/LibYAML/lib/YAML/XS/LibYAML.pm
-+++ b/LibYAML/lib/YAML/XS/LibYAML.pm
-@@ -7,7 +7,7 @@
- XSLoader::load 'YAML::XS::LibYAML';
- use base 'Exporter';
- 
--our @EXPORT_OK = qw(Load Dump);
-+our @EXPORT_OK = qw(Load Dump SafeLoad);
- 
- 1;
- 
---- a/t/TestYAMLTests.pm
-+++ b/t/TestYAMLTests.pm
-@@ -1,7 +1,7 @@
- package t::TestYAMLTests;
- use lib 'inc';
- use Test::Base -Base;
-- at t::TestYAMLTests::EXPORT = qw(Load Dump n2y y2n nyny get_block_by_name);
-+ at t::TestYAMLTests::EXPORT = qw(SafeLoad Load Dump n2y y2n nyny get_block_by_name);
- 
- sub load_config() {
-     my $config_file = shift;
-@@ -93,6 +93,10 @@
-     no strict 'refs';
-     &{$yaml_module . "::Load"}(@_);
- }
-+sub SafeLoad() {
-+    no strict 'refs';
-+    &{$yaml_module . "::SafeLoad"}(@_);
-+}
- sub Dump() {
-     no strict 'refs';
-     &{$yaml_module . "::Dump"}(@_);
-@@ -108,6 +112,10 @@
-     t::TestYAMLTests::Load(@_);
- }
- 
-+sub load_safe_yaml {
-+    t::TestYAMLTests::SafeLoad(@_);
-+}
-+
- sub dump_yaml {
-     t::TestYAMLTests::Load(@_);
- }
---- a/t/blessed.t
-+++ b/t/blessed.t
-@@ -1,16 +1,19 @@
--use t::TestYAMLTests tests => 10;
-+use t::TestYAMLTests tests => 12;
- 
- filters {
-     perl => 'eval',
-     yaml => 'load_yaml',
-+    for_safe_yaml => 'load_safe_yaml',
- };
- my $test = get_block_by_name("Blessed Hashes and Arrays");
- 
- my $hash = $test->perl;
- my $hash2 = $test->yaml;
-+my $hash_safe = $test->for_safe_yaml;
- 
- # is_deeply is broken and doesn't check blessings
- is_deeply $hash2, $hash, "Load " . $test->name;
-+is_deeply $hash_safe, $hash, "SafeLoad " . $test->name;
- 
- is ref($hash2->{foo}), 'Foo::Bar',
-     "Object at 'foo' is blessed 'Foo::Bar'";
-@@ -21,6 +24,9 @@
- is ref($hash2->{two}), 'BigList',
-     "Object at 'two' is blessed 'BigList'";
- 
-+is ref($hash_safe->{bar}), 'HASH',
-+    "Object at 'foo' is NOT blessed with SafeLoad";
-+
- my $yaml = Dump($hash2);
- 
- is $yaml, $test->yaml_dump, "Dumping " . $test->name . " works";
-@@ -49,6 +55,14 @@
- foo: !!perl/hash:Foo::Bar {}
- bar: !!perl/hash:Foo::Bar
-   bass: bawl
-+one: !!perl/array:BigList []
-+two: !!perl/array:BigList
-+- lola
-+- alol
-++++ for_safe_yaml
-+foo: !!perl/hash:Foo::Bar {}
-+bar: !!perl/hash:Foo::Bar
-+  bass: bawl
- one: !!perl/array:BigList []
- two: !!perl/array:BigList
- - lola

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libyaml-libyaml-perl.git



More information about the Pkg-perl-cvs-commits mailing list