diff options
Diffstat (limited to 'upstream/mageia-cauldron/man1/perl5222delta.1')
-rw-r--r-- | upstream/mageia-cauldron/man1/perl5222delta.1 | 354 |
1 files changed, 354 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1/perl5222delta.1 b/upstream/mageia-cauldron/man1/perl5222delta.1 new file mode 100644 index 00000000..f45dc4ff --- /dev/null +++ b/upstream/mageia-cauldron/man1/perl5222delta.1 @@ -0,0 +1,354 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "PERL5222DELTA 1" +.TH PERL5222DELTA 1 2023-11-28 "perl v5.38.2" "Perl Programmers Reference Guide" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH NAME +perl5222delta \- what is new for perl v5.22.2 +.SH DESCRIPTION +.IX Header "DESCRIPTION" +This document describes differences between the 5.22.1 release and the 5.22.2 +release. +.PP +If you are upgrading from an earlier release such as 5.22.0, first read +perl5221delta, which describes differences between 5.22.0 and 5.22.1. +.SH Security +.IX Header "Security" +.SS "Fix out of boundary access in Win32 path handling" +.IX Subsection "Fix out of boundary access in Win32 path handling" +This is CVE\-2015\-8608. For more information see +[GH #15067] <https://github.com/Perl/perl5/issues/15067>. +.ie n .SS "Fix loss of taint in canonpath()" +.el .SS "Fix loss of taint in \f(CWcanonpath()\fP" +.IX Subsection "Fix loss of taint in canonpath()" +This is CVE\-2015\-8607. For more information see +[GH #15084] <https://github.com/Perl/perl5/issues/15084>. +.ie n .SS "Set proper umask before calling mkstemp(3)" +.el .SS "Set proper umask before calling \f(CWmkstemp(3)\fP" +.IX Subsection "Set proper umask before calling mkstemp(3)" +In 5.22.0 perl started setting umask to \f(CW0600\fR before calling \f(CWmkstemp(3)\fR +and restoring it afterwards. This wrongfully tells \f(CWopen(2)\fR to strip the +owner read and write bits from the given mode before applying it, rather than +the intended negation of leaving only those bits in place. +.PP +Systems that use mode \f(CW0666\fR in \f(CWmkstemp(3)\fR (like old versions of glibc) +create a file with permissions \f(CW0066\fR, leaving world read and write permissions +regardless of current umask. +.PP +This has been fixed by using umask \f(CW0177\fR instead. +.PP +[GH #15135] <https://github.com/Perl/perl5/issues/15135> +.ie n .SS "Avoid accessing uninitialized memory in Win32 crypt()" +.el .SS "Avoid accessing uninitialized memory in Win32 \f(CWcrypt()\fP" +.IX Subsection "Avoid accessing uninitialized memory in Win32 crypt()" +Validation that will detect both a short salt and invalid characters in the +salt has been added. +.PP +[GH #15091] <https://github.com/Perl/perl5/issues/15091> +.ie n .SS "Remove duplicate environment variables from ""environ""" +.el .SS "Remove duplicate environment variables from \f(CWenviron\fP" +.IX Subsection "Remove duplicate environment variables from environ" +Previously, if an environment variable appeared more than once in \f(CW\*(C`environ[]\*(C'\fR, +\&\f(CW%ENV\fR would contain the last entry for that name, while a +typical \f(CWgetenv()\fR would return the first entry. We now make sure \f(CW%ENV\fR +contains the same as what \f(CWgetenv()\fR returns. +.PP +Secondly, we now remove duplicates from \f(CW\*(C`environ[]\*(C'\fR, so if a setting with that +name is set in \f(CW%ENV\fR we won't pass an unsafe value to a child process. +.PP +This is CVE\-2016\-2381. +.SH "Incompatible Changes" +.IX Header "Incompatible Changes" +There are no changes intentionally incompatible with Perl 5.22.1. If any +exist, they are bugs, and we request that you submit a report. See +"Reporting Bugs" below. +.SH "Modules and Pragmata" +.IX Header "Modules and Pragmata" +.SS "Updated Modules and Pragmata" +.IX Subsection "Updated Modules and Pragmata" +.IP \(bu 4 +File::Spec has been upgraded from version 3.56 to 3.56_01. +.Sp +\&\f(CWcanonpath()\fR now preserves taint. See "Fix loss of taint in +\&\f(CWcanonpath()\fR". +.IP \(bu 4 +Module::CoreList has been upgraded from version 5.20151213 to 5.20160429. +.Sp +The version number of Digest::SHA listed for Perl 5.18.4 was wrong and has +been corrected. Likewise for the version number of Config in 5.18.3 and +5.18.4. +[GH #15202] <https://github.com/Perl/perl5/issues/15202> +.SH Documentation +.IX Header "Documentation" +.SS "Changes to Existing Documentation" +.IX Subsection "Changes to Existing Documentation" +\fIperldiag\fR +.IX Subsection "perldiag" +.IP \(bu 4 +The explanation of the warning "unable to close filehandle \f(CW%s\fR properly: \f(CW%s\fR" +which can occur when doing an implicit close of a filehandle has been expanded +and improved. +.PP +\fIperlfunc\fR +.IX Subsection "perlfunc" +.IP \(bu 4 +The documentation of \f(CWhex()\fR has been revised to clarify valid +inputs. +.SH "Configuration and Compilation" +.IX Header "Configuration and Compilation" +.IP \(bu 4 +Dtrace builds now build successfully on systems with a newer dtrace that +require an input object file that uses the probes in the \fI.d\fR file. +.Sp +Previously the probe would fail and cause a build failure. +.Sp +[GH #13985] <https://github.com/Perl/perl5/issues/13985> +.IP \(bu 4 +\&\fIConfigure\fR no longer probes for \fIlibnm\fR by default. Originally this was the +"New Math" library, but the name has been re-used by the GNOME NetworkManager. +.Sp +[GH #15115] <https://github.com/Perl/perl5/issues/15115> +.IP \(bu 4 +\&\fIConfigure\fR now knows about gcc 5. +.IP \(bu 4 +Compiling perl with \fB\-DPERL_MEM_LOG\fR now works again. +.SH "Platform Support" +.IX Header "Platform Support" +.SS "Platform-Specific Notes" +.IX Subsection "Platform-Specific Notes" +.IP Darwin 4 +.IX Item "Darwin" +Compiling perl with \fB\-Dusecbacktrace\fR on Darwin now works again. +.Sp +[GH #15245] <https://github.com/Perl/perl5/issues/15245> +.IP "OS X/Darwin" 4 +.IX Item "OS X/Darwin" +Builds with both \fB\-DDEBUGGING\fR and threading enabled would fail with a "panic: +free from wrong pool" error when built or tested from Terminal on OS X. This +was caused by perl's internal management of the environment conflicting with an +atfork handler using the libc \f(CWsetenv()\fR function to update the environment. +.Sp +Perl now uses \f(CWsetenv()\fR/\f(CWunsetenv()\fR to update the environment on OS X. +.Sp +[GH #14955] <https://github.com/Perl/perl5/issues/14955> +.IP ppc64el 4 +.IX Item "ppc64el" +The floating point format of ppc64el (Debian naming for little-endian PowerPC) +is now detected correctly. +.IP Tru64 4 +.IX Item "Tru64" +A test failure in \fIt/porting/extrefs.t\fR has been fixed. +.SH "Internal Changes" +.IX Header "Internal Changes" +.IP \(bu 4 +An unwarranted assertion in \f(CWPerl_newATTRSUB_x()\fR has been removed. If a stub +subroutine definition with a prototype has been seen, then any subsequent stub +(or definition) of the same subroutine with an attribute was causing an +assertion failure because of a null pointer. +.Sp +[GH #15081] <https://github.com/Perl/perl5/issues/15081> +.SH "Selected Bug Fixes" +.IX Header "Selected Bug Fixes" +.IP \(bu 4 +Calls to the placeholder \f(CW&PL_sv_yes\fR used internally when an \f(CWimport()\fR or +\&\f(CWunimport()\fR method isn't found now correctly handle scalar context. +[GH #14902] <https://github.com/Perl/perl5/issues/14902> +.IP \(bu 4 +The \f(CWpipe()\fR operator would assert for \f(CW\*(C`DEBUGGING\*(C'\fR builds +instead of producing the correct error message. The condition asserted on is +detected and reported on correctly without the assertions, so the assertions +were removed. +[GH #15015] <https://github.com/Perl/perl5/issues/15015> +.IP \(bu 4 +In some cases, failing to parse a here-doc would attempt to use freed memory. +This was caused by a pointer not being restored correctly. +[GH #15009] <https://github.com/Perl/perl5/issues/15009> +.IP \(bu 4 +Perl now reports more context when it sees an array where it expects to see an +operator, and avoids an assertion failure. +[GH #14472] <https://github.com/Perl/perl5/issues/14472> +.IP \(bu 4 +If a here-doc was found while parsing another operator, the parser had already +read end of file, and the here-doc was not terminated, perl could produce an +assertion or a segmentation fault. This now reliably complains about the +unterminated here-doc. +[GH #14789] <https://github.com/Perl/perl5/issues/14789> +.IP \(bu 4 +Parsing beyond the end of the buffer when processing a \f(CW\*(C`#line\*(C'\fR directive with +no filename is now avoided. +[GH #15139] <https://github.com/Perl/perl5/issues/15139> +.IP \(bu 4 +Perl 5.22.0 added support for the C99 hexadecimal floating point notation, but +sometimes misparsed hex floats. This has been fixed. +[GH #15120] <https://github.com/Perl/perl5/issues/15120> +.IP \(bu 4 +Certain regex patterns involving a complemented posix class in an inverted +bracketed character class, and matching something else optionally would +improperly fail to match. An example of one that could fail is +\&\f(CW\*(C`qr/_?[^\eWbar]\ex{100}/\*(C'\fR. This has been fixed. +[GH #15181] <https://github.com/Perl/perl5/issues/15181> +.IP \(bu 4 +Fixed an issue with \f(CWpack()\fR where \f(CW\*(C`pack "H"\*(C'\fR (and +\&\f(CW\*(C`pack "h"\*(C'\fR) could read past the source when given a non\-utf8 source and a +utf8 target. +[GH #14977] <https://github.com/Perl/perl5/issues/14977> +.IP \(bu 4 +Fixed some cases where perl would abort due to a segmentation fault, or a +C\-level assert. +[GH #14941] <https://github.com/Perl/perl5/issues/14941> +[GH #14962] <https://github.com/Perl/perl5/issues/14962> +[GH #14963] <https://github.com/Perl/perl5/issues/14963> +[GH #14997] <https://github.com/Perl/perl5/issues/14997> +[GH #15039] <https://github.com/Perl/perl5/issues/15039> +[GH #15247] <https://github.com/Perl/perl5/issues/15247> +[GH #15251] <https://github.com/Perl/perl5/issues/15251> +.IP \(bu 4 +A memory leak when setting \f(CW$ENV{foo}\fR on Darwin has been fixed. +[GH #14955] <https://github.com/Perl/perl5/issues/14955> +.IP \(bu 4 +Perl now correctly raises an error when trying to compile patterns with +unterminated character classes while there are trailing backslashes. +[GH #14919] <https://github.com/Perl/perl5/issues/14919> +.IP \(bu 4 +\&\f(CW\*(C`NOTHING\*(C'\fR regops and \f(CW\*(C`EXACTFU_SS\*(C'\fR regops in \f(CWmake_trie()\fR are now handled +properly. +[GH #14945] <https://github.com/Perl/perl5/issues/14945> +.IP \(bu 4 +Perl now only tests \f(CWsemctl()\fR if we have everything needed to use it. In +FreeBSD the \f(CWsemctl()\fR entry point may exist, but it can be disabled by +policy. +[GH #15180] <https://github.com/Perl/perl5/issues/15180> +.IP \(bu 4 +A regression that allowed undeclared barewords as hash keys to work despite +strictures has been fixed. +[GH #15099] <https://github.com/Perl/perl5/issues/15099> +.IP \(bu 4 +As an optimization (introduced in Perl 5.20.0), \f(CWuc()\fR, +\&\f(CWlc()\fR, \f(CWucfirst()\fR and +\&\f(CWlcfirst()\fR sometimes modify their argument in-place +rather than returning a modified copy. The criteria for this optimization has +been made stricter to avoid these functions accidentally modifying in-place +when they should not, which has been happening in some cases, e.g. in +List::Util. +.IP \(bu 4 +Excessive memory usage in the compilation of some regular expressions involving +non-ASCII characters has been reduced. A more complete fix is forthcoming in +Perl 5.24.0. +.SH Acknowledgements +.IX Header "Acknowledgements" +Perl 5.22.2 represents approximately 5 months of development since Perl 5.22.1 +and contains approximately 3,000 lines of changes across 110 files from 24 +authors. +.PP +Excluding auto-generated files, documentation and release tools, there were +approximately 1,500 lines of changes to 52 .pm, .t, .c and .h files. +.PP +Perl continues to flourish into its third decade thanks to a vibrant community +of users and developers. The following people are known to have contributed +the improvements that became Perl 5.22.2: +.PP +Aaron Crane, Abigail, Andreas König, Aristotle Pagaltzis, Chris 'BinGOs' +Williams, Craig A. Berry, Dagfinn Ilmari Mannsåker, David Golden, David +Mitchell, H.Merijn Brand, James E Keenan, Jarkko Hietaniemi, Karen Etheridge, +Karl Williamson, Matthew Horsfall, Niko Tyni, Ricardo Signes, Sawyer X, Stevan +Little, Steve Hay, Todd Rinaldo, Tony Cook, Vladimir Timofeev, Yves Orton. +.PP +The list above is almost certainly incomplete as it is automatically generated +from version control history. In particular, it does not include the names of +the (very much appreciated) contributors who reported issues to the Perl bug +tracker. +.PP +Many of the changes included in this version originated in the CPAN modules +included in Perl's core. We're grateful to the entire CPAN community for +helping Perl to flourish. +.PP +For a more complete list of all of Perl's historical contributors, please see +the \fIAUTHORS\fR file in the Perl source distribution. +.SH "Reporting Bugs" +.IX Header "Reporting Bugs" +If you find what you think is a bug, you might check the articles recently +posted to the comp.lang.perl.misc newsgroup and the perl bug database at +https://rt.perl.org/ . There may also be information at http://www.perl.org/ , +the Perl Home Page. +.PP +If you believe you have an unreported bug, please run the perlbug program +included with your release. Be sure to trim your bug down to a tiny but +sufficient test case. Your bug report, along with the output of \f(CW\*(C`perl \-V\*(C'\fR, +will be sent off to perlbug@perl.org to be analysed by the Perl porting team. +.PP +If the bug you are reporting has security implications, which make it +inappropriate to send to a publicly archived mailing list, then please send it +to perl5\-security\-report@perl.org. This points to a closed subscription +unarchived mailing list, which includes all the core committers, who will be +able to help assess the impact of issues, figure out a resolution, and help +co-ordinate the release of patches to mitigate or fix the problem across all +platforms on which Perl is supported. Please only use this address for +security issues in the Perl core, not for modules independently distributed on +CPAN. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +The \fIChanges\fR file for an explanation of how to view exhaustive details on +what changed. +.PP +The \fIINSTALL\fR file for how to build Perl. +.PP +The \fIREADME\fR file for general stuff. +.PP +The \fIArtistic\fR and \fICopying\fR files for copyright information. |