This commit is contained in:
purplerain 2023-07-10 00:10:46 +00:00
parent 2a351e0cdc
commit f57be82572
Signed by: purplerain
GPG Key ID: F42C07F07E2E35B7
704 changed files with 20524 additions and 10572 deletions

View File

@ -1,5 +1,5 @@
#!/bin/ksh
# $OpenBSD: install.sub,v 1.1250 2023/06/18 15:17:38 deraadt Exp $
# $OpenBSD: install.sub,v 1.1251 2023/07/08 15:01:09 kn Exp $
#
# Copyright (c) 1997-2015 Todd Miller, Theo de Raadt, Ken Westerback
# Copyright (c) 2015, Robert Peichaer <rpe@openbsd.org>
@ -307,6 +307,7 @@ scan_disknames() {
get_softraid_chunks() {
local _device=${1:-softraid0}
[[ -x /sbin/bioctl ]] || return
bioctl $_device 2>/dev/null | sed -n 's/.*<\(.*\).>$/\1/p'
}
@ -3084,6 +3085,8 @@ encrypt_root() {
# The interactive bioctl(8) passphrase prompt requires a TTY.
$AI && return
[[ -x /sbin/bioctl ]] || return
# Do not even try if softraid is in use already,
# e.g. auto-assembled at boot or done in (S)hell.
[[ -z $(get_softraid_volumes) ]] || return

View File

@ -1660,6 +1660,7 @@
./usr/libdata/perl5/pod/perl5340delta.pod
./usr/libdata/perl5/pod/perl5341delta.pod
./usr/libdata/perl5/pod/perl5360delta.pod
./usr/libdata/perl5/pod/perl5361delta.pod
./usr/libdata/perl5/pod/perl561delta.pod
./usr/libdata/perl5/pod/perl56delta.pod
./usr/libdata/perl5/pod/perl581delta.pod

View File

@ -176,6 +176,7 @@
./usr/include/dev/i2c/i2c_bitbang.h
./usr/include/dev/i2c/i2c_io.h
./usr/include/dev/i2c/i2cvar.h
./usr/include/dev/i2c/ietp.h
./usr/include/dev/i2c/ihidev.h
./usr/include/dev/ic
./usr/include/dev/ic/aac_tables.h
@ -1766,7 +1767,6 @@
./usr/share/man/man3/ASN1_TIME_set.3
./usr/share/man/man3/ASN1_TYPE_get.3
./usr/share/man/man3/ASN1_UNIVERSALSTRING_to_string.3
./usr/share/man/man3/ASN1_bn_print.3
./usr/share/man/man3/ASN1_buf_print.3
./usr/share/man/man3/ASN1_generate_nconf.3
./usr/share/man/man3/ASN1_get_object.3
@ -1925,6 +1925,7 @@
./usr/share/man/man3/EVP_DigestVerifyInit.3
./usr/share/man/man3/EVP_EncodeInit.3
./usr/share/man/man3/EVP_EncryptInit.3
./usr/share/man/man3/EVP_MD_meth_new.3
./usr/share/man/man3/EVP_OpenInit.3
./usr/share/man/man3/EVP_PKCS82PKEY.3
./usr/share/man/man3/EVP_PKEY_CTX_ctrl.3

View File

@ -252,6 +252,7 @@
./usr/share/man/man1/perl5340delta.1
./usr/share/man/man1/perl5341delta.1
./usr/share/man/man1/perl5360delta.1
./usr/share/man/man1/perl5361delta.1
./usr/share/man/man1/perl561delta.1
./usr/share/man/man1/perl56delta.1
./usr/share/man/man1/perl581delta.1
@ -1544,6 +1545,7 @@
./usr/share/man/man4/icmp.4
./usr/share/man/man4/icmp6.4
./usr/share/man/man4/icsphy.4
./usr/share/man/man4/ietp.4
./usr/share/man/man4/ifmedia.4
./usr/share/man/man4/igc.4
./usr/share/man/man4/iha.4

View File

@ -5111,6 +5111,7 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
elf_tdata (output_bfd)->relro = info->relro;
elf_tdata (output_bfd)->wxneeded = info->wxneeded;
elf_tdata (output_bfd)->nobtcfi = info->nobtcfi;
elf_tdata (output_bfd)->executable = info->executable;
if (info->execstack)
elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;

View File

@ -434,6 +434,7 @@ Edward Moy <emoy@apple.com>
Edward Peschko <edwardp@excitehome.net>
Elaine -HFB- Ashton <elaine@chaos.wustl.edu>
Elizabeth Mattijsen <liz@dijkmat.nl>
Elvin Aslanov <rwp.primary@gmail.com>
Enrico Sorcinelli <bepi@perl.it>
Eric Amick
Eric Arnold <eric.arnold@sun.com>

View File

@ -4641,7 +4641,7 @@ esac
# so we will take those off from locincpth.
case "$gccversion" in
3.*)
echo "main(){}">try.c
echo "int main(){}">try.c
for incdir in $locincpth; do
warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \
grep '^c[cp]p*[01]: warning: changing search order '`
@ -5793,6 +5793,7 @@ case "$intsize" in
#ifdef I_STDLIB
#include <stdlib.h>
#endif
#include <stdio.h>
int main()
{
printf("intsize=%d;\n", (int)sizeof(int));
@ -6866,6 +6867,7 @@ case "$doublesize" in
#ifdef I_STDLIB
#include <stdlib.h>
#endif
#include <stdio.h>
int main()
{
printf("%d\n", (int)sizeof(double));
@ -7910,46 +7912,20 @@ esac
: compute the return types of malloc and free
echo " "
$cat >malloc.c <<END
#$i_malloc I_MALLOC
#$i_stdlib I_STDLIB
#include <stdio.h>
#include <sys/types.h>
#ifdef I_MALLOC
#include <malloc.h>
#endif
#ifdef I_STDLIB
#include <stdlib.h>
#endif
#ifdef TRY_MALLOC
void *malloc();
#endif
#ifdef TRY_FREE
void free();
#endif
END
case "$malloctype" in
'')
if $cc $ccflags -c -DTRY_MALLOC malloc.c >/dev/null 2>&1; then
malloctype='void *'
else
malloctype='char *'
fi
malloctype='void *'
;;
esac
echo "Your system wants malloc to return '$malloctype', it would seem." >&4
case "$freetype" in
'')
if $cc $ccflags -c -DTRY_FREE malloc.c >/dev/null 2>&1; then
freetype='void'
else
freetype='int'
fi
freetype='void'
;;
esac
echo "Your system uses $freetype free(), it would seem." >&4
$rm -f malloc.[co]
: determine where site specific architecture-dependent libraries go.
: sitelib default is /usr/local/lib/perl5/site_perl/$version
: sitearch default is /usr/local/lib/perl5/site_perl/$version/$archname
@ -12627,7 +12603,7 @@ case "$dlsrc" in
dl_dlopen.xs)
echo "Checking whether your dlsym() needs a leading underscore ..." >&4
$cat >dyna.c <<'EOM'
fred () { }
void fred (void) { }
EOM
$cat >fred.c<<EOM
@ -12646,7 +12622,7 @@ $cat >fred.c<<EOM
#include <link.h>
#endif
extern int fred() ;
extern void fred(void) ;
int main()
{
@ -13680,6 +13656,7 @@ $cat >try.c <<EOP
#ifdef I_STDLIB
#include <stdlib.h>
#endif
#include <string.h>
#define FILE_ptr(fp) $stdio_ptr
#define FILE_cnt(fp) $stdio_cnt
int main() {
@ -16187,6 +16164,7 @@ echo "Checking to see if your libm supports _LIB_VERSION..." >&4
$cat >try.c <<EOCP
#include <unistd.h>
#include <math.h>
#include <stdio.h>
int main (int argc, char *argv[])
{
printf ("%d\n", _LIB_VERSION);
@ -22084,13 +22062,15 @@ pager="$ans"
: see if ar generates random libraries by itself
echo " "
echo "Checking how to generate random libraries on your machine..." >&4
echo 'int bar1() { return bar2(); }' > bar1.c
echo 'extern int bar2(); int bar1() { return bar2(); }' > bar1.c
echo 'int bar2() { return 2; }' > bar2.c
$cat > foo.c <<EOP
#$i_stdlib I_STDLIB
#ifdef I_STDLIB
#include <stdlib.h>
#endif
#include <stdio.h>
extern int bar1();
int main() { printf("%d\n", bar1()); exit(0); }
EOP
$cc $ccflags -c bar1.c >/dev/null 2>&1
@ -22316,7 +22296,7 @@ EOM
for nfd in 'int' 'size_t' 'unsigned long' 'unsigned' ; do
for tmo in 'struct timeval *' 'const struct timeval *'; do
case "$val" in
'') try="$extern_C select _(($nfd, $xxx, $xxx, $xxx, $tmo));"
'') try="$extern_C int select _(($nfd, $xxx, $xxx, $xxx, $tmo));"
if ./protochk "$try" $hdrs; then
echo "Your system accepts $xxx."
val="$xxx"

View File

@ -35,8 +35,8 @@ api_subversion='0'
api_version='36'
api_versionstring='5.36.0'
ar='ar'
archlib='/usr/lib/perl5/5.36.0/armv4l-linux'
archlibexp='/usr/lib/perl5/5.36.0/armv4l-linux'
archlib='/usr/lib/perl5/5.36.1/armv4l-linux'
archlibexp='/usr/lib/perl5/5.36.1/armv4l-linux'
archname64=''
archname='armv4l-linux'
archobjs=''
@ -55,7 +55,7 @@ castflags='0'
cat='cat'
cc='cc'
cccdlflags='-fpic'
ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.36.0/armv4l-linux/CORE'
ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.36.1/armv4l-linux/CORE'
ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccname='arm-linux-gcc'
@ -831,7 +831,7 @@ inc_version_list=' '
inc_version_list_init='0'
incpath=''
inews=''
installarchlib='./install_me_here/usr/lib/perl5/5.36.0/armv4l-linux'
installarchlib='./install_me_here/usr/lib/perl5/5.36.1/armv4l-linux'
installbin='./install_me_here/usr/bin'
installhtml1dir=''
installhtml3dir=''
@ -839,13 +839,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
installman3dir='./install_me_here/usr/share/man/man3'
installprefix='./install_me_here/usr'
installprefixexp='./install_me_here/usr'
installprivlib='./install_me_here/usr/lib/perl5/5.36.0'
installprivlib='./install_me_here/usr/lib/perl5/5.36.1'
installscript='./install_me_here/usr/bin'
installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.36.0/armv4l-linux'
installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
installsitebin='./install_me_here/usr/bin'
installsitehtml1dir=''
installsitehtml3dir=''
installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.36.0'
installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.36.1'
installsiteman1dir='./install_me_here/usr/share/man/man1'
installsiteman3dir='./install_me_here/usr/share/man/man3'
installsitescript='./install_me_here/usr/bin'
@ -980,8 +980,8 @@ pmake=''
pr=''
prefix='/usr'
prefixexp='/usr'
privlib='/usr/lib/perl5/5.36.0'
privlibexp='/usr/lib/perl5/5.36.0'
privlib='/usr/lib/perl5/5.36.1'
privlibexp='/usr/lib/perl5/5.36.1'
procselfexe='"/proc/self/exe"'
prototype='define'
ptrsize='4'
@ -1046,17 +1046,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0'
sig_size='68'
signal_t='void'
sitearch='/usr/lib/perl5/site_perl/5.36.0/armv4l-linux'
sitearchexp='/usr/lib/perl5/site_perl/5.36.0/armv4l-linux'
sitearch='/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
sitearchexp='/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
sitebin='/usr/bin'
sitebinexp='/usr/bin'
sitehtml1dir=''
sitehtml1direxp=''
sitehtml3dir=''
sitehtml3direxp=''
sitelib='/usr/lib/perl5/site_perl/5.36.0'
sitelib='/usr/lib/perl5/site_perl/5.36.1'
sitelib_stem='/usr/lib/perl5/site_perl'
sitelibexp='/usr/lib/perl5/site_perl/5.36.0'
sitelibexp='/usr/lib/perl5/site_perl/5.36.1'
siteman1dir='/usr/share/man/man1'
siteman1direxp='/usr/share/man/man1'
siteman3dir='/usr/share/man/man3'
@ -1097,7 +1097,7 @@ stdio_stream_array=''
strerror_r_proto='0'
strings='/usr/include/string.h'
submit=''
subversion='0'
subversion='1'
sysman='/usr/share/man/man1'
tail=''
tar=''
@ -1188,8 +1188,8 @@ vendorprefix=''
vendorprefixexp=''
vendorscript=''
vendorscriptexp=''
version='5.36.0'
version_patchlevel_string='version 36 subversion 0'
version='5.36.1'
version_patchlevel_string='version 36 subversion 1'
versiononly='undef'
vi=''
xlibpth='/usr/lib/386 /lib/386'
@ -1204,7 +1204,7 @@ config_args=''
config_argc=0
PERL_REVISION=5
PERL_VERSION=36
PERL_SUBVERSION=0
PERL_SUBVERSION=1
PERL_API_REVISION=5
PERL_API_VERSION=36
PERL_API_SUBVERSION=0

View File

@ -35,8 +35,8 @@ api_subversion='0'
api_version='36'
api_versionstring='5.36.0'
ar='ar'
archlib='/usr/lib/perl5/5.36.0/armv4l-linux'
archlibexp='/usr/lib/perl5/5.36.0/armv4l-linux'
archlib='/usr/lib/perl5/5.36.1/armv4l-linux'
archlibexp='/usr/lib/perl5/5.36.1/armv4l-linux'
archname64=''
archname='armv4l-linux'
archobjs=''
@ -54,7 +54,7 @@ castflags='0'
cat='cat'
cc='arm-none-linux-gnueabi-gcc'
cccdlflags='-fpic'
ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.36.0/armv4l-linux/CORE'
ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.36.1/armv4l-linux/CORE'
ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccname='arm-linux-gcc'
@ -829,7 +829,7 @@ inc_version_list=' '
inc_version_list_init='0'
incpath=''
inews=''
installarchlib='./install_me_here/usr/lib/perl5/5.36.0/armv4l-linux'
installarchlib='./install_me_here/usr/lib/perl5/5.36.1/armv4l-linux'
installbin='./install_me_here/usr/bin'
installhtml1dir=''
installhtml3dir=''
@ -837,13 +837,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
installman3dir='./install_me_here/usr/share/man/man3'
installprefix='./install_me_here/usr'
installprefixexp='./install_me_here/usr'
installprivlib='./install_me_here/usr/lib/perl5/5.36.0'
installprivlib='./install_me_here/usr/lib/perl5/5.36.1'
installscript='./install_me_here/usr/bin'
installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.36.0/armv4l-linux'
installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
installsitebin='./install_me_here/usr/bin'
installsitehtml1dir=''
installsitehtml3dir=''
installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.36.0'
installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.36.1'
installsiteman1dir='./install_me_here/usr/share/man/man1'
installsiteman3dir='./install_me_here/usr/share/man/man3'
installsitescript='./install_me_here/usr/bin'
@ -978,8 +978,8 @@ pmake=''
pr=''
prefix='/usr'
prefixexp='/usr'
privlib='/usr/lib/perl5/5.36.0'
privlibexp='/usr/lib/perl5/5.36.0'
privlib='/usr/lib/perl5/5.36.1'
privlibexp='/usr/lib/perl5/5.36.1'
procselfexe='"/proc/self/exe"'
prototype='define'
ptrsize='4'
@ -1044,17 +1044,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0'
sig_size='68'
signal_t='void'
sitearch='/usr/lib/perl5/site_perl/5.36.0/armv4l-linux'
sitearchexp='/usr/lib/perl5/site_perl/5.36.0/armv4l-linux'
sitearch='/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
sitearchexp='/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
sitebin='/usr/bin'
sitebinexp='/usr/bin'
sitehtml1dir=''
sitehtml1direxp=''
sitehtml3dir=''
sitehtml3direxp=''
sitelib='/usr/lib/perl5/site_perl/5.36.0'
sitelib='/usr/lib/perl5/site_perl/5.36.1'
sitelib_stem='/usr/lib/perl5/site_perl'
sitelibexp='/usr/lib/perl5/site_perl/5.36.0'
sitelibexp='/usr/lib/perl5/site_perl/5.36.1'
siteman1dir='/usr/share/man/man1'
siteman1direxp='/usr/share/man/man1'
siteman3dir='/usr/share/man/man3'
@ -1095,7 +1095,7 @@ stdio_stream_array=''
strerror_r_proto='0'
strings='/usr/include/string.h'
submit=''
subversion='0'
subversion='1'
sysman='/usr/share/man/man1'
tail=''
tar=''
@ -1186,8 +1186,8 @@ vendorprefix=''
vendorprefixexp=''
vendorscript=''
vendorscriptexp=''
version='5.36.0'
version_patchlevel_string='version 36 subversion 0'
version='5.36.1'
version_patchlevel_string='version 36 subversion 1'
versiononly='undef'
vi=''
xlibpth='/usr/lib/386 /lib/386'
@ -1202,7 +1202,7 @@ config_args=''
config_argc=0
PERL_REVISION=5
PERL_VERSION=36
PERL_SUBVERSION=0
PERL_SUBVERSION=1
PERL_API_REVISION=5
PERL_API_VERSION=36
PERL_API_SUBVERSION=0

View File

@ -90,10 +90,10 @@ to F<pod/perldelta.pod> for more detailed information.
=head3 Compatibility with earlier versions
B<WARNING:> This version is not binary compatible with earlier versions
of Perl. If you have built extensions (i.e. modules that include C code)
using an earlier version of Perl, you will need to rebuild and reinstall
those extensions.
B<WARNING:> This version is not binary compatible with versions of Perl
earlier than 5.36.0. If you have built extensions (i.e. modules that
include C code) using an earlier version of Perl, you will need to
rebuild and reinstall those extensions.
Pure perl modules without XS or C code should continue to work fine
without reinstallation. See the discussion below on
@ -683,7 +683,7 @@ The directories set up by Configure fall into three broad categories.
=item Directories for the perl distribution
By default, Configure will use the following directories for 5.36.0.
By default, Configure will use the following directories for 5.36.1.
$version is the full perl version number, including subversion, e.g.
5.12.3, and $archname is a string like sun4-sunos,
determined by Configure. The full definitions of all Configure
@ -2506,8 +2506,8 @@ L<https://www.chiark.greenend.org.uk/~sgtatham/bugs.html>
=head1 Coexistence with earlier versions of perl 5
Perl 5.36.0 is not binary compatible with earlier versions of Perl.
In other words, you will have to recompile your XS modules.
Perl 5.36.1 is not binary compatible with versions of Perl earlier than.
5.36.0. In other words, you will have to recompile your XS modules.
In general, you can usually safely upgrade from one stable version of Perl
(e.g. 5.30.0) to another similar minor version (e.g. 5.30.1) without
@ -2581,9 +2581,9 @@ won't interfere with another version. (The defaults guarantee this for
libraries after 5.6.0, but not for executables. TODO?) One convenient
way to do this is by using a separate prefix for each version, such as
sh Configure -Dprefix=/opt/perl5.36.0
sh Configure -Dprefix=/opt/perl5.36.1
and adding /opt/perl5.36.0/bin to the shell PATH variable. Such users
and adding /opt/perl5.36.1/bin to the shell PATH variable. Such users
may also wish to add a symbolic link /usr/local/bin/perl so that
scripts can still start with #!/usr/local/bin/perl.
@ -2598,11 +2598,11 @@ yet.
=head2 Upgrading from 5.35.11 or earlier
B<Perl 5.36.0 may not be binary compatible with Perl 5.35.11 or
B<Perl 5.36.1 may not be binary compatible with Perl 5.35.11 or
earlier Perl releases.> Perl modules having binary parts
(meaning that a C compiler is used) will have to be recompiled to be
used with 5.36.0. If you find you do need to rebuild an extension with
5.36.0, you may safely do so without disturbing the older
used with 5.36.1. If you find you do need to rebuild an extension with
5.36.1, you may safely do so without disturbing the older
installations. (See L<"Coexistence with earlier versions of perl 5">
above.)
@ -2635,15 +2635,15 @@ Firstly, the bare minimum to run this script
print("$f\n");
}
in Linux with perl-5.36.0 is as follows (under $Config{prefix}):
in Linux with perl-5.36.1 is as follows (under $Config{prefix}):
./bin/perl
./lib/perl5/5.36.0/strict.pm
./lib/perl5/5.36.0/warnings.pm
./lib/perl5/5.36.0/i686-linux/File/Glob.pm
./lib/perl5/5.36.0/feature.pm
./lib/perl5/5.36.0/XSLoader.pm
./lib/perl5/5.36.0/i686-linux/auto/File/Glob/Glob.so
./lib/perl5/5.36.1/strict.pm
./lib/perl5/5.36.1/warnings.pm
./lib/perl5/5.36.1/i686-linux/File/Glob.pm
./lib/perl5/5.36.1/feature.pm
./lib/perl5/5.36.1/XSLoader.pm
./lib/perl5/5.36.1/i686-linux/auto/File/Glob/Glob.so
Secondly, for perl-5.10.1, the Debian perl-base package contains 591
files, (of which 510 are for lib/unicore) totaling about 3.5MB in its

View File

@ -5879,6 +5879,7 @@ pod/perl5320delta.pod Perl changes in version 5.32.0
pod/perl5321delta.pod Perl changes in version 5.32.1
pod/perl5340delta.pod Perl changes in version 5.34.0
pod/perl5341delta.pod Perl changes in version 5.34.1
pod/perl5360delta.pod Perl changes in version 5.36.0
pod/perl561delta.pod Perl changes in version 5.6.1
pod/perl56delta.pod Perl changes in version 5.6
pod/perl581delta.pod Perl changes in version 5.8.1
@ -5894,8 +5895,8 @@ pod/perl58delta.pod Perl changes in version 5.8.0
pod/perlapio.pod Perl internal IO abstraction interface
pod/perlartistic.pod Perl Artistic License
pod/perlbook.pod Perl book information
pod/perlboot.pod
pod/perlbot.pod
pod/perlboot.pod
pod/perlbot.pod
pod/perlcall.pod Perl calling conventions from C
pod/perlcheat.pod Perl cheat sheet
pod/perlclib.pod Internal replacements for standard C library functions
@ -5959,7 +5960,7 @@ pod/perlrecharclass.pod Perl regular expression character classes
pod/perlref.pod Perl references, the rest of the story
pod/perlreftut.pod Perl references short introduction
pod/perlreguts.pod Perl regular expression engine internals
pod/perlrepository.pod
pod/perlrepository.pod
pod/perlrequick.pod Perl regular expressions quick start
pod/perlreref.pod Perl regular expressions quick reference
pod/perlretut.pod Perl regular expressions tutorial
@ -5972,9 +5973,9 @@ pod/perlsub.pod Perl subroutines
pod/perlsyn.pod Perl syntax
pod/perlthrtut.pod Perl threads tutorial
pod/perltie.pod Perl objects hidden behind simple variables
pod/perltodo.pod
pod/perltooc.pod
pod/perltoot.pod
pod/perltodo.pod
pod/perltooc.pod
pod/perltoot.pod
pod/perltrap.pod Perl traps for the unwary
pod/perlunicode.pod Perl Unicode support
pod/perlunicook.pod Perl Unicode cookbook

View File

@ -118,6 +118,6 @@
"url" : "https://github.com/Perl/perl5"
}
},
"version" : "5.036000",
"version" : "5.036001",
"x_serialization_backend" : "JSON::PP version 4.07"
}

View File

@ -105,5 +105,5 @@ resources:
homepage: https://www.perl.org/
license: https://dev.perl.org/licenses/
repository: https://github.com/Perl/perl5
version: '5.036000'
version: '5.036001'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

View File

@ -329,7 +329,7 @@ STATIC_LDFLAGS = $static_ldflags
LDLIBPTH = $ldlibpth
# Sometimes running an executable is an adventure.
RUN =
RUN =
# When cross-compiling we want to use a (mini)perl built for the host, not the target
HOST_PERL = $hostperl
@ -614,7 +614,7 @@ esac
$spitshell >>$Makefile <<'!NO!SUBS!'
perltoc_pod_prereqs = extra.pods pod/perl5360delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod
perltoc_pod_prereqs = extra.pods pod/perl5361delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod
generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
generated_headers = uudmap.h bitcount.h mg_data.h
@ -650,7 +650,7 @@ lintflags = \
-erroff=E_STATIC_UNUSED \
-erroff=E_TRUE_LOGICAL_EXPR
.c$(OBJ_EXT):
.c$(OBJ_EXT):
@echo `$(CCCMD)` $(PLDLFLAGS) $*.c
@`$(CCCMD)` $(PLDLFLAGS) $*.c
@ -843,9 +843,9 @@ aix)
LIBPERLEXPORT = perl.exp
!NO!SUBS!
;;
*)
*)
$spitshell >>$Makefile <<'!NO!SUBS!'
PERLEXPORT = perl.exp
@ -1129,9 +1129,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
$(MINIPERL) pod/perlmodlib.PL -q
pod/perl5360delta.pod: pod/perldelta.pod
$(RMS) pod/perl5360delta.pod
$(LNS) perldelta.pod pod/perl5360delta.pod
pod/perl5361delta.pod: pod/perldelta.pod
$(RMS) pod/perl5361delta.pod
$(LNS) perldelta.pod pod/perl5361delta.pod
extra.pods: $(MINIPERL_EXE)
-@test ! -f extra.pods || rm -f `cat extra.pods`

View File

@ -87,6 +87,7 @@ _quick3p=
perl5340delta 1 pod/perl5340delta.pod \
perl5341delta 1 pod/perl5341delta.pod \
perl5360delta 1 pod/perl5360delta.pod \
perl5361delta 1 pod/perl5361delta.pod \
perl561delta 1 pod/perl561delta.pod \
perl56delta 1 pod/perl56delta.pod \
perl581delta 1 pod/perl581delta.pod \

View File

@ -50,8 +50,8 @@ api_subversion='0'
api_version='36'
api_versionstring='5.36.0'
ar='ar'
archlib='/opt/perl/lib/5.36.0/x86_64-linux-thread-multi-ld'
archlibexp='/opt/perl/lib/5.36.0/x86_64-linux-thread-multi-ld'
archlib='/opt/perl/lib/5.36.1/x86_64-linux-thread-multi-ld'
archlibexp='/opt/perl/lib/5.36.1/x86_64-linux-thread-multi-ld'
archname64=''
archname='x86_64-linux-thread-multi-ld'
archobjs=''
@ -860,7 +860,7 @@ incpath=''
incpth='/usr/lib64/gcc/x86_64-suse-linux/10/include /usr/local/include /usr/lib64/gcc/x86_64-suse-linux/10/include-fixed /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/include /usr/include'
inews=''
initialinstalllocation='/opt/perl/bin'
installarchlib='/opt/perl/lib/5.36.0/x86_64-linux-thread-multi-ld'
installarchlib='/opt/perl/lib/5.36.1/x86_64-linux-thread-multi-ld'
installbin='/opt/perl/bin'
installhtml1dir=''
installhtml3dir=''
@ -868,13 +868,13 @@ installman1dir='/opt/perl/man/man1'
installman3dir='/opt/perl/man/man3'
installprefix='/opt/perl'
installprefixexp='/opt/perl'
installprivlib='/opt/perl/lib/5.36.0'
installprivlib='/opt/perl/lib/5.36.1'
installscript='/opt/perl/bin'
installsitearch='/opt/perl/lib/site_perl/5.36.0/x86_64-linux-thread-multi-ld'
installsitearch='/opt/perl/lib/site_perl/5.36.1/x86_64-linux-thread-multi-ld'
installsitebin='/opt/perl/bin'
installsitehtml1dir=''
installsitehtml3dir=''
installsitelib='/opt/perl/lib/site_perl/5.36.0'
installsitelib='/opt/perl/lib/site_perl/5.36.1'
installsiteman1dir='/opt/perl/man/man1'
installsiteman3dir='/opt/perl/man/man3'
installsitescript='/opt/perl/bin'
@ -1000,7 +1000,7 @@ perl_static_inline='static __inline__'
perl_thread_local=''
perladmin='yourname@yourhost.yourplace.com'
perllibs='-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc'
perlpath='/opt/perl/bin/perl5.36.0'
perlpath='/opt/perl/bin/perl5.36.1'
pg='pg'
phostname=''
pidtype='pid_t'
@ -1009,8 +1009,8 @@ pmake=''
pr=''
prefix='/opt/perl'
prefixexp='/opt/perl'
privlib='/opt/perl/lib/5.36.0'
privlibexp='/opt/perl/lib/5.36.0'
privlib='/opt/perl/lib/5.36.1'
privlibexp='/opt/perl/lib/5.36.1'
procselfexe='"/proc/self/exe"'
ptrsize='8'
quadkind='2'
@ -1075,17 +1075,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 0'
sig_size='68'
signal_t='void'
sitearch='/opt/perl/lib/site_perl/5.36.0/x86_64-linux-thread-multi-ld'
sitearchexp='/opt/perl/lib/site_perl/5.36.0/x86_64-linux-thread-multi-ld'
sitearch='/opt/perl/lib/site_perl/5.36.1/x86_64-linux-thread-multi-ld'
sitearchexp='/opt/perl/lib/site_perl/5.36.1/x86_64-linux-thread-multi-ld'
sitebin='/opt/perl/bin'
sitebinexp='/opt/perl/bin'
sitehtml1dir=''
sitehtml1direxp=''
sitehtml3dir=''
sitehtml3direxp=''
sitelib='/opt/perl/lib/site_perl/5.36.0'
sitelib='/opt/perl/lib/site_perl/5.36.1'
sitelib_stem='/opt/perl/lib/site_perl'
sitelibexp='/opt/perl/lib/site_perl/5.36.0'
sitelibexp='/opt/perl/lib/site_perl/5.36.1'
siteman1dir='/opt/perl/man/man1'
siteman1direxp='/opt/perl/man/man1'
siteman3dir='/opt/perl/man/man3'
@ -1113,7 +1113,7 @@ st_dev_sign='1'
st_dev_size='4'
st_ino_sign='1'
st_ino_size='8'
startperl='#!/opt/perl/bin/perl5.36.0'
startperl='#!/opt/perl/bin/perl5.36.1'
startsh='#!/bin/sh'
static_ext=' '
stdchar='char'
@ -1125,7 +1125,7 @@ stdio_ptr='((fp)->_ptr)'
stdio_stream_array=''
strerror_r_proto='REENTRANT_PROTO_B_IBW'
submit=''
subversion='0'
subversion='1'
sysman='/usr/share/man/man1'
sysroot=''
tail=''
@ -1224,8 +1224,8 @@ vendorprefix=''
vendorprefixexp=''
vendorscript=''
vendorscriptexp=''
version='5.36.0'
version_patchlevel_string='version 36 subversion 0'
version='5.36.1'
version_patchlevel_string='version 36 subversion 1'
versiononly='define'
vi=''
xlibpth='/usr/lib/386 /lib/386'
@ -1236,7 +1236,7 @@ zcat=''
zip='zip'
PERL_REVISION=5
PERL_VERSION=36
PERL_SUBVERSION=0
PERL_SUBVERSION=1
PERL_API_REVISION=5
PERL_API_VERSION=36
PERL_API_SUBVERSION=0

View File

@ -1239,8 +1239,8 @@
* This symbol contains the ~name expanded version of ARCHLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
#define ARCHLIB "/opt/perl/lib/5.36.0/x86_64-linux" /**/
#define ARCHLIB_EXP "/opt/perl/lib/5.36.0/x86_64-linux" /**/
#define ARCHLIB "/opt/perl/lib/5.36.1/x86_64-linux" /**/
#define ARCHLIB_EXP "/opt/perl/lib/5.36.1/x86_64-linux" /**/
/* BIN:
* This symbol holds the path of the bin directory where the package will
@ -1293,8 +1293,8 @@
* This symbol contains the ~name expanded version of PRIVLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
#define PRIVLIB "/opt/perl/lib/5.36.0" /**/
#define PRIVLIB_EXP "/opt/perl/lib/5.36.0" /**/
#define PRIVLIB "/opt/perl/lib/5.36.1" /**/
#define PRIVLIB_EXP "/opt/perl/lib/5.36.1" /**/
/* SITEARCH:
* This symbol contains the name of the private library for this package.
@ -1311,8 +1311,8 @@
* This symbol contains the ~name expanded version of SITEARCH, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
#define SITEARCH "/opt/perl/lib/site_perl/5.36.0/x86_64-linux" /**/
#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.36.0/x86_64-linux" /**/
#define SITEARCH "/opt/perl/lib/site_perl/5.36.1/x86_64-linux" /**/
#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.36.1/x86_64-linux" /**/
/* SITELIB:
* This symbol contains the name of the private library for this package.
@ -1334,8 +1334,8 @@
* removed. The elements in inc_version_list (inc_version_list.U) can
* be tacked onto this variable to generate a list of directories to search.
*/
#define SITELIB "/opt/perl/lib/site_perl/5.36.0" /**/
#define SITELIB_EXP "/opt/perl/lib/site_perl/5.36.0" /**/
#define SITELIB "/opt/perl/lib/site_perl/5.36.1" /**/
#define SITELIB_EXP "/opt/perl/lib/site_perl/5.36.1" /**/
#define SITELIB_STEM "/opt/perl/lib/site_perl" /**/
/* PERL_VENDORARCH:
@ -4109,7 +4109,7 @@
* script to make sure (one hopes) that it runs with perl and not
* some shell.
*/
#define STARTPERL "#!/opt/perl/bin/perl5.36.0" /**/
#define STARTPERL "#!/opt/perl/bin/perl5.36.1" /**/
/* HAS_STDIO_STREAM_ARRAY:
* This symbol, if defined, tells that there is an array

View File

@ -17,6 +17,185 @@ Consult your favorite dictionary for details.
=head1 EPIGRAPHS
=head2 v5.37.11 - Ben Aaronovitch, "Moon Over Soho"
L<Announced on 2023-04-20 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2023/04/msg266242.html>
My dad always said that a trumpet player likes to aim his weapon at the
audience, but a sax man likes to cut a good profile and that they always
have a favourite side. It being an article of faith with my dad that
you don't even pick up a reed instrument unless you're vain about the
shape your face makes when you're blowing down it.
=head2 v5.37.10 - Lewis Carroll "The Walrus and the Carpenter"
L<Announced on 2023-03-21 by Yves Orton|https://www.nntp.perl.org/group/perl.perl5.porters/2023/03/msg266078.html>
The time has come,' the Walrus said,
To talk of many things:
Of shoes - and ships - and sealing-wax -
Of cabbages - and kings -
And why the sea is boiling hot -
And whether pigs have wings.'
=head2 v5.37.9 - Virginia Woolf
L<Announced on 2023-02-20 by Karen Etheridge|https://www.nntp.perl.org/group/perl.perl5.porters/2023/02/msg265769.html>
Each has his past shut in him like the leaves of a book known to him by
heart and his friends can only read the title.
=head2 v5.37.8 - Helmut Schmidt
L<Announced on 2023-01-20 by Renee Baecker|https://www.nntp.perl.org/group/perl.perl5.porters/2023/01/msg265547.html>
Honesty doesn't require saying everything you think. Honesty only
requires that you don't say anything that you don't think.
=head2 v5.37.7 - Terry Pratchett, "Hogfather"
L<Announced on 2022-12-20 by Richard Leach|https://www.nntp.perl.org/group/perl.perl5.porters/2022/12/msg265263.html>
TO THE HOGFATHER, ALL PORK PIES ARE AS ONE PORK PIE.
EXCEPT THE ONE LIKE A TURNIP.
=head2 v5.37.6 - N. K. Jemisin - The City We Became
L<Announced on 2022-11-20 by Max Maischein|https://www.nntp.perl.org/group/perl.perl5.porters/2022/11/msg265080.html>
Queens sighs with the air of someone who is used to not being
understood. She takes out her phone and starts texting someone,
her bottom lip poked out a little.
Brooklyn's expression turns grim. To Broca she says, "You said
becoming a city punches through other universes."
So she's not stupid. Bronca inclined her head to the woman, in
respect if not in approval. "Yes".
"Okay, so." Brooklyn visibly braces herself. "So what
happens to those universes that our city punches through?"
The City We Became - N.K. Jemisin
=head2 v5.37.5 - Nori - The Lord of the Rings: The Rings of Power
L<Announced on 2022-10-20 by Todd Rinaldo|https://www.nntp.perl.org/group/perl.perl5.porters/2022/10/msg264959.html>
If we didn't do everything we weren't supposed to, we'd hardly do
anything at all.
=head2 v5.37.4 - C. F. Kettering
L<Announced on 2022-09-20 by Karen Etheridge|https://www.nntp.perl.org/group/perl.perl5.porters/2022/09/msg264815.html>
A problem well stated is a problem half solved.
=head2 v5.37.3 - John Steinbeck, "East of Eden"
L<Announced on 2022-08-20 by Neil B|https://www.nntp.perl.org/group/perl.perl5.porters/2022/08/msg264651.html>
And now that you don't have to be perfect, you can be good.
=head2 v5.37.2 - James Clear, "Atomic Habits"
L<Announced on 2022-07-20 by Nicolas R.|https://www.nntp.perl.org/group/perl.perl5.porters/2022/07/msg264438.html>
If you can get one percent better each day for one year,
you'll end up thiry-seven times better by the time you are done
=head2 v5.37.1 - Squirt, "Finding Nemo"
L<Announced on 2022-06-20 by Matthew Horsfall|https://www.nntp.perl.org/group/perl.perl5.porters/2022/06/msg264107.html>
Good afternoon! We're gonna have a great jump today!
Okay, crank a hard cutback as you hit the wall.
There's a screaming bottom curve, so watch out.
Remember: Rip it! Roll it! And punch it!
=head2 v5.37.0 - John Cage, "Lecture on Nothing"
L<Announced on 2022-05-27 by Ricardo Signes|https://www.nntp.perl.org/group/perl.perl5.porters/2022/05/msg263786.html>
I have nothing to say, and I am saying it.
=head2 v5.36.1-RC3 - Karl Leimer & Walter Gieseking, trans. Frederick C. Rauser, "Rhythmics, Dynamics, Pedal and Other Problems of Piano Playing"
L<Announced on 2023-04-16 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2023/04/msg266232.html>
Generally, no clear opinions exist as to the usefulness of mental work
in order to acquire a good technique. We do not seem to know exactly
what it means or how to develop technique through "brain work."
Technique, when playing an instrument, means controlling the fingers.
Generally, it is used only in a limited sense regarding fluency, rapid
execution of difficult passages and steady aim.
In order to acquire a perfect technique through brain work, an exact
impression of the note picture upon the mind is the first problem which
we must solve. Thereafter we should busy ourselves with the study in
question, as to fingering, touch, note value, etc., to achieve
perfection along these lines in the broadest sense. This occurs
quickest and completely through intensive concentration of all
intellectual powers and is, therefore, strenuous brain work.
=head2 v5.36.1-RC2 - Karl Leimer & Walter Gieseking, "The Shortest Way to Pianistic Perfection"
L<Announced on 2023-04-11 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2023/04/msg266203.html>
In order to attain a natural manner of playing the piano, that is to
say, with the least possible strain and exertion, it is of the utmost
importance to learn to exert the muscles consciously, and, what is of
still greater importance, to relax them consciously. My manner of
accomplishing this differs from that of many other pedagogues. I
contrive to raise a feeling of relaxation from within, as it were. This
is generally attempted by the aid of visible movements. All superfluous
movements are injurious. The aim should be the very least possible
strain of the muscles when playing the piano.
=head2 v5.36.1-RC1 - Josef Lhevinne, "Basic Principles in Pianoforte Playing"
L<Announced on 2023-04-10 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2023/04/msg266184.html>
Avoid worry and distractions of any kind when you are practicing. Your
mind must be every minute on what you are doing, or the value of your
practice is lessened enormously. By intense concentration, love of your
work and the spirit in which you approach it, you can do more in a half
hour than in an hour spent purposelessly. Do not think you have been
practicing, if you have played a single note with your mind on anything
else.
=head2 v5.36.0 - Alexandre Dumas, "The Three Musketeers"
L<Announced on 2022-05-27 by Ricardo Signes|https://www.nntp.perl.org/group/perl.perl5.porters/2022/05/msg263783.html>
“What!" cried he, in an accent of greater astonishment than before "your second
witness is Monsieur Aramis?"
"Doubtless! Are you not aware that we are never seen one without the others,
and that we are called among the Musketeers and the Guards, at the court and in
the city, Athos, Porthos, and Aramis, or the Three Inseparables?”
=head2 v5.36.0-RC3 - The Three Amigos
L<Announced on 2022-05-22 by Ricardo Signes|https://www.nntp.perl.org/group/perl.perl5.porters/2022/05/msg263750.html>
Lucky Day: I'll come back one day
Carmen: Why?
— The Three Amigos
=head2 v5.36.0-RC1 - The Three Amigos
L<Announced on 2022-05-20 by Ricardo Signes|https://www.nntp.perl.org/group/perl.perl5.porters/2022/05/msg263728.html>
Jefe: I have put many beautiful piñatas in the storeroom, each of them filled
with little surprises.
El Guapo: Many piñatas?
Jefe: Oh yes, many!
El Guapo: Would you say I have a plethora of piñatas?
Jefe: A what?
El Guapo: A plethora.
Jefe: Oh yes, you have a plethora.
— The Three Amigos
=head2 v5.35.11 - Marcel Allain and Pierre Souvestre, "Fantômas"
L<Announced on 2022-04-20 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2022/04/msg263644.html>

View File

@ -146,6 +146,13 @@ my ( @items, $current_element, @leading_attrs );
my $skip_headers = qr/^=encoding/xms;
my $passthru_headers = qr/^= (?: over | item | back | cut )/xms;
# version used when generating diffs (acknowledgements, Module::CoreList etc)
# 5.36.0 -> 5.34.0
# 5.36.1 -> 5.36.0
my ($major, $minor, $point) = split(/\./, $version);
my $last_version = join('.', $major, ($point == 0 ? ($minor - 2, 0) : ($minor, $point-1)));
foreach my $line (@pod_lines) {
$line =~ $skip_headers
and next;
@ -179,6 +186,10 @@ foreach my $line (@pod_lines) {
or $line =~ /^[^=]/xms
or die "Cannot recognize line: '$line'\n";
$line =~ s/\Q5.X.Y\E/$version/g;
$line =~ s/\Q5.LAST\E/$last_version/g;
$line =~ s/\Q5.X\E-b/$major.$minor/g;
$current_element->{'content'} .= "\n" . $line;
}

View File

@ -403,7 +403,7 @@ died, add a short obituary here.
XXX Generate this with:
perl Porting/acknowledgements.pl v5.36.0..HEAD
perl Porting/acknowledgements.pl v5.36.1..HEAD
=head1 Reporting Bugs

View File

@ -16,13 +16,13 @@ document that starts with a checklist for your release.
This script is run as:
perl Porting/make-rmg-checklist \
--version [5.x.y-RC#] > /tmp/rmg.pod
--version [5.X.Y-RC#] > /tmp/rmg.pod
You can also pass the C<--html> flag to generate an HTML document instead of
POD.
perl Porting/make-rmg-checklist --html \
--version [5.x.y-RC#] > /tmp/rmg.html
--version [5.X.Y-RC#] > /tmp/rmg.html
=head1 SYNOPSIS
@ -67,13 +67,21 @@ of these release types. If a step does not apply to a given
type of release, you will see a notation to that effect at
the beginning of the step.
This guide assumes you are working on the Perl master repository (i.e.
L<https://github.com/Perl/perl5>) and B<not> on your own fork of the perl5
repository. While it is possible to prepare a release on your own fork
this guide is not written with that in mind and as a result several
key steps are missing. If you do use your own fork then extra care
needs to be taken when setting/pushing the tag and doing the merge
(do B<not> use a PR).
=head2 Release types
=over 4
=item Release Candidate (RC)
A release candidate is an attempt to produce a tarball that is a close as
A release candidate is an attempt to produce a tarball that is as close as
possible to the final release. Indeed, unless critical faults are found
during the RC testing, the final release will be identical to the RC
barring a few minor fixups (updating the release date in F<perlhist.pod>,
@ -469,7 +477,7 @@ Commit your changes:
$ git diff
B<review the delta carefully>
$ git commit -a -m 'Bump the perl version in various places for 5.x.y'
$ git commit -a -m 'Bump the perl version in various places for 5.X.Y'
At this point you may want to compare the commit with a previous bump to
see if they look similar. See commit f7cf42bb69 for an example of a
@ -525,7 +533,7 @@ to use the last known git commit by GitHub.
Review the changes to the AUTHORS file, be sure you are not adding duplicate
entries or removing any entries, then commit your changes.
$ git commit -a AUTHORS -m 'Update AUTHORS list for 5.x.y'
$ git commit -a AUTHORS -m 'Update AUTHORS list for 5.X.Y'
=head3 Check copyright years
@ -596,7 +604,7 @@ need to freeze blead during the release. This is less important for
BLEAD-FINAL, MAINT, and RC releases, since blead will already be frozen in
those cases. Create the branch by running
git checkout -b release-5.xx.yy
git checkout -b release-5.X.Y
=head3 build a clean perl
@ -616,7 +624,7 @@ For each Perl release since the previous release of the current branch, check
for modules that have identical version numbers but different contents by
running:
$ ./perl -Ilib Porting/cmpVERSION.pl --tag=v5.X.YY
$ ./perl -Ilib Porting/cmpVERSION.pl --tag=v5.X.Y
(This is done automatically by F<t/porting/cmp_version.t> for the previous
release of the current branch, but not for any releases from other branches.)
@ -731,7 +739,7 @@ Finally, commit the new version of Module::CoreList:
(unless this is for MAINT; in which case commit it to blead first, then
cherry-pick it back).
$ git commit -m 'Update Module::CoreList for 5.x.y' \
$ git commit -m 'Update Module::CoreList for 5.X.Y' \
dist/Module-CoreList/Changes \
dist/Module-CoreList/lib/Module/CoreList.pm \
dist/Module-CoreList/lib/Module/CoreList/Utils.pm
@ -746,7 +754,7 @@ ensure all tests are passing.
Finalize the perldelta. In particular, fill in the Acknowledgements
section, which can be generated with something like:
$ perl Porting/acknowledgements.pl v5.15.0..HEAD
$ perl Porting/acknowledgements.pl v5.LAST..HEAD
Fill in the "New/Updated Modules" sections now that Module::CoreList is
updated:
@ -919,22 +927,22 @@ Be sure to commit any changes (if applicable):
Build perl, then make sure it passes its own test suite, and installs:
$ git clean -xdf
$ ./Configure -des -Dprefix=/tmp/perl-5.x.y-pretest
$ ./Configure -des -Dprefix=/tmp/perl-5.X.Y-pretest
# or if it's an odd-numbered version:
$ ./Configure -des -Dusedevel -Dprefix=/tmp/perl-5.x.y-pretest
$ ./Configure -des -Dusedevel -Dprefix=/tmp/perl-5.X.Y-pretest
$ make test install
Check that the output of C</tmp/perl-5.x.y-pretest/bin/perl -v> and
C</tmp/perl-5.x.y-pretest/bin/perl -V> are as expected,
Check that the output of C</tmp/perl-5.X.Y-pretest/bin/perl -v> and
C</tmp/perl-5.X.Y-pretest/bin/perl -V> are as expected,
especially as regards version numbers, patch and/or RC levels, and @INC
paths. Note that as they have been built from a git working
directory, they will still identify themselves using git tags and
commits. (Note that for an odd-numbered version, perl will install
itself as C<perl5.x.y>). C<perl -v> will identify itself as:
itself as C<perl5.X.Y>). C<perl -v> will identify itself as:
This is perl 5, version X, subversion Y (v5.X.Y (v5.X.Z-NNN-gdeadbeef))
This is perl 5, version X, subversion Y (v5.X.Y (v5.XX.Z-NNN-gdeadbeef))
where 5.X.Z is the latest tag, NNN the number of commits since this tag,
and C<< deadbeef >> commit of that tag.
@ -943,7 +951,7 @@ Then delete the temporary installation.
=head3 create the release tag
Create the tag identifying this release (e.g.):
Create the I<annotated> tag identifying this release (e.g.):
$ git tag v5.11.0 -m 'First release of the v5.11 series!'
@ -953,6 +961,16 @@ wrong before you publish your newly-created tag, you can delete
and recreate it. Once you push your tag, we're stuck with it
and you'll need to use a new version number for your release.
Verify that your tag is annotated:
$ git show v5.X.Y
The output must look similar to the following:
tag v5.X.Y
Tagger: Jesse Vincent <jesse@bestpractical.com>
Date: Fri Oct 2 16:29:56 2009 -0400
=head3 build the tarball
Before you run the following, you might want to install 7-Zip (the
@ -979,10 +997,6 @@ Create a tarball. Use the C<-s> option to specify a suitable suffix for
the tarball and directory name:
$ cd root/of/perl/tree
$ make distclean # make sure distclean works
$ git clean -xdf # make sure perl and git agree on files
# git clean should not output anything!
$ git status --ignored # and there's nothing lying around
$ perl Porting/makerel -x -s RC1 # for a release candidate
$ perl Porting/makerel -x # for the release itself
@ -1060,7 +1074,7 @@ which is why you should test from the tarball.
$ ./perl -Ilib ./utils/perlivp
# Or, perhaps:
$ ./perl5.x.y ./utils/perlivp5.x.y
$ ./perl5.X.Y ./utils/perlivp5.X.Y
...
All tests successful.
$
@ -1094,7 +1108,7 @@ Bootstrap the CPAN client on the clean install:
$ bin/cpan
# Or, perhaps:
$ bin/cpan5.xx.x
$ bin/cpan5.X.Y
=head4 Install the Inline module with CPAN and test it
@ -1182,7 +1196,13 @@ Do not proceed any further until you are sure that your tarballs are on CPAN.
Check your authors directory metacpan.org to confirm that your uploads have
been successful.
https://metacpan.org/author/YOUR_PAUSE_ID
https://metacpan.org/author/YOUR_PAUSE_ID/releases
You can also check
https://metacpan.org/release/YOUR_PAUSE_ID/perl-5.X.Y
which may be faster.
=for checklist skip RC BLEAD-POINT
@ -1232,9 +1252,9 @@ Merge the (local) release branch back into master now, and delete it.
git checkout blead
git pull
git merge release-5.xx.yy
git merge release-5.X.Y
git push
git branch -d release-5.xx.yy
git branch -d release-5.X.Y
Note: The merge will create a merge commit if other changes have been pushed
to blead while you've been working on your release branch. Do NOT rebase your
@ -1248,7 +1268,7 @@ Now that you've shipped the new perl release to PAUSE and pushed your changes
to the Perl master repository, it's time to publish the tag you created
earlier too (e.g.):
$ git push origin tag v5.11.0
$ git push origin tag v5.X.Y
=head3 update epigraphs.pod
@ -1264,8 +1284,9 @@ why you chose that particular quote for your epigraph.
=head3 update the link to the latest perl on perlweb
Submit a pull request to L<https://github.com/perlorg/perlweb> to update the
link in F<docs/dev/perl5/index.html> to point to your release.
Submit a pull request to L<https://github.com/perlorg/perlweb>. For a dev
release, update the link in F<docs/dev/perl5/index.html>. For a stable
release, update F<docs/shared/tpl/stats.html>.
=for checklist skip RC
@ -1425,8 +1446,8 @@ the commit tagged as the current release.
Assuming you're using git 1.7.x or newer:
$ git checkout -b maint-5.12 v5.12.0
$ git push origin -u maint-5.12
$ git checkout -b maint-5.X v5.X.0
$ git push origin -u maint-5.X
=for checklist skip BLEAD-POINT MAINT RC
@ -1555,7 +1576,7 @@ about blead's current version.
Commit and push your changes.
$ git add -u
$ git commit -m "Prepare Module::Corelist for 5.XX.Y"
$ git commit -m "Prepare Module::Corelist for 5.X.Y"
$ git push origin
=back
@ -1603,6 +1624,18 @@ Go over your notes from the release (you did take some, right?) and update
F<Porting/release_managers_guide.pod> with any fixes or information that
will make life easier for the next release manager.
=head3 For a BLEAD-POINT .0 release
This is the time for the project to decide the fate and begin to
implement the required changes for experimental/deprecated features and
API elements for the next BLEAD-FINAL, a year away.
Fortunately your job is not to do this yourself, but merely to remind
people that this needs to get done. Send email to
L<p5p|mailto:perl5-porters@perl.org>. All of L<perlexperiment>,
L<perldeprecation>, F<mathoms.c>, L<perlapi>, and L<perlintern> need to
be considered.
=for checklist end
=head1 SOURCE
@ -1612,4 +1645,3 @@ L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2009-05/msg00608.html>,
plus a whole bunch of other sources, including private correspondence.
=cut

View File

@ -11,15 +11,15 @@ release schedules for the next, current and previous stable versions
of Perl. Dates with two or more question marks will only be releases if
deemed necessary by the Steering Council.
=head2 Perl 5.36
2022-05-27 5.36.0 ✓ Ricardo Signes
2022-04-23 5.36.1 Steve Hay
=head2 Perl 5.34
2021-05-20 5.34.0 ✓ Sawyer X
2022-03-13 5.34.1 ✓ Steve Hay
=head2 Perl 5.32
2020-06-20 5.32.0 ✓ Sawyer X
2021-01-23 5.32.1 ✓ Steve Hay
2021-05-20 5.34.0 ✓ Sawyer X
2022-03-13 5.34.1 ✓ Steve Hay
=head1 DEVELOPMENT RELEASE SCHEDULE
@ -35,23 +35,23 @@ When shipping a release, you should include the schedule for (at least)
the next four releases. If a stable version of Perl is released,
you should reset the version numbers to the next blead series.
=head2 Perl 5.35
=head2 Perl 5.37
2021-05-20 5.35.0 ✓ Ricardo Signes
2021-06-20 5.35.1 ✓ Max Maischein
2021-07-20 5.35.2 ✓ Neil Bowers
2021-08-20 5.35.3 ✓ Karen Etheridge
2021-09-20 5.35.4 ✓ Matthew Horsfall
2021-10-20 5.35.5 ✓ Leon Timmermans
2021-11-20 5.35.6 ✓ Richard Leach
2021-12-20 5.35.7 ✓ Neil Bowers
2022-01-20 5.35.8 ✓ Nicolas R
2022-02-20 5.35.9 ✓ Renee Contentious changes freeze
2022-03-20 5.35.10 ✓ Sawyer X User-visible changes to
correctly functioning programs
freeze
2022-04-20 5.35.11 ✓ Steve Hay Full code freeze
2022-05-20 5.36.0 Ricardo New perl!
2022-05-27 5.37.0 ✓ Ricardo Signes
2022-06-20 5.37.1 ✓ Matthew Horsfall
2022-07-20 5.37.2 ✓ Nicolas R
2022-08-20 5.37.3 ✓ Neil Bowers
2022-09-20 5.37.4 ✓ Karen Etheridge
2022-10-20 5.37.5 ✓ Todd Rinaldo
2022-11-20 5.37.6 ✓ Max Maischein
2022-12-20 5.37.7 ✓ Richard Leach
2023-01-20 5.37.8 ✓ Renée Bäcker
2023-02-20 5.37.9 ✓ Karen Etheridge Contentious changes freeze
2023-03-20 5.37.10 ✓ Yves Orton User-visible changes to
correctly functioning
programs freeze
2023-04-20 5.37.11 ✓ Steve Hay Full code freeze
2023-05-20 5.38.0 Ricardo Signes New perl!
=head1 VICTIMS

View File

@ -486,7 +486,7 @@ Natively 64-bit systems need neither -Duse64bitint nor -Duse64bitall.
On these systems, it might be the default compilation mode, and there
is currently no guarantee that passing no use64bitall option to the
Configure process will build a 32bit perl. Implementing -Duse32bit*
options would be nice for perl 5.36.0.
options would be nice for perl 5.36.1.
=head2 Profile Perl - am I hot or not?
@ -1183,7 +1183,7 @@ L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-01/msg00339.html>
=head1 Big projects
Tasks that will get your name mentioned in the description of the "Highlights
of 5.36.0"
of 5.36.1"
=head2 make ithreads more robust

View File

@ -1,7 +1,5 @@
Perl is Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022
by Larry Wall and others.
Perl is Copyright (C) 1993 - 2023 by Larry Wall and others.
All rights reserved.

View File

@ -22,9 +22,9 @@ The build procedure is completely standard:
Make perl executable and create a symlink for libperl:
chmod a+x /boot/common/bin/perl
cd /boot/common/lib; ln -s perl5/5.36.0/BePC-haiku/CORE/libperl.so .
cd /boot/common/lib; ln -s perl5/5.36.1/BePC-haiku/CORE/libperl.so .
Replace C<5.36.0> with your respective version of Perl.
Replace C<5.36.1> with your respective version of Perl.
=head1 KNOWN PROBLEMS

View File

@ -10,9 +10,9 @@ perlmacosx - Perl under Mac OS X
This document briefly describes Perl under Mac OS X.
curl -O https://www.cpan.org/src/perl-5.36.0.tar.gz
tar -xzf perl-5.36.0.tar.gz
cd perl-5.36.0
curl -O https://www.cpan.org/src/perl-5.36.1.tar.gz
tar -xzf perl-5.36.1.tar.gz
cd perl-5.36.1
./Configure -des -Dprefix=/usr/local/
make
make test
@ -20,7 +20,7 @@ This document briefly describes Perl under Mac OS X.
=head1 DESCRIPTION
The latest Perl release (5.36.0 as of this writing) builds without changes
The latest Perl release (5.36.1 as of this writing) builds without changes
under all versions of Mac OS X from 10.3 "Panther" onwards.
In order to build your own version of Perl you will need 'make',

View File

@ -619,7 +619,7 @@ C<set PERLLIB_PREFIX> in F<Config.sys>, see L</"C<PERLLIB_PREFIX>">.
=item Additional Perl modules
unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.36.0/
unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.36.1/
Same remark as above applies. Additionally, if this directory is not
one of directories on @INC (and @INC is influenced by C<PERLLIB_PREFIX>), you

View File

@ -137,11 +137,11 @@ You may need to set up a foreign symbol for the unpacking utility of
choice. Once you have done so, use a command like the following to
unpack the archive:
vmstar -xvf perl-5^.36^.0.tar
vmstar -xvf perl-5^.36^.1.tar
Then set default to the top-level source directory like so:
set default [.perl-5^.36^.0]
set default [.perl-5^.36^.1]
and proceed with configuration as described in the next section.

View File

@ -1160,8 +1160,7 @@ $! base name early because not all questions are worth asking on all
$! platforms.
$!
$! Please use F$ELEMENT(0,"-",archname) .EQS. "VMS_AXP" (or
$! "VMS_IA64") from here on to allow cross-platform configuration (e.g.
$! configure a IA64 build on an Alpha).
$! "VMS_IA64", "VMS_x86_64", etc.) from here on to query the current architecture.
$!
$ IF (F$GETSYI("HW_MODEL") .LT. 1024 .AND. F$GETSYI("HW_MODEL") .GT. 0)
$ THEN
@ -1171,16 +1170,15 @@ $ exit 44
$ ELSE
$ IF (F$GETSYI("ARCH_TYPE") .EQ. 2)
$ THEN
$ archname = "VMS_AXP"
$ otherarch = "IA64"
$ archname = "VMS_AXP" ! oops, F$GETSYI("ARCH_NAME") gives us 'Alpha' not 'AXP'
$ arch_type = "ARCH-TYPE=__AXP__"
$ ELSE
$ archname = "VMS_IA64"
$ otherarch = "Alpha"
$ arch_type = "ARCH-TYPE=__IA64__"
$! This works for Itanium and x86_64 and hopefully whatever's next (AARCH64? RISC-V?)
$ archname = "VMS_" + F$GETSYI("ARCH_NAME")
$ arch_type = "ARCH-TYPE=__" + F$GETSYI("ARCH_NAME") + "__"
$ ENDIF
$ alignbytes="8"
$ ENDIF
$ alignbytes="8"
$!
$!: set the base revision
$ baserev="5.0"

View File

@ -1,4 +1,4 @@
# $OpenBSD: OpenBSD-Unveil.t,v 1.1 2019/07/09 20:41:54 afresh1 Exp $ #
# $OpenBSD: OpenBSD-Unveil.t,v 1.2 2023/07/07 02:07:35 afresh1 Exp $ #
## no critic 'version'
## no critic 'package'
# Before 'make install' is performed this script should be runnable with
@ -82,47 +82,58 @@ sub xsunveil_ok ($$) ## no critic 'prototypes'
xsunveil_ok "Basic Usage" => sub {
ok OpenBSD::Unveil::_unveil('/dev/random', 'r'),
"Unveiled /dev/random r";
my $tmpfile = File::Temp->new("OpenBSD-Unveil-XXXXXXXXX", TMPDIR => 1);
$tmpfile->printflush("This is a test\n");
ok OpenBSD::Unveil::_unveil("$tmpfile", 'r'),
"Unveiled tempfile r";
ok OpenBSD::Unveil::_unveil('/dev/null', 'wc'),
"Unvailed /dev/null wc";
ok !-e '/dev/zero', "Can't see /dev/zero";
ok !-w '/dev/random', "Can't write to /dev/random";
ok !-r '/dev/null', "Can't read from /dev/null";
ok open(my $rfh, '<', '/dev/random'), "Opened /dev/random for reading";
ok read( $rfh, my $data, 64), "Read from /dev/random";
ok close($rfh), "Closed /dev/random";
{
ok open(my $wfh, '>', '/dev/null'),
"Opened /dev/null for writing";
ok print($wfh $data), "Printed to /dev/null";
ok close($wfh), "Closed /dev/null";
"Opened /dev/null for writing";
ok print($wfh "Test\n"), "Printed to /dev/null";
ok close($wfh), "Closed /dev/null";
}
ok OpenBSD::Unveil::_unveil('/dev/null', 'w'),
"Unvailed /dev/null w";
ok OpenBSD::Unveil::_unveil(),
"locked unveil";
"locked unveil";
ok !-e '/dev/zero', "Stat says we can't see /dev/zero";
ok -w $tmpfile, "Stat says we can write to tempfile";
ok !-r '/dev/null', "Stat says we can't read from /dev/null";
{
ok sysopen(my $wfh, '/dev/null', O_WRONLY),
"Sysopened /dev/null for writing";
ok syswrite($wfh, $data), "Wrote to /dev/null";
ok syswrite($wfh, "Test\n"), "Wrote to /dev/null";
ok close($wfh), "Closed /dev/null";
}
{
ok open(my $rfh, '<', $tmpfile), "Opened tempfile for reading";
ok read( $rfh, my $data, 64), "Read from tempfile";
ok close($rfh), "Closed tempfile";
}
{
ok !open(my $wfh, '>', $tmpfile),
"Unable to 'open' tempfile for writing";
is $!, 'Permission denied', "Expected ERRNO from open";
}
{
ok !open(my $wfh, '>', '/dev/null'),
"Unable to 'open' without 'create'";
"Unable to 'open' /dev/null without 'create'";
is $!, 'Permission denied', "Expected ERRNO from open";
}
};
xsunveil_ok "Invalid Path" => sub {
chdir "/tmp" or die "Unable to chdir to /tmp";
my $dir = File::Temp->newdir('OpenBSD-Unveil-XXXXXXXXX');
my $dir = File::Temp->newdir('OpenBSD-Unveil-XXXXXXXXX', TMPDIR => 1);
ok !OpenBSD::Unveil::_unveil("$dir/nonexist/file", 'r'),
"Unable to unveil with incorrect permissions";
is $!, 'No such file or directory', "Expected ERRNO from _unveil";

View File

@ -1,3 +1,42 @@
5.20230423
- Updated for v5.36.1
5.20230420
- Updated for v5.37.11
5.20230320
- Updated for v5.37.10
5.20230220
- Updated for v5.37.9
5.20230120
- Updated for v5.37.8
5.20221220
- Updated for v5.37.7
5.20221120
- Updated for v5.37.6
5.20221024
- Updated for v5.37.6
5.20221020
- Updated for v5.37.5
5.20220920
- Updated for v5.37.4
5.20220820
- Updated for v5.37.3
5.20220720
- Updated for v5.37.2
5.20220620
- Updated for v5.37.1
5.20220520
- Updated for v5.35.12

View File

@ -8,7 +8,7 @@ push @extra, 'INSTALLDIRS' => 'perl' if $] >= 5.008009 and $] < 5.012;
push @extra, 'META_MERGE' => {
resources => {
repository => 'git://github.com/Perl/perl5.git',
repository => 'https://github.com/Perl/perl5.git',
bugtracker => 'https://github.com/Perl/perl5/issues',
homepage => "http://dev.perl.org/",
},

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@ use strict;
use warnings;
use Module::CoreList;
our $VERSION = '5.20220520';
our $VERSION = '5.20230423';
our %utilities;
sub utilities {
@ -1804,6 +1804,97 @@ my %delta = (
removed => {
}
},
5.037000 => {
delta_from => 5.036000,
changed => {
},
removed => {
}
},
5.037001 => {
delta_from => 5.037,
changed => {
},
removed => {
}
},
5.037002 => {
delta_from => 5.037001,
changed => {
},
removed => {
}
},
5.037003 => {
delta_from => 5.037002,
changed => {
},
removed => {
}
},
5.037004 => {
delta_from => 5.037003,
changed => {
},
removed => {
}
},
5.037005 => {
delta_from => 5.037004,
changed => {
},
removed => {
}
},
5.037006 => {
delta_from => 5.037005,
changed => {
},
removed => {
}
},
5.037007 => {
delta_from => 5.037006,
changed => {
},
removed => {
}
},
5.037008 => {
delta_from => 5.037007,
changed => {
},
removed => {
}
},
5.037009 => {
delta_from => 5.037008,
changed => {
},
removed => {
}
},
5.037010 => {
delta_from => 5.037009,
changed => {
},
removed => {
}
},
5.037011 => {
delta_from => 5.03701,
changed => {
},
removed => {
}
},
5.036001 => {
delta_from => 5.036000,
changed => {
},
removed => {
}
},
);
%utilities = Module::CoreList::_undelta(\%delta);

View File

@ -3079,21 +3079,21 @@ i |HV* |opmethod_stash |NN SV* meth
#endif
#if defined(PERL_IN_PP_SORT_C)
I |I32 |sv_ncmp |NN SV *const a|NN SV *const b
I |I32 |sv_ncmp_desc |NN SV *const a|NN SV *const b
I |I32 |sv_i_ncmp |NN SV *const a|NN SV *const b
I |I32 |sv_i_ncmp_desc |NN SV *const a|NN SV *const b
I |I32 |amagic_ncmp |NN SV *const a|NN SV *const b
I |I32 |amagic_ncmp_desc |NN SV *const a|NN SV *const b
I |I32 |amagic_i_ncmp |NN SV *const a|NN SV *const b
I |I32 |amagic_i_ncmp_desc |NN SV *const a|NN SV *const b
I |I32 |amagic_cmp |NN SV *const str1|NN SV *const str2
I |I32 |amagic_cmp_desc |NN SV *const str1|NN SV *const str2
I |I32 |cmp_desc |NN SV *const str1|NN SV *const str2
i |I32 |sv_ncmp |NN SV *const a|NN SV *const b
i |I32 |sv_ncmp_desc |NN SV *const a|NN SV *const b
i |I32 |sv_i_ncmp |NN SV *const a|NN SV *const b
i |I32 |sv_i_ncmp_desc |NN SV *const a|NN SV *const b
i |I32 |amagic_ncmp |NN SV *const a|NN SV *const b
i |I32 |amagic_ncmp_desc |NN SV *const a|NN SV *const b
i |I32 |amagic_i_ncmp |NN SV *const a|NN SV *const b
i |I32 |amagic_i_ncmp_desc |NN SV *const a|NN SV *const b
i |I32 |amagic_cmp |NN SV *const str1|NN SV *const str2
i |I32 |amagic_cmp_desc |NN SV *const str1|NN SV *const str2
i |I32 |cmp_desc |NN SV *const str1|NN SV *const str2
# ifdef USE_LOCALE_COLLATE
I |I32 |amagic_cmp_locale |NN SV *const str1|NN SV *const str2
I |I32 |amagic_cmp_locale_desc|NN SV *const str1|NN SV *const str2
I |I32 |cmp_locale_desc|NN SV *const str1|NN SV *const str2
i |I32 |amagic_cmp_locale |NN SV *const str1|NN SV *const str2
i |I32 |amagic_cmp_locale_desc|NN SV *const str1|NN SV *const str2
i |I32 |cmp_locale_desc|NN SV *const str1|NN SV *const str2
# endif
S |I32 |sortcv |NN SV *const a|NN SV *const b
S |I32 |sortcv_xsub |NN SV *const a|NN SV *const b
@ -3346,9 +3346,11 @@ ST |void |mem_log_common |enum mem_log_type mlt|const UV n|const UV typesize \
#endif
#if defined(PERL_MEM_LOG)
pT |Malloc_t |mem_log_alloc |const UV nconst|UV typesize|NN const char *type_name|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname
pT |Malloc_t |mem_log_realloc |const UV n|const UV typesize|NN const char *type_name|Malloc_t oldalloc|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname
pT |Malloc_t |mem_log_free |Malloc_t oldalloc|NN const char *filename|const int linenumber|NN const char *funcname
CpT |Malloc_t |mem_log_alloc |const UV nconst|UV typesize|NN const char *type_name|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname
CpT |Malloc_t |mem_log_realloc |const UV n|const UV typesize|NN const char *type_name|Malloc_t oldalloc|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname
CpT |Malloc_t |mem_log_free |Malloc_t oldalloc|NN const char *filename|const int linenumber|NN const char *funcname
CpT |void |mem_log_new_sv|NN const SV *sv|NN const char *filename|int linenumber|NN const char *funcname
CpT |void |mem_log_del_sv|NN const SV *sv|NN const char *filename|int linenumber|NN const char *funcname
#endif
#if defined(PERL_IN_UTF8_C)

View File

@ -887,6 +887,13 @@
#if defined(PERL_IN_SV_C)
#define more_sv() Perl_more_sv(aTHX)
#endif
#if defined(PERL_MEM_LOG)
#define mem_log_alloc Perl_mem_log_alloc
#define mem_log_del_sv Perl_mem_log_del_sv
#define mem_log_free Perl_mem_log_free
#define mem_log_new_sv Perl_mem_log_new_sv
#define mem_log_realloc Perl_mem_log_realloc
#endif
#if defined(PERL_USE_3ARG_SIGHANDLER)
#define csighandler Perl_csighandler
#endif
@ -2029,11 +2036,6 @@
#define mem_log_common S_mem_log_common
# endif
# endif
# if defined(PERL_MEM_LOG)
#define mem_log_alloc Perl_mem_log_alloc
#define mem_log_free Perl_mem_log_free
#define mem_log_realloc Perl_mem_log_realloc
# endif
# if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
#define pidgone(a,b) S_pidgone(aTHX_ a,b)
# endif

View File

@ -117,7 +117,7 @@ foreach $XS_VERSION (undef, @versions) {
is_deeply([XS_APIVERSION_valid("Pie")], [], "XS_APIVERSION_BOOTCHECK passes");
is(eval {XS_APIVERSION_invalid("Pie"); 1}, undef,
"XS_APIVERSION_BOOTCHECK croaks for an invalid version");
like($@, qr/Perl API version v1.0.16 of Pie does not match \Q$^V\E/a,
like($@, qr/Perl API version v1.0.16 of Pie does not match v5\.\d+\.\d+/,
"expected error");
my @xsreturn;

View File

@ -982,7 +982,7 @@ S_gv_fetchmeth_internal(pTHX_ HV* stash, SV* meth, const char* name, STRLEN len,
}
}
if (topgv && GvREFCNT(topgv) == 1) {
if (topgv && GvREFCNT(topgv) == 1 && !(flags & GV_NOUNIVERSAL)) {
/* cache the fact that the method is not defined */
GvCVGEN(topgv) = topgen_cmp;
}

View File

@ -2734,10 +2734,6 @@ enum mem_log_type {
MLT_DEL_SV
};
# endif
# if defined(PERL_IN_SV_C) /* those are only used in sv.c */
void Perl_mem_log_new_sv(const SV *sv, const char *filename, const int linenumber, const char *funcname);
void Perl_mem_log_del_sv(const SV *sv, const char *filename, const int linenumber, const char *funcname);
# endif
# endif
#endif

View File

@ -31,11 +31,11 @@
# mkdir -p /opt/perl-catamount
# mkdir -p /opt/perl-catamount/include
# mkdir -p /opt/perl-catamount/lib
# mkdir -p /opt/perl-catamount/lib/perl5/5.36.0
# mkdir -p /opt/perl-catamount/lib/perl5/5.36.1
# mkdir -p /opt/perl-catamount/bin
# cp *.h /opt/perl-catamount/include
# cp libperl.a /opt/perl-catamount/lib
# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.36.0
# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.36.1
# cp miniperl perl run.sh cc.sh /opt/perl-catamount/lib
#
# With the headers and the libperl.a you can embed Perl to your Catamount

View File

@ -118,7 +118,7 @@ package B::Op_private;
our %bits;
our $VERSION = "5.036000";
our $VERSION = "5.036001";
$bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv);
$bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv);

View File

@ -489,7 +489,14 @@ unless ($define{'PERL_TRACK_MEMPOOL'}) {
}
unless ($define{'PERL_MEM_LOG'}) {
++$skip{PL_mem_log};
++$skip{$_} foreach qw(
PL_mem_log
Perl_mem_log_alloc
Perl_mem_log_realloc
Perl_mem_log_free
Perl_mem_log_new_sv
Perl_mem_log_del_sv
);
}
unless ($define{'MULTIPLICITY'}) {

View File

@ -3082,25 +3082,55 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
IoLINES(GvIOp(PL_last_in_gv)) = SvIV(sv);
break;
case '^':
Safefree(IoTOP_NAME(GvIOp(PL_defoutgv)));
IoTOP_NAME(GvIOp(PL_defoutgv)) = savesvpv(sv);
IoTOP_GV(GvIOp(PL_defoutgv)) = gv_fetchsv(sv, GV_ADD, SVt_PVIO);
{
IO * const io = GvIO(PL_defoutgv);
if (!io)
break;
Safefree(IoTOP_NAME(io));
IoTOP_NAME(io) = savesvpv(sv);
IoTOP_GV(io) = gv_fetchsv(sv, GV_ADD, SVt_PVIO);
}
break;
case '~':
Safefree(IoFMT_NAME(GvIOp(PL_defoutgv)));
IoFMT_NAME(GvIOp(PL_defoutgv)) = savesvpv(sv);
IoFMT_GV(GvIOp(PL_defoutgv)) = gv_fetchsv(sv, GV_ADD, SVt_PVIO);
{
IO * const io = GvIO(PL_defoutgv);
if (!io)
break;
Safefree(IoFMT_NAME(io));
IoFMT_NAME(io) = savesvpv(sv);
IoFMT_GV(io) = gv_fetchsv(sv, GV_ADD, SVt_PVIO);
}
break;
case '=':
IoPAGE_LEN(GvIOp(PL_defoutgv)) = (SvIV(sv));
{
IO * const io = GvIO(PL_defoutgv);
if (!io)
break;
IoPAGE_LEN(io) = (SvIV(sv));
}
break;
case '-':
IoLINES_LEFT(GvIOp(PL_defoutgv)) = (SvIV(sv));
if (IoLINES_LEFT(GvIOp(PL_defoutgv)) < 0L)
IoLINES_LEFT(GvIOp(PL_defoutgv)) = 0L;
{
IO * const io = GvIO(PL_defoutgv);
if (!io)
break;
IoLINES_LEFT(io) = (SvIV(sv));
if (IoLINES_LEFT(io) < 0L)
IoLINES_LEFT(io) = 0L;
}
break;
case '%':
IoPAGE(GvIOp(PL_defoutgv)) = (SvIV(sv));
{
IO * const io = GvIO(PL_defoutgv);
if (!io)
break;
IoPAGE(io) = (SvIV(sv));
}
break;
case '|':
{

View File

@ -14749,13 +14749,40 @@ subroutine.
CV *
Perl_find_lexical_cv(pTHX_ PADOFFSET off)
{
PADNAME *name = PAD_COMPNAME(off);
const PADNAME *name = PAD_COMPNAME(off);
CV *compcv = PL_compcv;
while (PadnameOUTER(name)) {
assert(PARENT_PAD_INDEX(name));
compcv = CvOUTSIDE(compcv);
name = PadlistNAMESARRAY(CvPADLIST(compcv))
if (LIKELY(PARENT_PAD_INDEX(name))) {
name = PadlistNAMESARRAY(CvPADLIST(compcv))
[off = PARENT_PAD_INDEX(name)];
}
else {
/* In an eval() in an inner scope like a function, the
intermediate pad in the sub might not be populated with the
sub. So search harder.
It is possible we won't find the name in this
particular scope, but that's fine, if we don't we'll
find it in some outer scope. Finding it here will let us
go back to following the PARENT_PAD_INDEX() chain.
*/
const PADNAMELIST * const names = PadlistNAMES(CvPADLIST(compcv));
PADNAME * const * const name_p = PadnamelistARRAY(names);
int offset;
for (offset = PadnamelistMAXNAMED(names); offset > 0; offset--) {
const PADNAME * const thisname = name_p[offset];
/* The pv is copied from the outer PADNAME to the
inner PADNAMEs so we don't need to compare the
string contents
*/
if (thisname && PadnameLEN(thisname) == PadnameLEN(name)
&& PadnamePV(thisname) == PadnamePV(name)) {
name = thisname;
break;
}
}
}
}
assert(!PadnameIsOUR(name));
if (!PadnameIsSTATE(name) && PadnamePROTOCV(name)) {

View File

@ -39,7 +39,7 @@ Instead use one of the version comparison macros. See C<L</PERL_VERSION_EQ>>.
#define PERL_REVISION 5 /* age */
#define PERL_VERSION 36 /* epoch */
#define PERL_SUBVERSION 0 /* generation */
#define PERL_SUBVERSION 1 /* generation */
/* The following numbers describe the earliest compatible version of
Perl ("compatibility" here being defined as sufficient binary/API

View File

@ -3,7 +3,7 @@
*
* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
* 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
* 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022
* 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
* by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
@ -3832,7 +3832,7 @@ S_minus_v(pTHX)
#endif
PerlIO_printf(PIO_stdout,
"\n\nCopyright 1987-2022, Larry Wall\n");
"\n\nCopyright 1987-2023, Larry Wall\n");
#ifdef OS2
PerlIO_printf(PIO_stdout,
"\n\nOS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel\n"

View File

@ -35,8 +35,8 @@ api_subversion='0'
api_version='36'
api_versionstring='5.36.0'
ar='ar'
archlib='/sys/lib/perl5/5.36.0/386'
archlibexp='/sys/lib/perl5/5.36.0/386'
archlib='/sys/lib/perl5/5.36.1/386'
archlibexp='/sys/lib/perl5/5.36.1/386'
archname64=''
archname='386'
archobjs=''
@ -825,17 +825,17 @@ inc_version_list=' '
inc_version_list_init='0'
incpath=''
inews=''
installarchlib='/sys/lib/perl/5.36.0/386'
installarchlib='/sys/lib/perl/5.36.1/386'
installbin='/usr/bin'
installman1dir='/sys/man/1pub'
installman3dir='/sys/man/2pub'
installprefix='/usr'
installprefixexp='/usr'
installprivlib='/sys/lib/perl/5.36.0'
installprivlib='/sys/lib/perl/5.36.1'
installscript='/usr/bin'
installsitearch='/sys/lib/perl/5.36.0/site_perl/386'
installsitearch='/sys/lib/perl/5.36.1/site_perl/386'
installsitebin='/usr/bin'
installsitelib='/sys/lib/perl/5.36.0/site_perl'
installsitelib='/sys/lib/perl/5.36.1/site_perl'
installstyle='lib/perl5'
installusrbinperl='undef'
installvendorarch=''
@ -961,8 +961,8 @@ pmake=''
pr=''
prefix='/usr'
prefixexp='/usr'
privlib='/sys/lib/perl/5.36.0'
privlibexp='/sys/lib/perl/5.36.0'
privlib='/sys/lib/perl/5.36.1'
privlibexp='/sys/lib/perl/5.36.1'
procselfexe=''
prototype='define'
ptrsize='4'
@ -1027,13 +1027,13 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 0'
sig_size='50'
signal_t='void'
sitearch='/sys/lib/perl/5.36.0/site_perl/386'
sitearch='/sys/lib/perl/5.36.1/site_perl/386'
sitearchexp='/sys/lib/perl/site_perl/386'
sitebin='/usr/bin'
sitebinexp='/usr/bin'
sitelib='/sys/lib/perl/5.36.0/site_perl'
sitelib_stem='/sys/lib/perl/5.36.0/site_perl'
sitelibexp='/sys/lib/perl/5.36.0/site_perl'
sitelib='/sys/lib/perl/5.36.1/site_perl'
sitelib_stem='/sys/lib/perl/5.36.1/site_perl'
sitelibexp='/sys/lib/perl/5.36.1/site_perl'
siteprefix='/usr'
siteprefixexp='/usr'
sizesize='4'
@ -1068,7 +1068,7 @@ stdio_stream_array=''
strerror_r_proto='0'
strings='/sys/include/ape/string.h'
submit=''
subversion='0'
subversion='1'
sysman='/sys/man/1pub'
tail=''
tar=''
@ -1149,8 +1149,8 @@ vendorlib_stem=''
vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
version='5.36.0'
version_patchlevel_string='version 36 subversion 0'
version='5.36.1'
version_patchlevel_string='version 36 subversion 1'
versiononly='undef'
vi=''
xlibpth=''
@ -1165,7 +1165,7 @@ config_args=''
config_argc=0
PERL_REVISION=5
PERL_VERSION=36
PERL_SUBVERSION=0
PERL_SUBVERSION=1
PERL_API_REVISION=5
PERL_API_VERSION=36
PERL_API_SUBVERSION=0

View File

@ -179,6 +179,7 @@ aux h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp
perlhist Perl history records
perldelta Perl changes since previous version
perl5360delta Perl changes in version 5.36.0
perl5341delta Perl changes in version 5.34.1
perl5340delta Perl changes in version 5.34.0
perl5321delta Perl changes in version 5.32.1

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -184,7 +184,7 @@ L<[perl #19764]|https://github.com/Perl/perl5/issues/19764>.
Introduced in Perl 5.36.0
Using this feature triggers warnings in the category C<builtin::defer>.
Using this feature triggers warnings in the category C<experimental::defer>.
This feature adds a new kind of block, a C<defer> block, which will not be
executed until the containing block is being exited.
@ -197,7 +197,7 @@ L<[perl #17949]|https://github.com/Perl/perl5/issues/17949>.
Introduced in Perl 5.36.0
Using this feature triggers warnings in the category
C<builtin::extra_paired_delimiters>.
C<experimental::extra_paired_delimiters>.
This feature allows for many non-ASCII pairs of mirroring delimiters, for
example:

View File

@ -35,7 +35,7 @@ Little, Dave Rolsky, Max Maischein, Abigail, Jesse Luehrs, Tony Cook,
Dominic Hargreaves, Aaron Crane, Aristotle Pagaltzis, Matthew Horsfall,
Peter Martini, Sawyer X, Chad 'Exodist' Granum, Renee Bäcker, Eric Herman,
John SJ Anderson, Karen Etheridge, Zak B. Elep, Tom Hukins, Richard Leach,
and Neil Bowers.
Neil Bowers and Yves Orton.
=head2 PUMPKIN?
@ -734,6 +734,23 @@ the strings?).
Ricardo 5.36.0-RC2 2022-May-20
Ricardo 5.36.0-RC3 2022-May-22
Ricardo 5.36.0 2022-May-27
Steve 5.36.1-RC1 2023-Apr-10
Steve 5.36.1-RC2 2023-Apr-11
Steve 5.36.1-RC3 2023-Apr-16
Steve 5.36.1 2023-Apr-23
Ricardo 5.37.0 2022-May-27 The 5.37 development track
Matthew H 5.37.1 2022-Jun-20
Nicolas R 5.37.2 2022-Jul-20
Neil B 5.37.3 2022-Aug-20
Ether 5.37.4 2022-Sep-20
Todd R 5.37.5 2022-Oct-20
Max M 5.37.6 2022-Nov-20
Richard L 5.37.7 2022-Dec-20
Renee 5.37.8 2023-Jan-20
Ether 5.37.9 2023-Feb-20
Yves 5.37.10 2023-Mar-20
Steve 5.37.11 2023-Apr-20
=head2 SELECTED RELEASE SIZES

View File

@ -653,15 +653,15 @@ PP(pp_formline)
break;
}
else {
if (size == fieldsize)
break;
if (strchr(PL_chopset, *s)) {
/* provisional split point */
/* for a non-space split char, we include
* the split char; hence the '+1' */
chophere = s + 1;
itemsize = size;
itemsize = size + 1;
}
if (size == fieldsize)
break;
if (!isCNTRL(*s))
gotsome = TRUE;
}
@ -3347,11 +3347,16 @@ S_docatch(pTHX_ Perl_ppaddr_t firstpp)
case 0:
PL_op = firstpp(aTHX);
redo_body:
CALLRUNOPS(aTHX);
if (PL_op) {
CALLRUNOPS(aTHX);
}
break;
case 3:
/* die caught by an inner eval - continue inner loop */
if (PL_restartop && PL_restartjmpenv == PL_top_env) {
if (PL_restartjmpenv == PL_top_env) {
/* die caught by an inner eval - continue inner loop */
if (!PL_restartop)
break;
PL_restartjmpenv = NULL;
PL_op = PL_restartop;
PL_restartop = 0;

View File

@ -861,7 +861,7 @@ PP(pp_multiconcat)
/* Note that we iterate the loop nargs+1 times: to append nargs
* arguments and nargs+1 constant strings. For example, "-$a-$b-"
*/
svpv_p = svpv_base - 1;
svpv_p = svpv_base;
for (;;) {
SSize_t len = (const_lens++)->ssize;
@ -873,7 +873,7 @@ PP(pp_multiconcat)
const_pv += len;
}
if (++svpv_p == svpv_end)
if (svpv_p == svpv_end)
break;
/* append next arg */
@ -901,6 +901,7 @@ PP(pp_multiconcat)
targ_pv += len;
}
++svpv_p;
}
}

View File

@ -5709,54 +5709,40 @@ STATIC SSize_t S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const c
#endif
#if defined(PERL_IN_PP_SORT_C)
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2);
#define PERL_ARGS_ASSERT_AMAGIC_CMP \
assert(str1); assert(str2)
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2);
#define PERL_ARGS_ASSERT_AMAGIC_CMP_DESC \
assert(str1); assert(str2)
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b);
#define PERL_ARGS_ASSERT_AMAGIC_I_NCMP \
assert(a); assert(b)
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b);
#define PERL_ARGS_ASSERT_AMAGIC_I_NCMP_DESC \
assert(a); assert(b)
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b);
#define PERL_ARGS_ASSERT_AMAGIC_NCMP \
assert(a); assert(b)
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b);
#define PERL_ARGS_ASSERT_AMAGIC_NCMP_DESC \
assert(a); assert(b)
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_cmp_desc(pTHX_ SV *const str1, SV *const str2)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_cmp_desc(pTHX_ SV *const str1, SV *const str2);
#define PERL_ARGS_ASSERT_CMP_DESC \
assert(str1); assert(str2)
#endif
STATIC I32 S_sortcv(pTHX_ SV *const a, SV *const b);
#define PERL_ARGS_ASSERT_SORTCV \
assert(a); assert(b)
@ -5774,55 +5760,41 @@ PERL_STATIC_FORCE_INLINE void S_sortsv_flags_impl(pTHX_ SV** array, size_t num_e
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b);
#define PERL_ARGS_ASSERT_SV_I_NCMP \
assert(a); assert(b)
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b);
#define PERL_ARGS_ASSERT_SV_I_NCMP_DESC \
assert(a); assert(b)
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b);
#define PERL_ARGS_ASSERT_SV_NCMP \
assert(a); assert(b)
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b);
#define PERL_ARGS_ASSERT_SV_NCMP_DESC \
assert(a); assert(b)
#endif
# if defined(USE_LOCALE_COLLATE)
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2);
#define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE \
assert(str1); assert(str2)
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2);
#define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE_DESC \
assert(str1); assert(str2)
#endif
#ifndef PERL_NO_INLINE_FUNCTIONS
PERL_STATIC_FORCE_INLINE I32 S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2)
__attribute__always_inline__;
PERL_STATIC_INLINE I32 S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2);
#define PERL_ARGS_ASSERT_CMP_LOCALE_DESC \
assert(str1); assert(str2)
#endif
# endif
#endif
#if defined(PERL_IN_PP_SYS_C)
@ -6772,9 +6744,15 @@ STATIC void S_mem_log_common(enum mem_log_type mlt, const UV n, const UV typesiz
PERL_CALLCONV Malloc_t Perl_mem_log_alloc(const UV nconst, UV typesize, const char *type_name, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname);
#define PERL_ARGS_ASSERT_MEM_LOG_ALLOC \
assert(type_name); assert(filename); assert(funcname)
PERL_CALLCONV void Perl_mem_log_del_sv(const SV *sv, const char *filename, int linenumber, const char *funcname);
#define PERL_ARGS_ASSERT_MEM_LOG_DEL_SV \
assert(sv); assert(filename); assert(funcname)
PERL_CALLCONV Malloc_t Perl_mem_log_free(Malloc_t oldalloc, const char *filename, const int linenumber, const char *funcname);
#define PERL_ARGS_ASSERT_MEM_LOG_FREE \
assert(filename); assert(funcname)
PERL_CALLCONV void Perl_mem_log_new_sv(const SV *sv, const char *filename, int linenumber, const char *funcname);
#define PERL_ARGS_ASSERT_MEM_LOG_NEW_SV \
assert(sv); assert(filename); assert(funcname)
PERL_CALLCONV Malloc_t Perl_mem_log_realloc(const UV n, const UV typesize, const char *type_name, Malloc_t oldalloc, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname);
#define PERL_ARGS_ASSERT_MEM_LOG_REALLOC \
assert(type_name); assert(filename); assert(funcname)

View File

@ -5764,16 +5764,6 @@ Perl_sv_magic(pTHX_ SV *const sv, SV *const obj, const int how,
}
}
/* Force pos to be stored as characters, not bytes. */
if (SvMAGICAL(sv) && DO_UTF8(sv)
&& (mg = mg_find(sv, PERL_MAGIC_regex_global))
&& mg->mg_len != -1
&& mg->mg_flags & MGf_BYTES) {
mg->mg_len = (SSize_t)sv_pos_b2u_flags(sv, (STRLEN)mg->mg_len,
SV_CONST_RETURN);
mg->mg_flags &= ~MGf_BYTES;
}
/* Rest of work is done else where */
mg = sv_magicext(sv,obj,how,vtable,name,namlen);

View File

@ -14,7 +14,7 @@ BEGIN {
$|=0; # test.pl makes it 1, and that conflicts with the below.
plan tests => 16;
plan tests => 22;
my $stdout = *STDOUT;
@ -48,6 +48,20 @@ $- = 1; pass '$- = 1';
$% = 1; pass '$% = 1';
$| = 1; pass '$| = 1';
# test a NULLed GV
my $t = tempfile;
open FOO, ">", $t or die;
select(FOO);
my $io = *FOO{IO};
*FOO = 0;
$^ = 1; pass 'empty GV: $^ = 1';
$~ = 1; pass 'empty GV: $~ = 1';
$= = 1; pass 'empty GV: $= = 1';
$- = 1; pass 'empty GV: $- = 1';
$% = 1; pass 'empty GV: $% = 1';
$| = 1; pass 'empty GV: $| = 1';
close $io;
# Switch to STDERR for this test, so we do not lose our test output
my $stderr = *STDERR;
select($stderr);

View File

@ -7,7 +7,7 @@ BEGIN {
*bar::is = *is;
*bar::like = *like;
}
plan 150;
plan 151;
# -------------------- our -------------------- #
@ -960,3 +960,14 @@ like runperl(
is join("-", qw(aa bb), do { my sub lleexx; 123 }, qw(cc dd)),
"aa-bb-123-cc-dd", 'do { my sub...} in a list [perl #132442]';
{
# this would crash because find_lexical_cv() couldn't handle an
# intermediate scope which didn't include the sub
no warnings 'experimental::builtin';
use builtin 'ceil';
sub nested {
ok(eval 'ceil(1.5)', "no assertion failure calling a lexical sub from nested eval");
}
nested();
}

View File

@ -13,7 +13,7 @@ BEGIN {
use strict;
no warnings 'once';
plan(tests => 162);
plan(tests => 163);
{
# RT #126042 &{1==1} * &{1==1} would crash
@ -715,6 +715,32 @@ SKIP: {
like ($@, qr/Modification of a read-only value attempted/, 'RT #123619');
}
{
fresh_perl_is(<<'PROG', <<'EXPECT', {}, "don't negative cache NOUNIVERSAL lookups");
use v5.36;
my $foo;
BEGIN {
$foo = bless {}, 'Foo';
$foo->isa('Foo') and say "->isa works!";
}
# bump PL_sub_generation
local *Foo::DESTROY = sub {};
undef &Foo::DESTROY;
local *Foo::DESTROY = sub {};
$foo isa 'Foo' and say " and isa works!";
$foo->isa('Foo') and say "->isa works!";
PROG
->isa works!
and isa works!
->isa works!
EXPECT
}
# RT#130496: assertion failure when looking for a method of undefined name
# on an unblessed reference
fresh_perl_is('eval { {}->$x }; print $@;',

View File

@ -25,7 +25,7 @@ if ($NoTaintSupport) {
exit 0;
}
plan tests => 1054;
plan tests => 1058;
$| = 1;
@ -2956,6 +2956,18 @@ is_tainted("$ovtaint", "overload preserves taint");
taint_sig3($TAINT);
}
{
# GH 19478: panic on s///gre with tainted utf8 strings
my $u = "\x{10469}";
my $r1 = ("foo$TAINT" =~ s/./"$u"/gre);
is($r1, "$u$u$u", 'tainted string with utf8 s/.//gre');
my $r2 = ("foo$TAINT" =~ s/.*/"${u}"/gre);
is($r2, "$u$u", 'tainted string with utf8 s/.*//gre');
my $r3 = ("foo$TAINT" =~ s/.+/"${u}"/gre);
is($r3, $u, 'tainted string with utf8 s/.+//gre');
my $r4 = ("$u$TAINT" =~ s/./""/gre);
is($r4, '', 'tainted utf8 string with s///gre');
}
# This may bomb out with the alarm signal so keep it last
SKIP: {

View File

@ -33,6 +33,18 @@ sub cat_utf8 {
$data;
}
# write a format to a plain file, then read it back in and compare
sub is_format {
my ($glob, $want, $desc) = @_;
local $::Level = $::Level + 1;
my $file = 'Op_write.tmp';
open $glob, '>', $file or die "Can't create '$file': $!";
write $glob;
close $glob or die "Could not close '$file': $!";
is(cat($file), $want, $desc);
}
# write a format to a utf8 file, then read it back in and compare
sub is_format_utf8 {
@ -100,7 +112,8 @@ for my $tref ( @NumTests ){
my $bas_tests = 21;
# number of tests in section 3
my $bug_tests = 66 + 3 * 3 * 5 * 2 * 3 + 2 + 66 + 6 + 2 + 3 + 96 + 11 + 14;
my $bug_tests = 66 + 3 * 3 * 5 * 2 * 3 + 2 + 66 + 6 + 2 + 3 + 96 + 11 + 14
+ 12;
# number of tests in section 4
my $hmb_tests = 37;
@ -1360,6 +1373,47 @@ $v28f
like_format_utf8(\*OUT28f, $qr_hash_m);
my $v29a;
format OUT29a =
[^<<<]~~
$v29a
.
$v29a = "-ABCD";
is_format(\*OUT29a, "[- ]\n[ABCD]\n");
$v29a = "A-BCD";
is_format(\*OUT29a, "[A- ]\n[BCD ]\n");
$v29a = "AB-CD";
is_format(\*OUT29a, "[AB- ]\n[CD ]\n");
$v29a = "ABC-D";
is_format(\*OUT29a, "[ABC-]\n[D ]\n");
$v29a = "ABCD-";
is_format(\*OUT29a, "[ABCD]\n[- ]\n");
$v29a = "ABCDE-";
is_format(\*OUT29a, "[ABCD]\n[E- ]\n");
$v29a = "-ABCD";
is_format_utf8(\*OUT29a, "[- ]\n[ABCD]\n");
$v29a = "A-BCD";
is_format_utf8(\*OUT29a, "[A- ]\n[BCD ]\n");
$v29a = "AB-CD";
is_format_utf8(\*OUT29a, "[AB- ]\n[CD ]\n");
$v29a = "ABC-D";
is_format_utf8(\*OUT29a, "[ABC-]\n[D ]\n");
$v29a = "ABCD-";
is_format_utf8(\*OUT29a, "[ABCD]\n[- ]\n");
$v29a = "ABCDE-";
is_format_utf8(\*OUT29a, "[ABCD]\n[E- ]\n");
{

View File

@ -30,6 +30,10 @@ if ( $^O eq "vos" ) {
skip_all( "VOS combines the read and execute permission bits." );
}
if ( $^O eq "secbsd" ) {
skip_all( "SecBSD CVS src tree execute permission bits do not match Perl distribution." );
}
if ( $Config{usecrosscompile} ) {
skip_all( "Not all files are available during cross-compilation" );
}

View File

@ -24,7 +24,7 @@ BEGIN {
our @global;
plan tests => 506; # Update this when adding/deleting tests.
plan tests => 508; # Update this when adding/deleting tests.
run_tests() unless caller;
@ -1332,6 +1332,21 @@ sub run_tests {
pass("SvTEMP 2");
}
# GH #19680 "panic: restartop in perl_run"
# The eval block embedded within the (?{}) - but with no more code
# following it - causes the next op after the OP_LEAVETRY to be NULL
# (not even an OP_LEAVE). This confused the exception-catching and
# rethrowing code: it was incorrectly rethrowing the exception rather
# than just stopping at that point.
ok("test" =~ m{^ (?{eval {die "boo!"}}) test $}x, "GH #19680");
# GH #19390 Segmentation fault with use re 'eval'
# Similar to GH #19680 above, but exiting the eval via a syntax error
# rather than throwing an exception
ok("" =~ m{^ (?{eval q{$x=}})}x, "GH #19390");
} # End of sub run_tests
1;

View File

@ -405,7 +405,7 @@ Perl_safesysfree(Malloc_t where)
if (munmap(where_intrn, size)) {
perror("munmap failed");
abort();
}
}
# endif
}
#else
@ -1803,9 +1803,9 @@ Perl_write_to_stderr(pTHX_ SV* msv)
PERL_ARGS_ASSERT_WRITE_TO_STDERR;
if (PL_stderrgv && SvREFCNT(PL_stderrgv)
if (PL_stderrgv && SvREFCNT(PL_stderrgv)
&& (io = GvIO(PL_stderrgv))
&& (mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar)))
&& (mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar)))
Perl_magic_methcall(aTHX_ MUTABLE_SV(io), mg, SV_CONST(PRINT),
G_SCALAR | G_DISCARD | G_WRITING_TO_STDERR, 1, msv);
else {
@ -2268,7 +2268,7 @@ This is like C<L</warner>>, but C<args> are an encapsulated argument list.
void
Perl_warner_nocontext(U32 err, const char *pat, ...)
{
dTHX;
dTHX;
va_list args;
PERL_ARGS_ASSERT_WARNER_NOCONTEXT;
va_start(args, pat);
@ -2380,7 +2380,7 @@ S_ckwarn_common(pTHX_ U32 w)
} else if (!unpackWARN3(w)) {
assert(!unpackWARN4(w));
}
/* Right, dealt with all the special cases, which are implemented as non-
pointers, so there is a pointer to a real warnings mask. */
do {
@ -2648,7 +2648,7 @@ Perl_unlnk(pTHX_ const char *f) /* unlink all versions of a file */
#if defined(OEMVS)
#if (__CHARSET_LIB == 1)
static int chgfdccsid(int fd, unsigned short ccsid)
static int chgfdccsid(int fd, unsigned short ccsid)
{
attrib_t attr;
memset(&attr, 0, sizeof(attr));
@ -2930,7 +2930,7 @@ Perl_my_popen(pTHX_ const char *cmd, const char *mode)
filedescriptors directly, need to manually switch to the
default, binary, low-level mode; see PerlIOBuf_open(). */
PerlLIO_setmode((*mode == 'r'), O_BINARY);
#endif
#endif
PL_forkprocess = 0;
#ifdef PERL_USES_PL_PIDSTATUS
hv_clear(PL_pidstatus); /* we have no children */
@ -5233,7 +5233,7 @@ Perl_debug_hash_seed(pTHX_ bool via_debug_h)
# endif
static void
S_mem_log_common(enum mem_log_type mlt, const UV n,
S_mem_log_common(enum mem_log_type mlt, const UV n,
const UV typesize, const char *type_name, const SV *sv,
Malloc_t oldalloc, Malloc_t newalloc,
const char *filename, const int linenumber,
@ -5259,7 +5259,7 @@ S_mem_log_common(enum mem_log_type mlt, const UV n,
# define MEM_LOG_TIME_FMT "%10d.%06d: "
# define MEM_LOG_TIME_ARG (int)tv.tv_sec, (int)tv.tv_usec
struct timeval tv;
gettimeofday(&tv, 0);
PerlProc_gettimeofday(&tv, 0);
# else
# define MEM_LOG_TIME_FMT "%10d: "
# define MEM_LOG_TIME_ARG (int)when
@ -5342,7 +5342,7 @@ S_mem_log_common(enum mem_log_type mlt, const UV n,
Malloc_t
Perl_mem_log_alloc(const UV n, const UV typesize, const char *type_name,
Malloc_t newalloc,
Malloc_t newalloc,
const char *filename, const int linenumber,
const char *funcname)
{
@ -5356,45 +5356,49 @@ Perl_mem_log_alloc(const UV n, const UV typesize, const char *type_name,
Malloc_t
Perl_mem_log_realloc(const UV n, const UV typesize, const char *type_name,
Malloc_t oldalloc, Malloc_t newalloc,
const char *filename, const int linenumber,
Malloc_t oldalloc, Malloc_t newalloc,
const char *filename, const int linenumber,
const char *funcname)
{
PERL_ARGS_ASSERT_MEM_LOG_REALLOC;
mem_log_common_if(MLT_REALLOC, n, typesize, type_name,
NULL, oldalloc, newalloc,
NULL, oldalloc, newalloc,
filename, linenumber, funcname);
return newalloc;
}
Malloc_t
Perl_mem_log_free(Malloc_t oldalloc,
const char *filename, const int linenumber,
Perl_mem_log_free(Malloc_t oldalloc,
const char *filename, const int linenumber,
const char *funcname)
{
PERL_ARGS_ASSERT_MEM_LOG_FREE;
mem_log_common_if(MLT_FREE, 0, 0, "", NULL, oldalloc, NULL,
mem_log_common_if(MLT_FREE, 0, 0, "", NULL, oldalloc, NULL,
filename, linenumber, funcname);
return oldalloc;
}
void
Perl_mem_log_new_sv(const SV *sv,
Perl_mem_log_new_sv(const SV *sv,
const char *filename, const int linenumber,
const char *funcname)
{
PERL_ARGS_ASSERT_MEM_LOG_NEW_SV;
mem_log_common_if(MLT_NEW_SV, 0, 0, "", sv, NULL, NULL,
filename, linenumber, funcname);
}
void
Perl_mem_log_del_sv(const SV *sv,
const char *filename, const int linenumber,
const char *filename, const int linenumber,
const char *funcname)
{
mem_log_common_if(MLT_DEL_SV, 0, 0, "", sv, NULL, NULL,
PERL_ARGS_ASSERT_MEM_LOG_DEL_SV;
mem_log_common_if(MLT_DEL_SV, 0, 0, "", sv, NULL, NULL,
filename, linenumber, funcname);
}
@ -5668,7 +5672,7 @@ Perl_my_clearenv(pTHX)
(void)safesysfree(buf);
bsiz = l + 1; /* + 1 for the \0. */
buf = (char*)safesysmalloc(bsiz);
}
}
memcpy(buf, *environ, l);
buf[l] = '\0';
(void)unsetenv(buf);
@ -6046,7 +6050,7 @@ Perl_get_db_sub(pTHX_ SV **svp, CV *cv)
!( (SvTYPE(*svp) == SVt_PVGV)
&& (GvCV((const GV *)*svp) == cv)
/* Use GV from the stack as a fallback. */
&& S_gv_has_usable_name(aTHX_ gv = (GV *)*svp)
&& S_gv_has_usable_name(aTHX_ gv = (GV *)*svp)
)
)
) {
@ -6099,7 +6103,7 @@ Perl_my_dirfd(DIR * dir) {
Perl_croak_nocontext(PL_no_func, "dirfd");
NOT_REACHED; /* NOTREACHED */
return 0;
#endif
#endif
}
#if !defined(HAS_MKOSTEMP) || !defined(HAS_MKSTEMP)
@ -6194,7 +6198,7 @@ Perl_get_re_arg(pTHX_ SV *sv) {
if (SvTYPE(sv) == SVt_REGEXP)
return (REGEXP*) sv;
}
return NULL;
}

View File

@ -313,7 +313,7 @@ utils : $(utils1) $(utils2) $(utils3) $(utils4) $(utils5)
extra.pods : miniperl
@ @extra_pods.com
PERLDELTA_CURRENT = [.pod]perl5360delta.pod
PERLDELTA_CURRENT = [.pod]perl5361delta.pod
$(PERLDELTA_CURRENT) : [.pod]perldelta.pod
Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT)

View File

@ -63,7 +63,7 @@ INST_TOP := $(INST_DRV)\perl
# versioned installation can be obtained by setting INST_TOP above to a
# path that includes an arbitrary version string.
#
#INST_VER := \5.36.0
#INST_VER := \5.36.1
#
# Comment this out if you DON'T want your perl installation to have
@ -1624,7 +1624,7 @@ utils: $(HAVEMINIPERL) ..\utils\Makefile
copy ..\README.tw ..\pod\perltw.pod
copy ..\README.vos ..\pod\perlvos.pod
copy ..\README.win32 ..\pod\perlwin32.pod
copy ..\pod\perldelta.pod ..\pod\perl5360delta.pod
copy ..\pod\perldelta.pod ..\pod\perl5361delta.pod
$(MINIPERL) -I..\lib $(PL2BAT) $(UTILS)
$(MINIPERL) -I..\lib ..\autodoc.pl ..
$(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
@ -1724,7 +1724,7 @@ distclean: realclean
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
-cd $(PODDIR) && del /f *.html *.bat roffitall \
perl5360delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
perl5361delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \
perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \
perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \

View File

@ -37,7 +37,7 @@ INST_TOP = $(INST_DRV)\perl
# versioned installation can be obtained by setting INST_TOP above to a
# path that includes an arbitrary version string.
#
#INST_VER = \5.36.0
#INST_VER = \5.36.1
#
# Comment this out if you DON'T want your perl installation to have
@ -1156,7 +1156,7 @@ utils: $(PERLEXE) ..\utils\Makefile
copy ..\README.tw ..\pod\perltw.pod
copy ..\README.vos ..\pod\perlvos.pod
copy ..\README.win32 ..\pod\perlwin32.pod
copy ..\pod\perldelta.pod ..\pod\perl5360delta.pod
copy ..\pod\perldelta.pod ..\pod\perl5361delta.pod
cd ..\win32
$(PERLEXE) $(PL2BAT) $(UTILS)
$(MINIPERL) -I..\lib ..\autodoc.pl ..
@ -1257,7 +1257,7 @@ distclean: realclean
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
-cd $(PODDIR) && del /f *.html *.bat roffitall \
perl5360delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
perl5361delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \
perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \
perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \

View File

@ -67,6 +67,7 @@ POD = perl.pod \
perl5340delta.pod \
perl5341delta.pod \
perl5360delta.pod \
perl5361delta.pod \
perl561delta.pod \
perl56delta.pod \
perl581delta.pod \
@ -232,6 +233,7 @@ MAN = perl.man \
perl5340delta.man \
perl5341delta.man \
perl5360delta.man \
perl5361delta.man \
perl561delta.man \
perl56delta.man \
perl581delta.man \
@ -397,6 +399,7 @@ HTML = perl.html \
perl5340delta.html \
perl5341delta.html \
perl5360delta.html \
perl5361delta.html \
perl561delta.html \
perl56delta.html \
perl581delta.html \
@ -562,6 +565,7 @@ TEX = perl.tex \
perl5340delta.tex \
perl5341delta.tex \
perl5360delta.tex \
perl5361delta.tex \
perl561delta.tex \
perl56delta.tex \
perl581delta.tex \

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.136 2023/07/06 14:37:39 tb Exp $
# $OpenBSD: Makefile,v 1.137 2023/07/07 06:10:14 jsing Exp $
LIB= crypto
LIBREBUILD=y
@ -879,11 +879,16 @@ obj_dat.h: obj_mac.h ${SSL_OBJECTS}/obj_dat.pl
.include "${.CURDIR}/arch/${MACHINE_CPU}/Makefile.inc"
.else
CFLAGS+=-DOPENSSL_NO_ASM
SRCS+= aes_core.c aes_cbc.c
SRCS+= aes_core.c
SRCS+= aes_cbc.c
SRCS+= bf_enc.c
SRCS+= camellia.c cmll_cbc.c cmll_misc.c
SRCS+= des_enc.c fcrypt_b.c
SRCS+= rc4_enc.c rc4_skey.c
SRCS+= camellia.c
SRCS+= cmll_cbc.c
SRCS+= cmll_misc.c
SRCS+= des_enc.c
SRCS+= fcrypt_b.c
SRCS+= rc4_enc.c
SRCS+= rc4_skey.c
SRCS+= wp_block.c
.endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,26 @@
# $OpenBSD: Makefile.inc,v 1.1 2023/07/07 15:51:03 jsing Exp $
# riscv64 libcrypto build rules
# aes
SRCS+= aes_core.c
SRCS+= aes_cbc.c
# bf
SRCS+= bf_enc.c
# camellia
SRCS+= camellia.c
SRCS+= cmll_cbc.c
SRCS+= cmll_misc.c
# des
SRCS+= des_enc.c
SRCS+= fcrypt_b.c
# rc4
SRCS+= rc4_enc.c
SRCS+= rc4_skey.c
# whrlpool
SRCS+= wp_block.c

View File

@ -1,4 +1,4 @@
/* $OpenBSD: a_pkey.c,v 1.5 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: a_pkey.c,v 1.6 2023/07/07 19:37:52 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -123,7 +123,6 @@ d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
EVP_PKEY_free(ret);
return (NULL);
}
LCRYPTO_ALIAS(d2i_PrivateKey);
int
i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp)
@ -140,7 +139,6 @@ i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp)
ASN1error(ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
return (-1);
}
LCRYPTO_ALIAS(i2d_PrivateKey);
/* This works like d2i_PrivateKey() except it automatically works out the type */
@ -186,4 +184,3 @@ d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length)
sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free);
return d2i_PrivateKey(keytype, a, pp, length);
}
LCRYPTO_ALIAS(d2i_AutoPrivateKey);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: a_pubkey.c,v 1.5 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: a_pubkey.c,v 1.6 2023/07/07 19:37:52 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -136,7 +136,6 @@ d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
EVP_PKEY_free(ret);
return (NULL);
}
LCRYPTO_ALIAS(d2i_PublicKey);
int
i2d_PublicKey(EVP_PKEY *a, unsigned char **pp)
@ -159,4 +158,3 @@ i2d_PublicKey(EVP_PKEY *a, unsigned char **pp)
return (-1);
}
}
LCRYPTO_ALIAS(i2d_PublicKey);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: a_strex.c,v 1.33 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: a_strex.c,v 1.34 2023/07/07 19:37:52 beck Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 2000.
*/
@ -570,7 +570,6 @@ X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent,
return X509_NAME_print(out, nm, indent);
return do_name_ex(send_bio_chars, out, nm, indent, flags);
}
LCRYPTO_ALIAS(X509_NAME_print_ex);
int
X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,
@ -588,7 +587,6 @@ X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,
}
return do_name_ex(send_fp_chars, fp, nm, indent, flags);
}
LCRYPTO_ALIAS(X509_NAME_print_ex_fp);
int
ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags)

View File

@ -1,4 +1,4 @@
/* $OpenBSD: a_time_tm.c,v 1.28 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: a_time_tm.c,v 1.29 2023/07/07 19:37:52 beck Exp $ */
/*
* Copyright (c) 2015 Bob Beck <beck@openbsd.org>
*
@ -77,7 +77,6 @@ ASN1_time_tm_clamp_notafter(struct tm *tm)
#endif
return 1;
}
LCRYPTO_ALIAS(ASN1_time_tm_clamp_notafter);
/* Convert time to GeneralizedTime, X.690, 11.7. */
ASN1_TIME *
@ -567,7 +566,6 @@ ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
return ASN1_TIME_cmp_time_t_internal(s, t, V_ASN1_UTCTIME);
return -2;
}
LCRYPTO_ALIAS(ASN1_UTCTIME_cmp_time_t);
/*
* ASN1_GENERALIZEDTIME wrappers

View File

@ -1,4 +1,4 @@
/* $OpenBSD: ameth_lib.c,v 1.31 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: ameth_lib.c,v 1.32 2023/07/07 19:37:52 beck Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 2006.
*/
@ -120,7 +120,6 @@ EVP_PKEY_asn1_get_count(void)
return num;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_get_count);
const EVP_PKEY_ASN1_METHOD *
EVP_PKEY_asn1_get0(int idx)
@ -136,7 +135,6 @@ EVP_PKEY_asn1_get0(int idx)
return sk_EVP_PKEY_ASN1_METHOD_value(asn1_app_methods, idx);
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_get0);
static const EVP_PKEY_ASN1_METHOD *
pkey_asn1_find(int pkey_id)
@ -185,7 +183,6 @@ EVP_PKEY_asn1_find(ENGINE **pe, int type)
}
return mp;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_find);
const EVP_PKEY_ASN1_METHOD *
EVP_PKEY_asn1_find_str(ENGINE **pe, const char *str, int len)
@ -222,7 +219,6 @@ EVP_PKEY_asn1_find_str(ENGINE **pe, const char *str, int len)
}
return NULL;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_find_str);
int
EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth)
@ -238,7 +234,6 @@ EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth)
return 1;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_add0);
int
EVP_PKEY_asn1_add_alias(int to, int from)
@ -256,7 +251,6 @@ EVP_PKEY_asn1_add_alias(int to, int from)
}
return 1;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_add_alias);
int
EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id, int *ppkey_flags,
@ -277,14 +271,12 @@ EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id, int *ppkey_flags,
*ppem_str = ameth->pem_str;
return 1;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_get0_info);
const EVP_PKEY_ASN1_METHOD*
EVP_PKEY_get0_asn1(const EVP_PKEY *pkey)
{
return pkey->ameth;
}
LCRYPTO_ALIAS(EVP_PKEY_get0_asn1);
EVP_PKEY_ASN1_METHOD*
EVP_PKEY_asn1_new(int id, int flags, const char *pem_str, const char *info)
@ -314,7 +306,6 @@ EVP_PKEY_asn1_new(int id, int flags, const char *pem_str, const char *info)
EVP_PKEY_asn1_free(ameth);
return NULL;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_new);
void
EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src)
@ -335,7 +326,6 @@ EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src)
dst->pem_str = preserve.pem_str;
dst->info = preserve.info;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_copy);
void
EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth)
@ -346,7 +336,6 @@ EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth)
free(ameth);
}
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_free);
void
EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,
@ -365,7 +354,6 @@ EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,
ameth->pkey_size = pkey_size;
ameth->pkey_bits = pkey_bits;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_public);
void
EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth,
@ -378,7 +366,6 @@ EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth,
ameth->priv_encode = priv_encode;
ameth->priv_print = priv_print;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_private);
void
EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth,
@ -397,7 +384,6 @@ EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth,
ameth->param_cmp = param_cmp;
ameth->param_print = param_print;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_param);
void
EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth,
@ -405,7 +391,6 @@ EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth,
{
ameth->pkey_free = pkey_free;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_free);
void
EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth,
@ -413,7 +398,6 @@ EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth,
{
ameth->pkey_ctrl = pkey_ctrl;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_ctrl);
void
EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,
@ -421,7 +405,6 @@ EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,
{
ameth->pkey_security_bits = pkey_security_bits;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_security_bits);
void
EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth,
@ -429,7 +412,6 @@ EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth,
{
ameth->pkey_check = pkey_check;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_check);
void
EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth,
@ -437,7 +419,6 @@ EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth,
{
ameth->pkey_public_check = pkey_public_check;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_public_check);
void
EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth,
@ -445,4 +426,3 @@ EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth,
{
ameth->pkey_param_check = pkey_param_check;
}
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_param_check);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: asn1_item.c,v 1.15 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: asn1_item.c,v 1.16 2023/07/07 19:37:52 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -138,7 +138,6 @@ ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *asn,
free(str);
return (1);
}
LCRYPTO_ALIAS(ASN1_item_digest);
/*
* ASN1_ITEM version of ASN1_dup(): follows the same model except there's no
@ -230,7 +229,6 @@ ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
}
return ASN1_item_sign_ctx(it, algor1, algor2, signature, asn, &ctx);
}
LCRYPTO_ALIAS(ASN1_item_sign);
int
ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
@ -340,7 +338,6 @@ ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
return ret;
}
LCRYPTO_ALIAS(ASN1_item_sign_ctx);
int
ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
@ -426,7 +423,6 @@ ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
return ret;
}
LCRYPTO_ALIAS(ASN1_item_verify);
#define HEADER_SIZE 8
#define ASN1_CHUNK_INITIAL_SIZE (16 * 1024)

View File

@ -1,4 +1,4 @@
/* $OpenBSD: asn1_old.c,v 1.4 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: asn1_old.c,v 1.5 2023/07/07 19:37:52 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -91,7 +91,6 @@ ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x)
free(b);
return (ret);
}
LCRYPTO_ALIAS(ASN1_dup);
void *
ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x)

View File

@ -1,4 +1,4 @@
/* $OpenBSD: p5_pbe.c,v 1.24 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: p5_pbe.c,v 1.25 2023/07/07 19:37:52 beck Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 1999.
*/
@ -95,28 +95,24 @@ d2i_PBEPARAM(PBEPARAM **a, const unsigned char **in, long len)
return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&PBEPARAM_it);
}
LCRYPTO_ALIAS(d2i_PBEPARAM);
int
i2d_PBEPARAM(PBEPARAM *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it);
}
LCRYPTO_ALIAS(i2d_PBEPARAM);
PBEPARAM *
PBEPARAM_new(void)
{
return (PBEPARAM *)ASN1_item_new(&PBEPARAM_it);
}
LCRYPTO_ALIAS(PBEPARAM_new);
void
PBEPARAM_free(PBEPARAM *a)
{
ASN1_item_free((ASN1_VALUE *)a, &PBEPARAM_it);
}
LCRYPTO_ALIAS(PBEPARAM_free);
/* Set an algorithm identifier for a PKCS#5 PBE algorithm */
@ -169,7 +165,6 @@ PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter,
ASN1_STRING_free(pbe_str);
return 0;
}
LCRYPTO_ALIAS(PKCS5_pbe_set0_algor);
/* Return an algorithm identifier for a PKCS#5 PBE algorithm */
@ -189,4 +184,3 @@ PKCS5_pbe_set(int alg, int iter, const unsigned char *salt, int saltlen)
X509_ALGOR_free(ret);
return NULL;
}
LCRYPTO_ALIAS(PKCS5_pbe_set);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: p5_pbev2.c,v 1.29 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: p5_pbev2.c,v 1.30 2023/07/07 19:37:52 beck Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 1999-2004.
*/
@ -97,28 +97,24 @@ d2i_PBE2PARAM(PBE2PARAM **a, const unsigned char **in, long len)
return (PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&PBE2PARAM_it);
}
LCRYPTO_ALIAS(d2i_PBE2PARAM);
int
i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBE2PARAM_it);
}
LCRYPTO_ALIAS(i2d_PBE2PARAM);
PBE2PARAM *
PBE2PARAM_new(void)
{
return (PBE2PARAM *)ASN1_item_new(&PBE2PARAM_it);
}
LCRYPTO_ALIAS(PBE2PARAM_new);
void
PBE2PARAM_free(PBE2PARAM *a)
{
ASN1_item_free((ASN1_VALUE *)a, &PBE2PARAM_it);
}
LCRYPTO_ALIAS(PBE2PARAM_free);
static const ASN1_TEMPLATE PBKDF2PARAM_seq_tt[] = {
{
@ -161,28 +157,24 @@ d2i_PBKDF2PARAM(PBKDF2PARAM **a, const unsigned char **in, long len)
return (PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&PBKDF2PARAM_it);
}
LCRYPTO_ALIAS(d2i_PBKDF2PARAM);
int
i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBKDF2PARAM_it);
}
LCRYPTO_ALIAS(i2d_PBKDF2PARAM);
PBKDF2PARAM *
PBKDF2PARAM_new(void)
{
return (PBKDF2PARAM *)ASN1_item_new(&PBKDF2PARAM_it);
}
LCRYPTO_ALIAS(PBKDF2PARAM_new);
void
PBKDF2PARAM_free(PBKDF2PARAM *a)
{
ASN1_item_free((ASN1_VALUE *)a, &PBKDF2PARAM_it);
}
LCRYPTO_ALIAS(PBKDF2PARAM_free);
/* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm:
* yes I know this is horrible!
@ -293,7 +285,6 @@ PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, unsigned char *salt,
return NULL;
}
LCRYPTO_ALIAS(PKCS5_pbe2_set_iv);
X509_ALGOR *
PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, unsigned char *salt,
@ -301,7 +292,6 @@ PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, unsigned char *salt,
{
return PKCS5_pbe2_set_iv(cipher, iter, salt, saltlen, NULL, -1);
}
LCRYPTO_ALIAS(PKCS5_pbe2_set);
X509_ALGOR *
PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, int prf_nid,
@ -382,4 +372,3 @@ PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, int prf_nid,
X509_ALGOR_free(keyfunc);
return NULL;
}
LCRYPTO_ALIAS(PKCS5_pbkdf2_set);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: p8_pkey.c,v 1.22 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: p8_pkey.c,v 1.23 2023/07/07 19:37:52 beck Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 1999.
*/
@ -121,28 +121,24 @@ d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a, const unsigned char **in, long
return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&PKCS8_PRIV_KEY_INFO_it);
}
LCRYPTO_ALIAS(d2i_PKCS8_PRIV_KEY_INFO);
int
i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it);
}
LCRYPTO_ALIAS(i2d_PKCS8_PRIV_KEY_INFO);
PKCS8_PRIV_KEY_INFO *
PKCS8_PRIV_KEY_INFO_new(void)
{
return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it);
}
LCRYPTO_ALIAS(PKCS8_PRIV_KEY_INFO_new);
void
PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a)
{
ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it);
}
LCRYPTO_ALIAS(PKCS8_PRIV_KEY_INFO_free);
int
PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version,
@ -158,7 +154,6 @@ PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version,
ASN1_STRING_set0(priv->pkey, penc, penclen);
return 1;
}
LCRYPTO_ALIAS(PKCS8_pkey_set0);
int
PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk,
@ -174,14 +169,12 @@ PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk,
*pa = p8->pkeyalg;
return 1;
}
LCRYPTO_ALIAS(PKCS8_pkey_get0);
const STACK_OF(X509_ATTRIBUTE) *
PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8)
{
return p8->attributes;
}
LCRYPTO_ALIAS(PKCS8_pkey_get0_attrs);
int
PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type,
@ -192,4 +185,3 @@ PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type,
return 1;
return 0;
}
LCRYPTO_ALIAS(PKCS8_pkey_add1_attr_by_NID);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: t_crl.c,v 1.22 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: t_crl.c,v 1.23 2023/07/07 19:37:52 beck Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 1999.
*/
@ -83,7 +83,6 @@ X509_CRL_print_fp(FILE *fp, X509_CRL *x)
BIO_free(b);
return (ret);
}
LCRYPTO_ALIAS(X509_CRL_print_fp);
int
X509_CRL_print(BIO *out, X509_CRL *x)
@ -144,4 +143,3 @@ X509_CRL_print(BIO *out, X509_CRL *x)
err:
return 0;
}
LCRYPTO_ALIAS(X509_CRL_print);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: t_req.c,v 1.25 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: t_req.c,v 1.26 2023/07/07 19:37:52 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -91,7 +91,6 @@ X509_REQ_print_fp(FILE *fp, X509_REQ *x)
BIO_free(b);
return (ret);
}
LCRYPTO_ALIAS(X509_REQ_print_fp);
int
X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
@ -255,11 +254,9 @@ X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
X509error(ERR_R_BUF_LIB);
return (0);
}
LCRYPTO_ALIAS(X509_REQ_print_ex);
int
X509_REQ_print(BIO *bp, X509_REQ *x)
{
return X509_REQ_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
}
LCRYPTO_ALIAS(X509_REQ_print);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: t_spki.c,v 1.15 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: t_spki.c,v 1.16 2023/07/07 19:37:52 beck Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 1999.
*/
@ -113,4 +113,3 @@ NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki)
BIO_write(out, "\n", 1);
return 1;
}
LCRYPTO_ALIAS(NETSCAPE_SPKI_print);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: t_x509.c,v 1.42 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: t_x509.c,v 1.43 2023/07/07 19:37:52 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -85,7 +85,6 @@ X509_print_fp(FILE *fp, X509 *x)
{
return X509_print_ex_fp(fp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
}
LCRYPTO_ALIAS(X509_print_fp);
int
X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag)
@ -102,14 +101,12 @@ X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag)
BIO_free(b);
return (ret);
}
LCRYPTO_ALIAS(X509_print_ex_fp);
int
X509_print(BIO *bp, X509 *x)
{
return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
}
LCRYPTO_ALIAS(X509_print);
int
X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
@ -253,7 +250,6 @@ X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
free(m);
return (ret);
}
LCRYPTO_ALIAS(X509_print_ex);
int
X509_ocspid_print(BIO *bp, X509 *x)
@ -305,7 +301,6 @@ X509_ocspid_print(BIO *bp, X509 *x)
free(der);
return (0);
}
LCRYPTO_ALIAS(X509_ocspid_print);
int
X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent)
@ -331,7 +326,6 @@ X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent)
return 1;
}
LCRYPTO_ALIAS(X509_signature_dump);
int
X509_signature_print(BIO *bp, const X509_ALGOR *sigalg, const ASN1_STRING *sig)
@ -358,7 +352,6 @@ X509_signature_print(BIO *bp, const X509_ALGOR *sigalg, const ASN1_STRING *sig)
return 0;
return 1;
}
LCRYPTO_ALIAS(X509_signature_print);
int
ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm)
@ -520,4 +513,3 @@ X509_NAME_print(BIO *bp, const X509_NAME *name, int obase)
free(b);
return (ret);
}
LCRYPTO_ALIAS(X509_NAME_print);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: t_x509a.c,v 1.12 2023/07/05 21:23:36 beck Exp $ */
/* $OpenBSD: t_x509a.c,v 1.13 2023/07/07 19:37:52 beck Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 1999.
*/
@ -117,4 +117,3 @@ X509_CERT_AUX_print(BIO *out, X509_CERT_AUX *aux, int indent)
}
return 1;
}
LCRYPTO_ALIAS(X509_CERT_AUX_print);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_algor.c,v 1.24 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_algor.c,v 1.25 2023/07/07 19:37:52 beck Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 2000.
*/
@ -109,28 +109,24 @@ d2i_X509_ALGOR(X509_ALGOR **a, const unsigned char **in, long len)
return (X509_ALGOR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_ALGOR_it);
}
LCRYPTO_ALIAS(d2i_X509_ALGOR);
int
i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGOR_it);
}
LCRYPTO_ALIAS(i2d_X509_ALGOR);
X509_ALGOR *
X509_ALGOR_new(void)
{
return (X509_ALGOR *)ASN1_item_new(&X509_ALGOR_it);
}
LCRYPTO_ALIAS(X509_ALGOR_new);
void
X509_ALGOR_free(X509_ALGOR *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it);
}
LCRYPTO_ALIAS(X509_ALGOR_free);
X509_ALGORS *
d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len)
@ -138,21 +134,18 @@ d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len)
return (X509_ALGORS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_ALGORS_it);
}
LCRYPTO_ALIAS(d2i_X509_ALGORS);
int
i2d_X509_ALGORS(X509_ALGORS *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGORS_it);
}
LCRYPTO_ALIAS(i2d_X509_ALGORS);
X509_ALGOR *
X509_ALGOR_dup(X509_ALGOR *x)
{
return ASN1_item_dup(&X509_ALGOR_it, x);
}
LCRYPTO_ALIAS(X509_ALGOR_dup);
int
X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval)
@ -181,7 +174,6 @@ X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval)
ASN1_TYPE_set(alg->parameter, ptype, pval);
return 1;
}
LCRYPTO_ALIAS(X509_ALGOR_set0);
void
X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, const void **ppval,
@ -199,7 +191,6 @@ X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, const void **ppval,
*ppval = algor->parameter->value.ptr;
}
}
LCRYPTO_ALIAS(X509_ALGOR_get0);
/* Set up an X509_ALGOR DigestAlgorithmIdentifier from an EVP_MD */
@ -213,7 +204,6 @@ X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md)
X509_ALGOR_set0(alg, OBJ_nid2obj(EVP_MD_type(md)), param_type, NULL);
}
LCRYPTO_ALIAS(X509_ALGOR_set_md);
/* Returns 0 if they are equal, != 0 otherwise. */
int
@ -228,4 +218,3 @@ X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b)
}
return(rv);
}
LCRYPTO_ALIAS(X509_ALGOR_cmp);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_attrib.c,v 1.19 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_attrib.c,v 1.20 2023/07/07 19:37:52 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -111,35 +111,30 @@ d2i_X509_ATTRIBUTE(X509_ATTRIBUTE **a, const unsigned char **in, long len)
return (X509_ATTRIBUTE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_ATTRIBUTE_it);
}
LCRYPTO_ALIAS(d2i_X509_ATTRIBUTE);
int
i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ATTRIBUTE_it);
}
LCRYPTO_ALIAS(i2d_X509_ATTRIBUTE);
X509_ATTRIBUTE *
X509_ATTRIBUTE_new(void)
{
return (X509_ATTRIBUTE *)ASN1_item_new(&X509_ATTRIBUTE_it);
}
LCRYPTO_ALIAS(X509_ATTRIBUTE_new);
void
X509_ATTRIBUTE_free(X509_ATTRIBUTE *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it);
}
LCRYPTO_ALIAS(X509_ATTRIBUTE_free);
X509_ATTRIBUTE *
X509_ATTRIBUTE_dup(X509_ATTRIBUTE *x)
{
return ASN1_item_dup(&X509_ATTRIBUTE_it, x);
}
LCRYPTO_ALIAS(X509_ATTRIBUTE_dup);
X509_ATTRIBUTE *
X509_ATTRIBUTE_create(int nid, int atrtype, void *value)
@ -168,4 +163,3 @@ X509_ATTRIBUTE_create(int nid, int atrtype, void *value)
ASN1_TYPE_free(val);
return (NULL);
}
LCRYPTO_ALIAS(X509_ATTRIBUTE_create);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_crl.c,v 1.40 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_crl.c,v 1.41 2023/07/07 19:37:52 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -442,35 +442,30 @@ d2i_X509_REVOKED(X509_REVOKED **a, const unsigned char **in, long len)
return (X509_REVOKED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_REVOKED_it);
}
LCRYPTO_ALIAS(d2i_X509_REVOKED);
int
i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REVOKED_it);
}
LCRYPTO_ALIAS(i2d_X509_REVOKED);
X509_REVOKED *
X509_REVOKED_new(void)
{
return (X509_REVOKED *)ASN1_item_new(&X509_REVOKED_it);
}
LCRYPTO_ALIAS(X509_REVOKED_new);
void
X509_REVOKED_free(X509_REVOKED *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_REVOKED_it);
}
LCRYPTO_ALIAS(X509_REVOKED_free);
X509_REVOKED *
X509_REVOKED_dup(X509_REVOKED *a)
{
return ASN1_item_dup(&X509_REVOKED_it, a);
}
LCRYPTO_ALIAS(X509_REVOKED_dup);
X509_CRL_INFO *
d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len)
@ -478,28 +473,24 @@ d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len)
return (X509_CRL_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_CRL_INFO_it);
}
LCRYPTO_ALIAS(d2i_X509_CRL_INFO);
int
i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_INFO_it);
}
LCRYPTO_ALIAS(i2d_X509_CRL_INFO);
X509_CRL_INFO *
X509_CRL_INFO_new(void)
{
return (X509_CRL_INFO *)ASN1_item_new(&X509_CRL_INFO_it);
}
LCRYPTO_ALIAS(X509_CRL_INFO_new);
void
X509_CRL_INFO_free(X509_CRL_INFO *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_INFO_it);
}
LCRYPTO_ALIAS(X509_CRL_INFO_free);
X509_CRL *
d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len)
@ -507,35 +498,30 @@ d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len)
return (X509_CRL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_CRL_it);
}
LCRYPTO_ALIAS(d2i_X509_CRL);
int
i2d_X509_CRL(X509_CRL *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_it);
}
LCRYPTO_ALIAS(i2d_X509_CRL);
X509_CRL *
X509_CRL_new(void)
{
return (X509_CRL *)ASN1_item_new(&X509_CRL_it);
}
LCRYPTO_ALIAS(X509_CRL_new);
void
X509_CRL_free(X509_CRL *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it);
}
LCRYPTO_ALIAS(X509_CRL_free);
X509_CRL *
X509_CRL_dup(X509_CRL *x)
{
return ASN1_item_dup(&X509_CRL_it, x);
}
LCRYPTO_ALIAS(X509_CRL_dup);
static int
X509_REVOKED_cmp(const X509_REVOKED * const *a, const X509_REVOKED * const *b)
@ -558,7 +544,6 @@ X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev)
inf->enc.modified = 1;
return 1;
}
LCRYPTO_ALIAS(X509_CRL_add0_revoked);
int
X509_CRL_verify(X509_CRL *crl, EVP_PKEY *r)
@ -567,7 +552,6 @@ X509_CRL_verify(X509_CRL *crl, EVP_PKEY *r)
return crl->meth->crl_verify(crl, r);
return 0;
}
LCRYPTO_ALIAS(X509_CRL_verify);
int
X509_CRL_get0_by_serial(X509_CRL *crl, X509_REVOKED **ret,
@ -577,7 +561,6 @@ X509_CRL_get0_by_serial(X509_CRL *crl, X509_REVOKED **ret,
return crl->meth->crl_lookup(crl, ret, serial, NULL);
return 0;
}
LCRYPTO_ALIAS(X509_CRL_get0_by_serial);
int
X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x)
@ -587,7 +570,6 @@ X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x)
X509_get_serialNumber(x), X509_get_issuer_name(x));
return 0;
}
LCRYPTO_ALIAS(X509_CRL_get0_by_cert);
static int
def_crl_verify(X509_CRL *crl, EVP_PKEY *r)
@ -666,7 +648,6 @@ X509_CRL_set_default_method(const X509_CRL_METHOD *meth)
else
default_crl_method = meth;
}
LCRYPTO_ALIAS(X509_CRL_set_default_method);
X509_CRL_METHOD *
X509_CRL_METHOD_new(int (*crl_init)(X509_CRL *crl),
@ -688,7 +669,6 @@ X509_CRL_METHOD_new(int (*crl_init)(X509_CRL *crl),
return m;
}
LCRYPTO_ALIAS(X509_CRL_METHOD_new);
void
X509_CRL_METHOD_free(X509_CRL_METHOD *m)
@ -699,84 +679,72 @@ X509_CRL_METHOD_free(X509_CRL_METHOD *m)
return;
free(m);
}
LCRYPTO_ALIAS(X509_CRL_METHOD_free);
void
X509_CRL_set_meth_data(X509_CRL *crl, void *dat)
{
crl->meth_data = dat;
}
LCRYPTO_ALIAS(X509_CRL_set_meth_data);
void *
X509_CRL_get_meth_data(X509_CRL *crl)
{
return crl->meth_data;
}
LCRYPTO_ALIAS(X509_CRL_get_meth_data);
int
X509_CRL_get_signature_nid(const X509_CRL *crl)
{
return OBJ_obj2nid(crl->sig_alg->algorithm);
}
LCRYPTO_ALIAS(X509_CRL_get_signature_nid);
const STACK_OF(X509_EXTENSION) *
X509_CRL_get0_extensions(const X509_CRL *crl)
{
return crl->crl->extensions;
}
LCRYPTO_ALIAS(X509_CRL_get0_extensions);
long
X509_CRL_get_version(const X509_CRL *crl)
{
return ASN1_INTEGER_get(crl->crl->version);
}
LCRYPTO_ALIAS(X509_CRL_get_version);
const ASN1_TIME *
X509_CRL_get0_lastUpdate(const X509_CRL *crl)
{
return crl->crl->lastUpdate;
}
LCRYPTO_ALIAS(X509_CRL_get0_lastUpdate);
ASN1_TIME *
X509_CRL_get_lastUpdate(X509_CRL *crl)
{
return crl->crl->lastUpdate;
}
LCRYPTO_ALIAS(X509_CRL_get_lastUpdate);
const ASN1_TIME *
X509_CRL_get0_nextUpdate(const X509_CRL *crl)
{
return crl->crl->nextUpdate;
}
LCRYPTO_ALIAS(X509_CRL_get0_nextUpdate);
ASN1_TIME *
X509_CRL_get_nextUpdate(X509_CRL *crl)
{
return crl->crl->nextUpdate;
}
LCRYPTO_ALIAS(X509_CRL_get_nextUpdate);
X509_NAME *
X509_CRL_get_issuer(const X509_CRL *crl)
{
return crl->crl->issuer;
}
LCRYPTO_ALIAS(X509_CRL_get_issuer);
STACK_OF(X509_REVOKED) *
X509_CRL_get_REVOKED(X509_CRL *crl)
{
return crl->crl->revoked;
}
LCRYPTO_ALIAS(X509_CRL_get_REVOKED);
void
X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig,
@ -787,11 +755,9 @@ X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig,
if (palg != NULL)
*palg = crl->sig_alg;
}
LCRYPTO_ALIAS(X509_CRL_get0_signature);
const X509_ALGOR *
X509_CRL_get0_tbs_sigalg(const X509_CRL *crl)
{
return crl->crl->sig_alg;
}
LCRYPTO_ALIAS(X509_CRL_get0_tbs_sigalg);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_exten.c,v 1.19 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_exten.c,v 1.20 2023/07/07 19:37:52 beck Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 2000.
*/
@ -116,28 +116,24 @@ d2i_X509_EXTENSION(X509_EXTENSION **a, const unsigned char **in, long len)
return (X509_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_EXTENSION_it);
}
LCRYPTO_ALIAS(d2i_X509_EXTENSION);
int
i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSION_it);
}
LCRYPTO_ALIAS(i2d_X509_EXTENSION);
X509_EXTENSION *
X509_EXTENSION_new(void)
{
return (X509_EXTENSION *)ASN1_item_new(&X509_EXTENSION_it);
}
LCRYPTO_ALIAS(X509_EXTENSION_new);
void
X509_EXTENSION_free(X509_EXTENSION *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it);
}
LCRYPTO_ALIAS(X509_EXTENSION_free);
X509_EXTENSIONS *
d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len)
@ -145,18 +141,15 @@ d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len)
return (X509_EXTENSIONS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_EXTENSIONS_it);
}
LCRYPTO_ALIAS(d2i_X509_EXTENSIONS);
int
i2d_X509_EXTENSIONS(X509_EXTENSIONS *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSIONS_it);
}
LCRYPTO_ALIAS(i2d_X509_EXTENSIONS);
X509_EXTENSION *
X509_EXTENSION_dup(X509_EXTENSION *x)
{
return ASN1_item_dup(&X509_EXTENSION_it, x);
}
LCRYPTO_ALIAS(X509_EXTENSION_dup);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_info.c,v 1.19 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_info.c,v 1.20 2023/07/07 19:37:52 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -75,7 +75,6 @@ X509_INFO_new(void)
return ret;
}
LCRYPTO_ALIAS(X509_INFO_new);
void
X509_INFO_free(X509_INFO *x)
@ -93,4 +92,3 @@ X509_INFO_free(X509_INFO *x)
free(x);
}
LCRYPTO_ALIAS(X509_INFO_free);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_name.c,v 1.39 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_name.c,v 1.40 2023/07/07 19:37:52 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -117,35 +117,30 @@ d2i_X509_NAME_ENTRY(X509_NAME_ENTRY **a, const unsigned char **in, long len)
return (X509_NAME_ENTRY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_NAME_ENTRY_it);
}
LCRYPTO_ALIAS(d2i_X509_NAME_ENTRY);
int
i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_ENTRY_it);
}
LCRYPTO_ALIAS(i2d_X509_NAME_ENTRY);
X509_NAME_ENTRY *
X509_NAME_ENTRY_new(void)
{
return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it);
}
LCRYPTO_ALIAS(X509_NAME_ENTRY_new);
void
X509_NAME_ENTRY_free(X509_NAME_ENTRY *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it);
}
LCRYPTO_ALIAS(X509_NAME_ENTRY_free);
X509_NAME_ENTRY *
X509_NAME_ENTRY_dup(X509_NAME_ENTRY *x)
{
return ASN1_item_dup(&X509_NAME_ENTRY_it, x);
}
LCRYPTO_ALIAS(X509_NAME_ENTRY_dup);
/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY }
* so declare two template wrappers for this
@ -219,35 +214,30 @@ d2i_X509_NAME(X509_NAME **a, const unsigned char **in, long len)
return (X509_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_NAME_it);
}
LCRYPTO_ALIAS(d2i_X509_NAME);
int
i2d_X509_NAME(X509_NAME *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it);
}
LCRYPTO_ALIAS(i2d_X509_NAME);
X509_NAME *
X509_NAME_new(void)
{
return (X509_NAME *)ASN1_item_new(&X509_NAME_it);
}
LCRYPTO_ALIAS(X509_NAME_new);
void
X509_NAME_free(X509_NAME *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it);
}
LCRYPTO_ALIAS(X509_NAME_free);
X509_NAME *
X509_NAME_dup(X509_NAME *x)
{
return ASN1_item_dup(&X509_NAME_it, x);
}
LCRYPTO_ALIAS(X509_NAME_dup);
static int
x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it)
@ -645,7 +635,6 @@ X509_NAME_set(X509_NAME **xn, X509_NAME *name)
*xn = name;
return 1;
}
LCRYPTO_ALIAS(X509_NAME_set);
int
X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen)
@ -659,4 +648,3 @@ X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen)
*pderlen = nm->bytes->length;
return 1;
}
LCRYPTO_ALIAS(X509_NAME_get0_der);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_pkey.c,v 1.22 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_pkey.c,v 1.23 2023/07/07 19:37:53 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -98,7 +98,6 @@ X509_PKEY_new(void)
}
return NULL;
}
LCRYPTO_ALIAS(X509_PKEY_new);
void
X509_PKEY_free(X509_PKEY *x)
@ -120,4 +119,3 @@ X509_PKEY_free(X509_PKEY *x)
free(x->key_data);
free(x);
}
LCRYPTO_ALIAS(X509_PKEY_free);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_pubkey.c,v 1.34 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_pubkey.c,v 1.35 2023/07/07 19:37:53 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -118,28 +118,24 @@ d2i_X509_PUBKEY(X509_PUBKEY **a, const unsigned char **in, long len)
return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_PUBKEY_it);
}
LCRYPTO_ALIAS(d2i_X509_PUBKEY);
int
i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it);
}
LCRYPTO_ALIAS(i2d_X509_PUBKEY);
X509_PUBKEY *
X509_PUBKEY_new(void)
{
return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it);
}
LCRYPTO_ALIAS(X509_PUBKEY_new);
void
X509_PUBKEY_free(X509_PUBKEY *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it);
}
LCRYPTO_ALIAS(X509_PUBKEY_free);
int
X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
@ -178,7 +174,6 @@ X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
X509_PUBKEY_free(pk);
return 0;
}
LCRYPTO_ALIAS(X509_PUBKEY_set);
EVP_PKEY *
X509_PUBKEY_get0(X509_PUBKEY *key)
@ -231,7 +226,6 @@ X509_PUBKEY_get0(X509_PUBKEY *key)
EVP_PKEY_free(ret);
return (NULL);
}
LCRYPTO_ALIAS(X509_PUBKEY_get0);
EVP_PKEY *
X509_PUBKEY_get(X509_PUBKEY *key)
@ -245,7 +239,6 @@ X509_PUBKEY_get(X509_PUBKEY *key)
return pkey;
}
LCRYPTO_ALIAS(X509_PUBKEY_get);
/*
* Decode an X509_PUBKEY into the specified key type.
@ -410,14 +403,12 @@ d2i_PUBKEY(EVP_PKEY **pkey, const unsigned char **in, long len)
return (EVP_PKEY *)ASN1_item_d2i((ASN1_VALUE **)pkey, in, len,
&EVP_PKEY_PUBKEY_it);
}
LCRYPTO_ALIAS(d2i_PUBKEY);
int
i2d_PUBKEY(EVP_PKEY *pkey, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)pkey, out, &EVP_PKEY_PUBKEY_it);
}
LCRYPTO_ALIAS(i2d_PUBKEY);
EVP_PKEY *
d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **pkey)
@ -425,14 +416,12 @@ d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **pkey)
return (EVP_PKEY *)ASN1_item_d2i_bio(&EVP_PKEY_PUBKEY_it, bp,
(ASN1_VALUE **)pkey);
}
LCRYPTO_ALIAS(d2i_PUBKEY_bio);
int
i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey)
{
return ASN1_item_i2d_bio(&EVP_PKEY_PUBKEY_it, bp, (ASN1_VALUE *)pkey);
}
LCRYPTO_ALIAS(i2d_PUBKEY_bio);
EVP_PKEY *
d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **pkey)
@ -440,14 +429,12 @@ d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **pkey)
return (EVP_PKEY *)ASN1_item_d2i_fp(&EVP_PKEY_PUBKEY_it, fp,
(ASN1_VALUE **)pkey);
}
LCRYPTO_ALIAS(d2i_PUBKEY_fp);
int
i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey)
{
return ASN1_item_i2d_fp(&EVP_PKEY_PUBKEY_it, fp, (ASN1_VALUE *)pkey);
}
LCRYPTO_ALIAS(i2d_PUBKEY_fp);
/*
* The following are equivalents but which return RSA and DSA keys.
@ -510,42 +497,36 @@ d2i_RSA_PUBKEY(RSA **rsa, const unsigned char **in, long len)
return (RSA *)ASN1_item_d2i((ASN1_VALUE **)rsa, in, len,
&RSA_PUBKEY_it);
}
LCRYPTO_ALIAS(d2i_RSA_PUBKEY);
int
i2d_RSA_PUBKEY(RSA *rsa, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)rsa, out, &RSA_PUBKEY_it);
}
LCRYPTO_ALIAS(i2d_RSA_PUBKEY);
RSA *
d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa)
{
return (RSA *)ASN1_item_d2i_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE **)rsa);
}
LCRYPTO_ALIAS(d2i_RSA_PUBKEY_bio);
int
i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa)
{
return ASN1_item_i2d_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE *)rsa);
}
LCRYPTO_ALIAS(i2d_RSA_PUBKEY_bio);
RSA *
d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa)
{
return (RSA *)ASN1_item_d2i_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE **)rsa);
}
LCRYPTO_ALIAS(d2i_RSA_PUBKEY_fp);
int
i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa)
{
return ASN1_item_i2d_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE *)rsa);
}
LCRYPTO_ALIAS(i2d_RSA_PUBKEY_fp);
#endif
#ifndef OPENSSL_NO_DSA
@ -606,42 +587,36 @@ d2i_DSA_PUBKEY(DSA **dsa, const unsigned char **in, long len)
return (DSA *)ASN1_item_d2i((ASN1_VALUE **)dsa, in, len,
&DSA_PUBKEY_it);
}
LCRYPTO_ALIAS(d2i_DSA_PUBKEY);
int
i2d_DSA_PUBKEY(DSA *dsa, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)dsa, out, &DSA_PUBKEY_it);
}
LCRYPTO_ALIAS(i2d_DSA_PUBKEY);
DSA *
d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa)
{
return (DSA *)ASN1_item_d2i_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE **)dsa);
}
LCRYPTO_ALIAS(d2i_DSA_PUBKEY_bio);
int
i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa)
{
return ASN1_item_i2d_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE *)dsa);
}
LCRYPTO_ALIAS(i2d_DSA_PUBKEY_bio);
DSA *
d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa)
{
return (DSA *)ASN1_item_d2i_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE **)dsa);
}
LCRYPTO_ALIAS(d2i_DSA_PUBKEY_fp);
int
i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa)
{
return ASN1_item_i2d_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE *)dsa);
}
LCRYPTO_ALIAS(i2d_DSA_PUBKEY_fp);
#endif
@ -703,42 +678,36 @@ d2i_EC_PUBKEY(EC_KEY **ec, const unsigned char **in, long len)
return (EC_KEY *)ASN1_item_d2i((ASN1_VALUE **)ec, in, len,
&EC_PUBKEY_it);
}
LCRYPTO_ALIAS(d2i_EC_PUBKEY);
int
i2d_EC_PUBKEY(EC_KEY *ec, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)ec, out, &EC_PUBKEY_it);
}
LCRYPTO_ALIAS(i2d_EC_PUBKEY);
EC_KEY *
d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **ec)
{
return (EC_KEY *)ASN1_item_d2i_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE **)ec);
}
LCRYPTO_ALIAS(d2i_EC_PUBKEY_bio);
int
i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ec)
{
return ASN1_item_i2d_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE *)ec);
}
LCRYPTO_ALIAS(i2d_EC_PUBKEY_bio);
EC_KEY *
d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **ec)
{
return (EC_KEY *)ASN1_item_d2i_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE **)ec);
}
LCRYPTO_ALIAS(d2i_EC_PUBKEY_fp);
int
i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *ec)
{
return ASN1_item_i2d_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE *)ec);
}
LCRYPTO_ALIAS(i2d_EC_PUBKEY_fp);
#endif
int
@ -755,7 +724,6 @@ X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, int ptype,
return asn1_abs_set_unused_bits(pub->public_key, 0);
}
LCRYPTO_ALIAS(X509_PUBKEY_set0_param);
int
X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk,
@ -771,4 +739,3 @@ X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk,
*pa = pub->algor;
return 1;
}
LCRYPTO_ALIAS(X509_PUBKEY_get0_param);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_req.c,v 1.20 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_req.c,v 1.21 2023/07/07 19:37:53 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -143,28 +143,24 @@ d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len)
return (X509_REQ_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_REQ_INFO_it);
}
LCRYPTO_ALIAS(d2i_X509_REQ_INFO);
int
i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it);
}
LCRYPTO_ALIAS(i2d_X509_REQ_INFO);
X509_REQ_INFO *
X509_REQ_INFO_new(void)
{
return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it);
}
LCRYPTO_ALIAS(X509_REQ_INFO_new);
void
X509_REQ_INFO_free(X509_REQ_INFO *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it);
}
LCRYPTO_ALIAS(X509_REQ_INFO_free);
static const ASN1_AUX X509_REQ_aux = {
.app_data = NULL,
@ -207,42 +203,36 @@ d2i_X509_REQ(X509_REQ **a, const unsigned char **in, long len)
return (X509_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_REQ_it);
}
LCRYPTO_ALIAS(d2i_X509_REQ);
int
i2d_X509_REQ(X509_REQ *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it);
}
LCRYPTO_ALIAS(i2d_X509_REQ);
X509_REQ *
X509_REQ_new(void)
{
return (X509_REQ *)ASN1_item_new(&X509_REQ_it);
}
LCRYPTO_ALIAS(X509_REQ_new);
void
X509_REQ_free(X509_REQ *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it);
}
LCRYPTO_ALIAS(X509_REQ_free);
X509_REQ *
X509_REQ_dup(X509_REQ *x)
{
return ASN1_item_dup(&X509_REQ_it, x);
}
LCRYPTO_ALIAS(X509_REQ_dup);
int
X509_REQ_get_signature_nid(const X509_REQ *req)
{
return OBJ_obj2nid(req->sig_alg->algorithm);
}
LCRYPTO_ALIAS(X509_REQ_get_signature_nid);
void
X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
@ -253,4 +243,3 @@ X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
if (palg != NULL)
*palg = req->sig_alg;
}
LCRYPTO_ALIAS(X509_REQ_get0_signature);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_sig.c,v 1.15 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_sig.c,v 1.16 2023/07/07 19:37:53 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -92,28 +92,24 @@ d2i_X509_SIG(X509_SIG **a, const unsigned char **in, long len)
return (X509_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_SIG_it);
}
LCRYPTO_ALIAS(d2i_X509_SIG);
int
i2d_X509_SIG(X509_SIG *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_SIG_it);
}
LCRYPTO_ALIAS(i2d_X509_SIG);
X509_SIG *
X509_SIG_new(void)
{
return (X509_SIG *)ASN1_item_new(&X509_SIG_it);
}
LCRYPTO_ALIAS(X509_SIG_new);
void
X509_SIG_free(X509_SIG *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it);
}
LCRYPTO_ALIAS(X509_SIG_free);
void
X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg,
@ -124,7 +120,6 @@ X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg,
if (pdigest != NULL)
*pdigest = sig->digest;
}
LCRYPTO_ALIAS(X509_SIG_get0);
void
X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest)
@ -134,4 +129,3 @@ X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest)
if (pdigest != NULL)
*pdigest = sig->digest;
}
LCRYPTO_ALIAS(X509_SIG_getm);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_spki.c,v 1.12 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_spki.c,v 1.13 2023/07/07 19:37:53 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -94,28 +94,24 @@ d2i_NETSCAPE_SPKAC(NETSCAPE_SPKAC **a, const unsigned char **in, long len)
return (NETSCAPE_SPKAC *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&NETSCAPE_SPKAC_it);
}
LCRYPTO_ALIAS(d2i_NETSCAPE_SPKAC);
int
i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKAC_it);
}
LCRYPTO_ALIAS(i2d_NETSCAPE_SPKAC);
NETSCAPE_SPKAC *
NETSCAPE_SPKAC_new(void)
{
return (NETSCAPE_SPKAC *)ASN1_item_new(&NETSCAPE_SPKAC_it);
}
LCRYPTO_ALIAS(NETSCAPE_SPKAC_new);
void
NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a)
{
ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it);
}
LCRYPTO_ALIAS(NETSCAPE_SPKAC_free);
static const ASN1_TEMPLATE NETSCAPE_SPKI_seq_tt[] = {
{
@ -158,25 +154,21 @@ d2i_NETSCAPE_SPKI(NETSCAPE_SPKI **a, const unsigned char **in, long len)
return (NETSCAPE_SPKI *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&NETSCAPE_SPKI_it);
}
LCRYPTO_ALIAS(d2i_NETSCAPE_SPKI);
int
i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKI_it);
}
LCRYPTO_ALIAS(i2d_NETSCAPE_SPKI);
NETSCAPE_SPKI *
NETSCAPE_SPKI_new(void)
{
return (NETSCAPE_SPKI *)ASN1_item_new(&NETSCAPE_SPKI_it);
}
LCRYPTO_ALIAS(NETSCAPE_SPKI_new);
void
NETSCAPE_SPKI_free(NETSCAPE_SPKI *a)
{
ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKI_it);
}
LCRYPTO_ALIAS(NETSCAPE_SPKI_free);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_val.c,v 1.12 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_val.c,v 1.13 2023/07/07 19:37:53 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -90,25 +90,21 @@ d2i_X509_VAL(X509_VAL **a, const unsigned char **in, long len)
return (X509_VAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_VAL_it);
}
LCRYPTO_ALIAS(d2i_X509_VAL);
int
i2d_X509_VAL(X509_VAL *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_VAL_it);
}
LCRYPTO_ALIAS(i2d_X509_VAL);
X509_VAL *
X509_VAL_new(void)
{
return (X509_VAL *)ASN1_item_new(&X509_VAL_it);
}
LCRYPTO_ALIAS(X509_VAL_new);
void
X509_VAL_free(X509_VAL *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_VAL_it);
}
LCRYPTO_ALIAS(X509_VAL_free);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_x509.c,v 1.36 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_x509.c,v 1.37 2023/07/07 19:37:53 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@ -149,28 +149,24 @@ d2i_X509_CINF(X509_CINF **a, const unsigned char **in, long len)
return (X509_CINF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_CINF_it);
}
LCRYPTO_ALIAS(d2i_X509_CINF);
int
i2d_X509_CINF(X509_CINF *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it);
}
LCRYPTO_ALIAS(i2d_X509_CINF);
X509_CINF *
X509_CINF_new(void)
{
return (X509_CINF *)ASN1_item_new(&X509_CINF_it);
}
LCRYPTO_ALIAS(X509_CINF_new);
void
X509_CINF_free(X509_CINF *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it);
}
LCRYPTO_ALIAS(X509_CINF_free);
/* X509 top level structure needs a bit of customisation */
static int
@ -263,35 +259,30 @@ d2i_X509(X509 **a, const unsigned char **in, long len)
return (X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_it);
}
LCRYPTO_ALIAS(d2i_X509);
int
i2d_X509(X509 *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it);
}
LCRYPTO_ALIAS(i2d_X509);
X509 *
X509_new(void)
{
return (X509 *)ASN1_item_new(&X509_it);
}
LCRYPTO_ALIAS(X509_new);
void
X509_free(X509 *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_it);
}
LCRYPTO_ALIAS(X509_free);
X509 *
X509_dup(X509 *x)
{
return ASN1_item_dup(&X509_it, x);
}
LCRYPTO_ALIAS(X509_dup);
int
X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
@ -300,21 +291,18 @@ X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, argl, argp,
new_func, dup_func, free_func);
}
LCRYPTO_ALIAS(X509_get_ex_new_index);
int
X509_set_ex_data(X509 *r, int idx, void *arg)
{
return (CRYPTO_set_ex_data(&r->ex_data, idx, arg));
}
LCRYPTO_ALIAS(X509_set_ex_data);
void *
X509_get_ex_data(X509 *r, int idx)
{
return (CRYPTO_get_ex_data(&r->ex_data, idx));
}
LCRYPTO_ALIAS(X509_get_ex_data);
/* X509_AUX ASN1 routines. X509_AUX is the name given to
* a certificate with extra info tagged on the end. Since these
@ -352,7 +340,6 @@ d2i_X509_AUX(X509 **a, const unsigned char **pp, long length)
X509_free(ret);
return NULL;
}
LCRYPTO_ALIAS(d2i_X509_AUX);
int
i2d_X509_AUX(X509 *a, unsigned char **pp)
@ -364,7 +351,6 @@ i2d_X509_AUX(X509 *a, unsigned char **pp)
length += i2d_X509_CERT_AUX(a->aux, pp);
return length;
}
LCRYPTO_ALIAS(i2d_X509_AUX);
int
i2d_re_X509_tbs(X509 *x, unsigned char **pp)
@ -372,7 +358,6 @@ i2d_re_X509_tbs(X509 *x, unsigned char **pp)
x->cert_info->enc.modified = 1;
return i2d_X509_CINF(x->cert_info, pp);
}
LCRYPTO_ALIAS(i2d_re_X509_tbs);
void
X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg,
@ -383,11 +368,9 @@ X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg,
if (palg != NULL)
*palg = x->sig_alg;
}
LCRYPTO_ALIAS(X509_get0_signature);
int
X509_get_signature_nid(const X509 *x)
{
return OBJ_obj2nid(x->sig_alg->algorithm);
}
LCRYPTO_ALIAS(X509_get_signature_nid);

View File

@ -1,4 +1,4 @@
/* $OpenBSD: x_x509a.c,v 1.20 2023/07/05 21:23:37 beck Exp $ */
/* $OpenBSD: x_x509a.c,v 1.21 2023/07/07 19:37:53 beck Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 1999.
*/
@ -126,28 +126,24 @@ d2i_X509_CERT_AUX(X509_CERT_AUX **a, const unsigned char **in, long len)
return (X509_CERT_AUX *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
&X509_CERT_AUX_it);
}
LCRYPTO_ALIAS(d2i_X509_CERT_AUX);
int
i2d_X509_CERT_AUX(X509_CERT_AUX *a, unsigned char **out)
{
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_AUX_it);
}
LCRYPTO_ALIAS(i2d_X509_CERT_AUX);
X509_CERT_AUX *
X509_CERT_AUX_new(void)
{
return (X509_CERT_AUX *)ASN1_item_new(&X509_CERT_AUX_it);
}
LCRYPTO_ALIAS(X509_CERT_AUX_new);
void
X509_CERT_AUX_free(X509_CERT_AUX *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_AUX_it);
}
LCRYPTO_ALIAS(X509_CERT_AUX_free);
static X509_CERT_AUX *
aux_get(X509 *x)
@ -176,7 +172,6 @@ X509_alias_set1(X509 *x, const unsigned char *name, int len)
return 0;
return ASN1_STRING_set(aux->alias, name, len);
}
LCRYPTO_ALIAS(X509_alias_set1);
int
X509_keyid_set1(X509 *x, const unsigned char *id, int len)
@ -195,7 +190,6 @@ X509_keyid_set1(X509 *x, const unsigned char *id, int len)
return 0;
return ASN1_STRING_set(aux->keyid, id, len);
}
LCRYPTO_ALIAS(X509_keyid_set1);
unsigned char *
X509_alias_get0(X509 *x, int *len)
@ -206,7 +200,6 @@ X509_alias_get0(X509 *x, int *len)
*len = x->aux->alias->length;
return x->aux->alias->data;
}
LCRYPTO_ALIAS(X509_alias_get0);
unsigned char *
X509_keyid_get0(X509 *x, int *len)
@ -217,7 +210,6 @@ X509_keyid_get0(X509 *x, int *len)
*len = x->aux->keyid->length;
return x->aux->keyid->data;
}
LCRYPTO_ALIAS(X509_keyid_get0);
int
X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj)
@ -240,7 +232,6 @@ X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj)
ASN1_OBJECT_free(objtmp);
return 0;
}
LCRYPTO_ALIAS(X509_add1_trust_object);
int
X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj)
@ -263,7 +254,6 @@ X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj)
ASN1_OBJECT_free(objtmp);
return 0;
}
LCRYPTO_ALIAS(X509_add1_reject_object);
void
X509_trust_clear(X509 *x)
@ -273,7 +263,6 @@ X509_trust_clear(X509 *x)
x->aux->trust = NULL;
}
}
LCRYPTO_ALIAS(X509_trust_clear);
void
X509_reject_clear(X509 *x)
@ -283,4 +272,3 @@ X509_reject_clear(X509 *x)
x->aux->reject = NULL;
}
}
LCRYPTO_ALIAS(X509_reject_clear);

Some files were not shown because too many files have changed in this diff Show More