diff -Nru libauthen-sasl-saslprep-perl-1.011/Changes libauthen-sasl-saslprep-perl-1.100/Changes --- libauthen-sasl-saslprep-perl-1.011/Changes 2015-04-13 18:41:09.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/Changes 2016-09-25 16:58:58.000000000 +0000 @@ -1,5 +1,9 @@ Revision history for Perl extension Authen::SASL::SASLprep +1.100 (2016-09-25) + - added support for stored strings + FIXES: #117767: Please add 'stored strings' capability + 1.011 (2015-03-13) - rebuild with updated metadata FIXES: #102903: Old FSF address diff -Nru libauthen-sasl-saslprep-perl-1.011/debian/changelog libauthen-sasl-saslprep-perl-1.100/debian/changelog --- libauthen-sasl-saslprep-perl-1.011/debian/changelog 2015-08-24 12:39:20.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/debian/changelog 2016-10-29 16:40:38.000000000 +0000 @@ -1,3 +1,19 @@ +libauthen-sasl-saslprep-perl (1.100-1) unstable; urgency=medium + + * Team upload. + + [ Salvatore Bonaccorso ] + * debian/control: Use HTTPS transport protocol for Vcs-Git URI + + [ gregor herrmann ] + * debian/copyright: change Copyright-Format 1.0 URL to HTTPS. + * Update debian/upstream/metadata. + * Import upstream version 1.100. + * Update years of upstream copyright. + * Declare compliance with Debian Policy 3.9.8. + + -- gregor herrmann Sat, 29 Oct 2016 18:40:38 +0200 + libauthen-sasl-saslprep-perl (1.011-2) unstable; urgency=medium * Correct maintainer. diff -Nru libauthen-sasl-saslprep-perl-1.011/debian/control libauthen-sasl-saslprep-perl-1.100/debian/control --- libauthen-sasl-saslprep-perl-1.011/debian/control 2015-08-24 12:39:20.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/debian/control 2016-10-29 16:40:38.000000000 +0000 @@ -9,9 +9,9 @@ Build-Depends-Indep: libtest-nowarnings-perl, libunicode-stringprep-perl, perl -Standards-Version: 3.9.6 +Standards-Version: 3.9.8 Vcs-Browser: https://anonscm.debian.org/cgit/pkg-perl/packages/libauthen-sasl-saslprep-perl.git -Vcs-Git: git://anonscm.debian.org/pkg-perl/packages/libauthen-sasl-saslprep-perl.git +Vcs-Git: https://anonscm.debian.org/git/pkg-perl/packages/libauthen-sasl-saslprep-perl.git Homepage: https://metacpan.org/release/Authen-SASL-SASLprep Package: libauthen-sasl-saslprep-perl diff -Nru libauthen-sasl-saslprep-perl-1.011/debian/copyright libauthen-sasl-saslprep-perl-1.100/debian/copyright --- libauthen-sasl-saslprep-perl-1.011/debian/copyright 2015-08-24 12:39:20.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/debian/copyright 2016-10-29 16:40:38.000000000 +0000 @@ -1,10 +1,10 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://metacpan.org/release/Authen-SASL-SASLprep Upstream-Contact: Claus Färber Upstream-Name: Authen-SASL-SASLprep Files: * -Copyright: 2009-2015, Claus Färber +Copyright: 2009-2016, Claus Färber License: Artistic or GPL-1+ Files: debian/* diff -Nru libauthen-sasl-saslprep-perl-1.011/debian/upstream/metadata libauthen-sasl-saslprep-perl-1.100/debian/upstream/metadata --- libauthen-sasl-saslprep-perl-1.011/debian/upstream/metadata 2015-08-24 12:39:20.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/debian/upstream/metadata 2016-10-29 16:40:38.000000000 +0000 @@ -1,4 +1,5 @@ --- Archive: CPAN -Contact: Claus Färber +Contact: Claus Färber Name: Authen-SASL-SASLprep +Repository: https://github.com/cfaerber/Authen-SASL-SASLprep diff -Nru libauthen-sasl-saslprep-perl-1.011/lib/Authen/SASL/SASLprep.pm libauthen-sasl-saslprep-perl-1.100/lib/Authen/SASL/SASLprep.pm --- libauthen-sasl-saslprep-perl-1.011/lib/Authen/SASL/SASLprep.pm 2015-04-13 18:41:09.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/lib/Authen/SASL/SASLprep.pm 2016-09-25 16:58:58.000000000 +0000 @@ -5,7 +5,7 @@ use warnings; require 5.006_000; -our $VERSION = '1.011'; +our $VERSION = '1.100'; $VERSION = eval $VERSION; require Exporter; @@ -28,7 +28,22 @@ } }; -*saslprep = Unicode::Stringprep->new( +our $_saslprep_stored; +our $_saslprep_query; + +sub saslprep { + my ($input, $stored) = @_; + splice @_, 1, 1; ## remove $stored + + if($stored) { + goto &$_saslprep_stored; + } else { + goto &$_saslprep_query; + } +} + +BEGIN { + my @_common_args = ( 3.2, [ \@Unicode::Stringprep::Mapping::B1, \%C12_to_SPACE ], @@ -45,7 +60,18 @@ \@Unicode::Stringprep::Prohibited::C9, ], 1 -); + ); + + our $_saslprep_stored = Unicode::Stringprep->new( + @_common_args, + 1, + ); + + our $_saslprep_query = Unicode::Stringprep->new( + @_common_args, + 0, + ); +}; 1; __END__ @@ -59,7 +85,8 @@ =head1 SYNOPSIS use Authen::SASL::SASLprep; - $output = saslprep $input; + $output_query = saslprep $input; + $output_stored = saslprep $stored; =head1 DESCRIPTION @@ -73,7 +100,7 @@ =over 4 -=item B +=item B Processes C<$input> according to the I specification and returns the result. @@ -81,7 +108,10 @@ If C<$input> contains characters not allowed for I, it throws an exception (so use C if necessary). -This function currently supports preparation for I strings only. +If the boolean parameter C<$stored> is true, an exception is also thrown when +characters are not allowed for stored strings (i.e., when characters are +unassigned in Unicode 3.2). The default is to prepare query strings, in which +unassigned characters are allowed. =back @@ -91,7 +121,7 @@ =head1 LICENSE -Copyright 2009-2015 Claus Färber. +Copyright 2009-2016 Claus Färber. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff -Nru libauthen-sasl-saslprep-perl-1.011/LICENSE libauthen-sasl-saslprep-perl-1.100/LICENSE --- libauthen-sasl-saslprep-perl-1.011/LICENSE 2015-04-13 18:41:09.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/LICENSE 2016-09-25 16:58:58.000000000 +0000 @@ -1,4 +1,4 @@ -This software is copyright (c) 2015 by Claus Färber . +This software is copyright (c) 2016 by Claus Färber . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. @@ -12,7 +12,7 @@ --- The GNU General Public License, Version 1, February 1989 --- -This software is Copyright (c) 2015 by Claus Färber . +This software is Copyright (c) 2016 by Claus Färber . This is free software, licensed under: @@ -272,7 +272,7 @@ --- The Artistic License 1.0 --- -This software is Copyright (c) 2015 by Claus Färber . +This software is Copyright (c) 2016 by Claus Färber . This is free software, licensed under: diff -Nru libauthen-sasl-saslprep-perl-1.011/Makefile.PL libauthen-sasl-saslprep-perl-1.100/Makefile.PL --- libauthen-sasl-saslprep-perl-1.011/Makefile.PL 2015-04-13 18:41:09.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/Makefile.PL 2016-09-25 16:58:58.000000000 +0000 @@ -1,17 +1,17 @@ -# Note: this file was auto-generated by Module::Build::Compat version 0.4208 +# Note: this file was auto-generated by Module::Build::Compat version 0.4220 require 5.006; use ExtUtils::MakeMaker; WriteMakefile ( - 'NAME' => 'Authen::SASL::SASLprep', + 'INSTALLDIRS' => 'site', 'VERSION_FROM' => 'lib/Authen/SASL/SASLprep.pm', + 'EXE_FILES' => [], + 'NAME' => 'Authen::SASL::SASLprep', 'PREREQ_PM' => { + 'Unicode::Stringprep' => '1', 'Test::More' => 0, - 'Test::NoWarnings' => 0, - 'Unicode::Stringprep' => '1' + 'Test::NoWarnings' => 0 }, - 'INSTALLDIRS' => 'site', - 'EXE_FILES' => [], 'PL_FILES' => {} ) ; diff -Nru libauthen-sasl-saslprep-perl-1.011/META.json libauthen-sasl-saslprep-perl-1.100/META.json --- libauthen-sasl-saslprep-perl-1.011/META.json 2015-04-13 18:41:09.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/META.json 2016-09-25 16:58:58.000000000 +0000 @@ -4,7 +4,7 @@ "Claus Färber " ], "dynamic_config" : 1, - "generated_by" : "Module::Build version 0.4208", + "generated_by" : "Module::Build version 0.422", "license" : [ "perl_5" ], @@ -35,7 +35,7 @@ "provides" : { "Authen::SASL::SASLprep" : { "file" : "lib/Authen/SASL/SASLprep.pm", - "version" : "1.011" + "version" : "1.100" } }, "release_status" : "stable", @@ -44,5 +44,6 @@ "http://dev.perl.org/licenses/" ] }, - "version" : "1.011" + "version" : "1.100", + "x_serialization_backend" : "JSON::PP version 2.27300" } diff -Nru libauthen-sasl-saslprep-perl-1.011/META.yml libauthen-sasl-saslprep-perl-1.100/META.yml --- libauthen-sasl-saslprep-perl-1.011/META.yml 2015-04-13 18:41:09.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/META.yml 2016-09-25 16:58:58.000000000 +0000 @@ -8,7 +8,7 @@ configure_requires: Module::Build: '0.42' dynamic_config: 1 -generated_by: 'Module::Build version 0.4208, CPAN::Meta::Converter version 2.150001' +generated_by: 'Module::Build version 0.422, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -17,10 +17,11 @@ provides: Authen::SASL::SASLprep: file: lib/Authen/SASL/SASLprep.pm - version: '1.011' + version: '1.100' requires: Unicode::Stringprep: '1' perl: '5.006' resources: license: http://dev.perl.org/licenses/ -version: '1.011' +version: '1.100' +x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -Nru libauthen-sasl-saslprep-perl-1.011/SIGNATURE libauthen-sasl-saslprep-perl-1.100/SIGNATURE --- libauthen-sasl-saslprep-perl-1.011/SIGNATURE 2015-04-13 18:41:13.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/SIGNATURE 2016-09-25 16:59:00.000000000 +0000 @@ -1,5 +1,5 @@ This file contains message digests of all files listed in MANIFEST, -signed via the Module::Signature module, version 0.73. +signed via the Module::Signature module, version 0.81. To verify the content in this distribution, first make sure you have Module::Signature installed, then type: @@ -15,25 +15,25 @@ Hash: SHA256 SHA1 ec9b06ea31aafa75fa7ad99f6de0385540ae162c Build.PL -SHA1 1f2c5019bae112761b227a3301c80e984da0b8e8 Changes -SHA1 281bd0b7677336a906f828a57baeb8cddcced449 LICENSE +SHA1 0790ba75a720923feacc514acd9a455fe0d4e4da Changes +SHA1 b14d6fc74f523068501342f52f3d442883844bdb LICENSE SHA1 f54f9f84ccd6a094ee82023cffb0b89bf2041037 MANIFEST -SHA1 a5c633ecd5397cf46dfae6fd6605baef866c4b45 META.json -SHA1 e3857a1cad3292910e72a092a1ac0a9afb7045b5 META.yml -SHA1 40fc8dcb69d46d7ef12e2c4dd9d3468a3d31b3ec Makefile.PL +SHA1 4480d8e057f9b5eea74cec9f5ffa6d0cb72a5b85 META.json +SHA1 b9430ec06663f6d5825b29e24fad0168a949f7fb META.yml +SHA1 79ac5eeb7fada249eb2d847851ee47acc666aeee Makefile.PL SHA1 6ca158d831c98cf7ef92b5bc936edf09aa594b59 README -SHA1 46c4b45b99286e7f24bad151c0fd7003d49df471 lib/Authen/SASL/SASLprep.pm +SHA1 f4a634691d5fb13c57f084e4ec7f8b6f46f14b2b lib/Authen/SASL/SASLprep.pm SHA1 79e57b2e7266e84a6cea9d1a13c46373262e6adb t/00use.t SHA1 0ed7a7c687eafb552ddd99f2f99268fd613cda00 t/10pod.t SHA1 8f5a4f1ff1108a5169d651a71a52ea2543ec1419 t/11pod_cover.t -SHA1 435570d329906ee8af80477d4b54e2686c268cc0 t/saslprep.t +SHA1 d5284f2776c5e53f25c66b7d218b0e03af676138 t/saslprep.t -----BEGIN PGP SIGNATURE----- -iQEcBAEBCAAGBQJVLA3FAAoJEIS+srvgrWBmVqwH/RobQCrADuiVR1yZ9rPGWIMY -pJRwDmPHWdDUFb67mm87PCHyADMNuoPy5v+YrLl9RfayAOx8hcW/Lk7KFhVnPNM8 -nbEqm6pUGi/HPR3Rnrg7nsXGPhK1/7pG1OX2vzCrej/SazQkQpHWlb2c4IA4ouyP -JwvyihcqEs67daWCG7D6PCmYWVTl55CCVKMq2nzQJjQUJZq01Ao611uxlj06j6H7 -Yq7jcHgPko71zK3M8yePVcsu4UtCc8oyzNquQaYwphq9Asz0cAcMQlgQYEiQyA6B -EaHoLETGGJnqN31KbXiS8kXkUwJLRR8L+IkWSv5Tq3co/MsyVdgAti9W08BdFOo= -=TpFI +iQEcBAEBCAAGBQJX6AJSAAoJEIS+srvgrWBm8nMH/2UKXBoR/jtNg/yPiZu0i3pw +gpew+IymrPXeQLno5fZ0YsnnjH9SnOpK1uYNzGCUCld87yXEiC/K8Pmd+ZXpqgHx +ZnbpKEtI0ktRpSDt5jTa1H1uCdFQW5AqMh020EE3scEarq6XmESGNhKKxmzQ8B4Z +GUgpwsgKLVMuf2dfiPjQP+0mqOKWfh5vlrpzzQBQmVIfQHd4zpb1SdHf3QY5O/KY +MTVPrwcQGbT6+3bmhtZVrK6kkIcq+sXZ1pC3+mUUmf+21Lqw5FB/7h2iAfFF6saQ +J7vz3Cja8FlNqKtfYXbH8LBx8iVlKKCELI0Vla+Vb0kLhlSRTQgG41WM5YUvL2k= +=FLVe -----END PGP SIGNATURE----- diff -Nru libauthen-sasl-saslprep-perl-1.011/t/saslprep.t libauthen-sasl-saslprep-perl-1.100/t/saslprep.t --- libauthen-sasl-saslprep-perl-1.011/t/saslprep.t 2015-04-13 18:41:09.000000000 +0000 +++ libauthen-sasl-saslprep-perl-1.100/t/saslprep.t 2016-09-25 16:58:58.000000000 +0000 @@ -31,13 +31,28 @@ [ "\x{3000}", ' ', 'ideographic space mapped to ASCII space' ], [ "\x{A0}\x{2009}\x{3000}", ' ', 'no space collapsing' ], + # newly assigned in Unicode 3.2 + # + [ "\x{2047}", "??", 'Double question mark (added in Unicode 3.2)' ], + [ "\x{30FF}", "コト", 'Katakana digraph koto (added in Unicode 3.2)' ], + [ "M&\x{20B0}", "M&\x{20B0}", 'German penny sign (added in Unicode 3.2)' ], + + # unassigned in 3.2 + # + [ "I\x{0221}", "I\x{0221}", 'Latin small letter d with curl (added in Unicode 4.0)', 1 ], + [ "\x{33FF}", "\x{33FF}", 'Square gal (added in Unicode 4.0, would decompose)', 1 ], + [ "\x{1F23B}", "\x{1F23B}", 'Squared CJK unified (added in Unicode 9.0, would decompose)', 1 ], + [ "\x{E01F8}", "\x{E01F8}", 'U+E01F8 (unassigned as of Unicode 9.0)', 1 ], ); -plan tests => ($#strprep+1) + 1; +plan tests => ($#strprep+1)*3 + 1; foreach my $test (@strprep) { - my ($in,$out,$comment) = @{$test}; + my ($in,$out,$comment,$has_unassigned) = @{$test}; is(eval{saslprep($in)}, $out, $comment); + is(eval{saslprep($in,0)}, $out, $comment.' (query)'); + $out = undef if $has_unassigned; + is(eval{saslprep($in,1)}, $out, $comment.' (stored)'); }