Branch: refs/heads/smoke-me/khw-safe
Home: https://github.com/Perl/perl5
Commit: 1c5fc034b583b87fd58ee385a8db71234bba6442
https://github.com/Perl/perl5/commit/1c5fc034b583b87fd58ee385a8db71234bba6442
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Move some statements
So they are closer to related statements
Commit: d5b44c4d92a319d3b56b1485adde650e857f1206
https://github.com/Perl/perl5/commit/d5b44c4d92a319d3b56b1485adde650e857f1206
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M perl.h
Log Message:
-----------
XXX finish msg Implement combo ENV/LOCALE mutexes
There are cases where an executing function is vulnerable to either the
locale or environment being changed by another thread. This implements
macros that use mutexes to protect these critical sections. There are
two cases that exist: one where the functions only read; and one where
they can also need exclusive control so that a competing thread can't
overwrite the returned static buffer before it is safely copied.
5.32 had a placeholder for these, but didn't actually implement it.
Instead it locked just the ENV portion. On modern platforms with
thread-safe locales, the locale portion is a no-op anyway, so things
worked on them.
This new commit extends that safety to other platforms. This has long
been a vulnerability in Perl, but
Commit: 4c420020a6083f52273098a628371fddb41f4f9e
https://github.com/Perl/perl5/commit/4c420020a6083f52273098a628371fddb41f4f9e
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M cygwin/cygwin.c
M dist/IO/IO.pm
M embed.fnc
M embed.h
M embedvar.h
M ext/I18N-Langinfo/Langinfo.pm
M ext/I18N-Langinfo/Langinfo.xs
M ext/POSIX/POSIX.xs
M ext/POSIX/lib/POSIX.pm
M ext/POSIX/lib/POSIX.pod
M ext/POSIX/t/mb.t
M handy.h
M inline.h
M intrpvar.h
M iperlsys.h
M lib/locale_threads.t
M locale.c
M makedef.pl
M perl.c
M perl.h
M pod/perllocale.pod
M proto.h
M regen/reentr.pl
M regexec.c
M sv.c
M t/harness
M t/loc_tools.pl
M t/porting/known_pod_issues.dat
M t/re/charset.t
M thread.h
M unixish.h
M util.c
Log Message:
-----------
STRFTIME
Commit: fe1133979e4ae08cf057daf9268aca3a09827699
https://github.com/Perl/perl5/commit/fe1133979e4ae08cf057daf9268aca3a09827699
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Refactor #ifdef's for clarity
The my_strerror() function has effectively 5 different implementations
depending on the capabilities of the platform. Only a few lines are
common to all, the set-up and the return. The #ifdefs obscure the
underlying logic. So this commit separates them out into 5 different
functions, with the result that it's clear what is going on in each.
Commit: 905d78fbf4e98d062a7c539bb702de7a08bfa097
https://github.com/Perl/perl5/commit/905d78fbf4e98d062a7c539bb702de7a08bfa097
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M locale.c
M mg.c
Log Message:
-----------
more strerror mg.c
Commit: de93b4d29dd7267538bcc79f1dc76c47d1e68453
https://github.com/Perl/perl5/commit/de93b4d29dd7267538bcc79f1dc76c47d1e68453
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M locale.c
Log Message:
-----------
XXX prob drop; done before anything so no races
Commit: d92ece1134b29d5fe4676a8cc456591e328fe37e
https://github.com/Perl/perl5/commit/d92ece1134b29d5fe4676a8cc456591e328fe37e
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M util.c
Log Message:
-----------
XXX util.c: LOCALTIME lock
Commit: 63cb5a0ee53dbf9801cdfba98d519dc97e5683d9
https://github.com/Perl/perl5/commit/63cb5a0ee53dbf9801cdfba98d519dc97e5683d9
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M time64.c
Log Message:
-----------
time64.c: Remove no longer needed code
This code defined some macros; those are now defined by perl.h
Commit: 9c71e12fa5e23c201eae7a131f36f8d9cbbfa043
https://github.com/Perl/perl5/commit/9c71e12fa5e23c201eae7a131f36f8d9cbbfa043
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M pp_sys.c
Log Message:
-----------
XXX need to StructCopy pp_sys mutexes
Commit: 90d2fbffa28d834285a2bca13bf6925b3091990b
https://github.com/Perl/perl5/commit/90d2fbffa28d834285a2bca13bf6925b3091990b
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M win32/win32.c
Log Message:
-----------
win32.c: Add mutexes around some calls
These could have races.
Commit: 80d5fac5870b6f7fe51fc6bc49241583ded5c70f
https://github.com/Perl/perl5/commit/80d5fac5870b6f7fe51fc6bc49241583ded5c70f
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M win32/win32.c
Log Message:
-----------
more_win32.c
Commit: 762c5d53235317a9ffef3ea3780efc005607df37
https://github.com/Perl/perl5/commit/762c5d53235317a9ffef3ea3780efc005607df37
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M util.c
Log Message:
-----------
mktime needs to run under a mutex
per the Posix standard
Commit: 7e5392a4c351ff68d0596fc034097f0eb2b4aaa0
https://github.com/Perl/perl5/commit/7e5392a4c351ff68d0596fc034097f0eb2b4aaa0
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M dist/ExtUtils-ParseXS/lib/perlxs.pod
Log Message:
-----------
XXX perlxs
Commit: f26d6ff4f2d2fcc5f8854fd56ecfc2b74606e256
https://github.com/Perl/perl5/commit/f26d6ff4f2d2fcc5f8854fd56ecfc2b74606e256
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M dist/ExtUtils-ParseXS/lib/perlxs.pod
Log Message:
-----------
more perlxs
Commit: cb871769b83d772390a0972fd51c9a26e5f61a71
https://github.com/Perl/perl5/commit/cb871769b83d772390a0972fd51c9a26e5f61a71
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M os2/os2.c
Log Message:
-----------
os2: Use many reader lock instead of exclusive
This is just reading the environment, not changing it, so a many readers
can be accessing it at the same time.
Commit: f7a22154dce2644c87da803a0a5f814be1d806a1
https://github.com/Perl/perl5/commit/f7a22154dce2644c87da803a0a5f814be1d806a1
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M dosish.h
M unixish.h
Log Message:
-----------
XXX Fix IO destruction order
During destruction, a list is executed in order. Here's a couple of
them:
OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM;
If something goes wrong, and the I/O system has already been destructed,
it's hard to figure out what's going on. This is solved simply by
moving the I/O termination to the end of the list.
revert move
Commit: 67db954fa0c605fb9f07545659d97256b6f28ec6
https://github.com/Perl/perl5/commit/67db954fa0c605fb9f07545659d97256b6f28ec6
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M cpan/Time-Piece/Piece.pm
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
XXX cpan PR Time-Piece
Commit: d3eb6fcd8561292f304cc8d4b33c11872cd5822e
https://github.com/Perl/perl5/commit/d3eb6fcd8561292f304cc8d4b33c11872cd5822e
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
cpan/Time-Piece/Piece.xs: Use foldEQ_locale() if available
Using this is preferable to the glibc function due to it being tailored
for Perl, and is thread-safe in the latest versions.
Commit: 74092a6bc162aef4ecd492f616131ec1fc286be3
https://github.com/Perl/perl5/commit/74092a6bc162aef4ecd492f616131ec1fc286be3
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Time-Piece/Piece.xs: Use isDIGIT, not isdigit
isDIGIT is not locale-dependent, matching just [0-9]. There was a bug
using isdigit() in at least one place where it calculated the value of
the digit by subtracting the original of '0' from it. This works only
if the digit is in [0-9], but there are locales where there is another
set of digits, and so would give a very wrong result. That makes it
clear to me that only [0-9] were assumed by the original authors.
Commit: 9c1593f029af31dd9fae97c56592f8d946a16968
https://github.com/Perl/perl5/commit/9c1593f029af31dd9fae97c56592f8d946a16968
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
XXX Time-Piece/Piece.xs: Use isSPACE not isspace
Same msg as prev commit
Commit: bb2e142db82dd829b0f3473107af2eb397e04bfe
https://github.com/Perl/perl5/commit/bb2e142db82dd829b0f3473107af2eb397e04bfe
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
XXX Time-Piece/Piece.xs: Use isUPPER not isupper
Same msg as prev commit
Commit: 09f5d76173bb528a8b44ab7e1e8a14a9fc589c73
https://github.com/Perl/perl5/commit/09f5d76173bb528a8b44ab7e1e8a14a9fc589c73
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
XXX Time Piece temporary
Commit: b4cc70370e5d477b3c32cdd7978084a6f1da74ab
https://github.com/Perl/perl5/commit/b4cc70370e5d477b3c32cdd7978084a6f1da74ab
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Timepiece
Commit: 48448952a3306c9024578d3d6ef365dfefcc5204
https://github.com/Perl/perl5/commit/48448952a3306c9024578d3d6ef365dfefcc5204
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M pod/perlhacktips.pod
Log Message:
-----------
XXX incomplete perlhacktips:
Commit: e79bc031e4b8710383a1c7b34452bdb28a363b15
https://github.com/Perl/perl5/commit/e79bc031e4b8710383a1c7b34452bdb28a363b15
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M dist/IO/IO.xs
Log Message:
-----------
XXX check if using ppport IO.xs: Remove fallback code furnished by ppport
Commit: ce7fa363d10a54e3dcb058a5f0569e4272b4b2dd
https://github.com/Perl/perl5/commit/ce7fa363d10a54e3dcb058a5f0569e4272b4b2dd
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M hints/freebsd.sh
Log Message:
-----------
XXX check with freebsd: hints/freebsd.sh
Commit: 1792a46d59d0b9f16f35415f771e3d0c54270b61
https://github.com/Perl/perl5/commit/1792a46d59d0b9f16f35415f771e3d0c54270b61
Author: Karl Williamson <[email protected]>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M embed.fnc
M locale.c
M proto.h
Log Message:
-----------
f
Compare: https://github.com/Perl/perl5/compare/7b3d7aa8f126...1792a46d59d0