sync
This commit is contained in:
parent
2a351e0cdc
commit
f57be82572
704 changed files with 20524 additions and 10572 deletions
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/ksh
|
#!/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) 1997-2015 Todd Miller, Theo de Raadt, Ken Westerback
|
||||||
# Copyright (c) 2015, Robert Peichaer <rpe@openbsd.org>
|
# Copyright (c) 2015, Robert Peichaer <rpe@openbsd.org>
|
||||||
|
@ -307,6 +307,7 @@ scan_disknames() {
|
||||||
get_softraid_chunks() {
|
get_softraid_chunks() {
|
||||||
local _device=${1:-softraid0}
|
local _device=${1:-softraid0}
|
||||||
|
|
||||||
|
[[ -x /sbin/bioctl ]] || return
|
||||||
bioctl $_device 2>/dev/null | sed -n 's/.*<\(.*\).>$/\1/p'
|
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.
|
# The interactive bioctl(8) passphrase prompt requires a TTY.
|
||||||
$AI && return
|
$AI && return
|
||||||
|
|
||||||
|
[[ -x /sbin/bioctl ]] || return
|
||||||
|
|
||||||
# Do not even try if softraid is in use already,
|
# Do not even try if softraid is in use already,
|
||||||
# e.g. auto-assembled at boot or done in (S)hell.
|
# e.g. auto-assembled at boot or done in (S)hell.
|
||||||
[[ -z $(get_softraid_volumes) ]] || return
|
[[ -z $(get_softraid_volumes) ]] || return
|
||||||
|
|
|
@ -1660,6 +1660,7 @@
|
||||||
./usr/libdata/perl5/pod/perl5340delta.pod
|
./usr/libdata/perl5/pod/perl5340delta.pod
|
||||||
./usr/libdata/perl5/pod/perl5341delta.pod
|
./usr/libdata/perl5/pod/perl5341delta.pod
|
||||||
./usr/libdata/perl5/pod/perl5360delta.pod
|
./usr/libdata/perl5/pod/perl5360delta.pod
|
||||||
|
./usr/libdata/perl5/pod/perl5361delta.pod
|
||||||
./usr/libdata/perl5/pod/perl561delta.pod
|
./usr/libdata/perl5/pod/perl561delta.pod
|
||||||
./usr/libdata/perl5/pod/perl56delta.pod
|
./usr/libdata/perl5/pod/perl56delta.pod
|
||||||
./usr/libdata/perl5/pod/perl581delta.pod
|
./usr/libdata/perl5/pod/perl581delta.pod
|
||||||
|
|
|
@ -176,6 +176,7 @@
|
||||||
./usr/include/dev/i2c/i2c_bitbang.h
|
./usr/include/dev/i2c/i2c_bitbang.h
|
||||||
./usr/include/dev/i2c/i2c_io.h
|
./usr/include/dev/i2c/i2c_io.h
|
||||||
./usr/include/dev/i2c/i2cvar.h
|
./usr/include/dev/i2c/i2cvar.h
|
||||||
|
./usr/include/dev/i2c/ietp.h
|
||||||
./usr/include/dev/i2c/ihidev.h
|
./usr/include/dev/i2c/ihidev.h
|
||||||
./usr/include/dev/ic
|
./usr/include/dev/ic
|
||||||
./usr/include/dev/ic/aac_tables.h
|
./usr/include/dev/ic/aac_tables.h
|
||||||
|
@ -1766,7 +1767,6 @@
|
||||||
./usr/share/man/man3/ASN1_TIME_set.3
|
./usr/share/man/man3/ASN1_TIME_set.3
|
||||||
./usr/share/man/man3/ASN1_TYPE_get.3
|
./usr/share/man/man3/ASN1_TYPE_get.3
|
||||||
./usr/share/man/man3/ASN1_UNIVERSALSTRING_to_string.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_buf_print.3
|
||||||
./usr/share/man/man3/ASN1_generate_nconf.3
|
./usr/share/man/man3/ASN1_generate_nconf.3
|
||||||
./usr/share/man/man3/ASN1_get_object.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_DigestVerifyInit.3
|
||||||
./usr/share/man/man3/EVP_EncodeInit.3
|
./usr/share/man/man3/EVP_EncodeInit.3
|
||||||
./usr/share/man/man3/EVP_EncryptInit.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_OpenInit.3
|
||||||
./usr/share/man/man3/EVP_PKCS82PKEY.3
|
./usr/share/man/man3/EVP_PKCS82PKEY.3
|
||||||
./usr/share/man/man3/EVP_PKEY_CTX_ctrl.3
|
./usr/share/man/man3/EVP_PKEY_CTX_ctrl.3
|
||||||
|
|
|
@ -252,6 +252,7 @@
|
||||||
./usr/share/man/man1/perl5340delta.1
|
./usr/share/man/man1/perl5340delta.1
|
||||||
./usr/share/man/man1/perl5341delta.1
|
./usr/share/man/man1/perl5341delta.1
|
||||||
./usr/share/man/man1/perl5360delta.1
|
./usr/share/man/man1/perl5360delta.1
|
||||||
|
./usr/share/man/man1/perl5361delta.1
|
||||||
./usr/share/man/man1/perl561delta.1
|
./usr/share/man/man1/perl561delta.1
|
||||||
./usr/share/man/man1/perl56delta.1
|
./usr/share/man/man1/perl56delta.1
|
||||||
./usr/share/man/man1/perl581delta.1
|
./usr/share/man/man1/perl581delta.1
|
||||||
|
@ -1544,6 +1545,7 @@
|
||||||
./usr/share/man/man4/icmp.4
|
./usr/share/man/man4/icmp.4
|
||||||
./usr/share/man/man4/icmp6.4
|
./usr/share/man/man4/icmp6.4
|
||||||
./usr/share/man/man4/icsphy.4
|
./usr/share/man/man4/icsphy.4
|
||||||
|
./usr/share/man/man4/ietp.4
|
||||||
./usr/share/man/man4/ifmedia.4
|
./usr/share/man/man4/ifmedia.4
|
||||||
./usr/share/man/man4/igc.4
|
./usr/share/man/man4/igc.4
|
||||||
./usr/share/man/man4/iha.4
|
./usr/share/man/man4/iha.4
|
||||||
|
|
|
@ -5111,6 +5111,7 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
|
||||||
|
|
||||||
elf_tdata (output_bfd)->relro = info->relro;
|
elf_tdata (output_bfd)->relro = info->relro;
|
||||||
elf_tdata (output_bfd)->wxneeded = info->wxneeded;
|
elf_tdata (output_bfd)->wxneeded = info->wxneeded;
|
||||||
|
elf_tdata (output_bfd)->nobtcfi = info->nobtcfi;
|
||||||
elf_tdata (output_bfd)->executable = info->executable;
|
elf_tdata (output_bfd)->executable = info->executable;
|
||||||
if (info->execstack)
|
if (info->execstack)
|
||||||
elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
|
elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
|
||||||
|
|
|
@ -434,6 +434,7 @@ Edward Moy <emoy@apple.com>
|
||||||
Edward Peschko <edwardp@excitehome.net>
|
Edward Peschko <edwardp@excitehome.net>
|
||||||
Elaine -HFB- Ashton <elaine@chaos.wustl.edu>
|
Elaine -HFB- Ashton <elaine@chaos.wustl.edu>
|
||||||
Elizabeth Mattijsen <liz@dijkmat.nl>
|
Elizabeth Mattijsen <liz@dijkmat.nl>
|
||||||
|
Elvin Aslanov <rwp.primary@gmail.com>
|
||||||
Enrico Sorcinelli <bepi@perl.it>
|
Enrico Sorcinelli <bepi@perl.it>
|
||||||
Eric Amick
|
Eric Amick
|
||||||
Eric Arnold <eric.arnold@sun.com>
|
Eric Arnold <eric.arnold@sun.com>
|
||||||
|
|
|
@ -4641,7 +4641,7 @@ esac
|
||||||
# so we will take those off from locincpth.
|
# so we will take those off from locincpth.
|
||||||
case "$gccversion" in
|
case "$gccversion" in
|
||||||
3.*)
|
3.*)
|
||||||
echo "main(){}">try.c
|
echo "int main(){}">try.c
|
||||||
for incdir in $locincpth; do
|
for incdir in $locincpth; do
|
||||||
warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \
|
warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \
|
||||||
grep '^c[cp]p*[01]: warning: changing search order '`
|
grep '^c[cp]p*[01]: warning: changing search order '`
|
||||||
|
@ -5793,6 +5793,7 @@ case "$intsize" in
|
||||||
#ifdef I_STDLIB
|
#ifdef I_STDLIB
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <stdio.h>
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
printf("intsize=%d;\n", (int)sizeof(int));
|
printf("intsize=%d;\n", (int)sizeof(int));
|
||||||
|
@ -6866,6 +6867,7 @@ case "$doublesize" in
|
||||||
#ifdef I_STDLIB
|
#ifdef I_STDLIB
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <stdio.h>
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
printf("%d\n", (int)sizeof(double));
|
printf("%d\n", (int)sizeof(double));
|
||||||
|
@ -7910,46 +7912,20 @@ esac
|
||||||
|
|
||||||
: compute the return types of malloc and free
|
: compute the return types of malloc and free
|
||||||
echo " "
|
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
|
case "$malloctype" in
|
||||||
'')
|
'')
|
||||||
if $cc $ccflags -c -DTRY_MALLOC malloc.c >/dev/null 2>&1; then
|
malloctype='void *'
|
||||||
malloctype='void *'
|
|
||||||
else
|
|
||||||
malloctype='char *'
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
echo "Your system wants malloc to return '$malloctype', it would seem." >&4
|
echo "Your system wants malloc to return '$malloctype', it would seem." >&4
|
||||||
|
|
||||||
case "$freetype" in
|
case "$freetype" in
|
||||||
'')
|
'')
|
||||||
if $cc $ccflags -c -DTRY_FREE malloc.c >/dev/null 2>&1; then
|
freetype='void'
|
||||||
freetype='void'
|
|
||||||
else
|
|
||||||
freetype='int'
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
echo "Your system uses $freetype free(), it would seem." >&4
|
echo "Your system uses $freetype free(), it would seem." >&4
|
||||||
$rm -f malloc.[co]
|
|
||||||
: determine where site specific architecture-dependent libraries go.
|
: determine where site specific architecture-dependent libraries go.
|
||||||
: sitelib default is /usr/local/lib/perl5/site_perl/$version
|
: sitelib default is /usr/local/lib/perl5/site_perl/$version
|
||||||
: sitearch default is /usr/local/lib/perl5/site_perl/$version/$archname
|
: sitearch default is /usr/local/lib/perl5/site_perl/$version/$archname
|
||||||
|
@ -12627,7 +12603,7 @@ case "$dlsrc" in
|
||||||
dl_dlopen.xs)
|
dl_dlopen.xs)
|
||||||
echo "Checking whether your dlsym() needs a leading underscore ..." >&4
|
echo "Checking whether your dlsym() needs a leading underscore ..." >&4
|
||||||
$cat >dyna.c <<'EOM'
|
$cat >dyna.c <<'EOM'
|
||||||
fred () { }
|
void fred (void) { }
|
||||||
EOM
|
EOM
|
||||||
|
|
||||||
$cat >fred.c<<EOM
|
$cat >fred.c<<EOM
|
||||||
|
@ -12646,7 +12622,7 @@ $cat >fred.c<<EOM
|
||||||
#include <link.h>
|
#include <link.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern int fred() ;
|
extern void fred(void) ;
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
|
@ -13680,6 +13656,7 @@ $cat >try.c <<EOP
|
||||||
#ifdef I_STDLIB
|
#ifdef I_STDLIB
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <string.h>
|
||||||
#define FILE_ptr(fp) $stdio_ptr
|
#define FILE_ptr(fp) $stdio_ptr
|
||||||
#define FILE_cnt(fp) $stdio_cnt
|
#define FILE_cnt(fp) $stdio_cnt
|
||||||
int main() {
|
int main() {
|
||||||
|
@ -16187,6 +16164,7 @@ echo "Checking to see if your libm supports _LIB_VERSION..." >&4
|
||||||
$cat >try.c <<EOCP
|
$cat >try.c <<EOCP
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <stdio.h>
|
||||||
int main (int argc, char *argv[])
|
int main (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
printf ("%d\n", _LIB_VERSION);
|
printf ("%d\n", _LIB_VERSION);
|
||||||
|
@ -22084,13 +22062,15 @@ pager="$ans"
|
||||||
: see if ar generates random libraries by itself
|
: see if ar generates random libraries by itself
|
||||||
echo " "
|
echo " "
|
||||||
echo "Checking how to generate random libraries on your machine..." >&4
|
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
|
echo 'int bar2() { return 2; }' > bar2.c
|
||||||
$cat > foo.c <<EOP
|
$cat > foo.c <<EOP
|
||||||
#$i_stdlib I_STDLIB
|
#$i_stdlib I_STDLIB
|
||||||
#ifdef I_STDLIB
|
#ifdef I_STDLIB
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <stdio.h>
|
||||||
|
extern int bar1();
|
||||||
int main() { printf("%d\n", bar1()); exit(0); }
|
int main() { printf("%d\n", bar1()); exit(0); }
|
||||||
EOP
|
EOP
|
||||||
$cc $ccflags -c bar1.c >/dev/null 2>&1
|
$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 nfd in 'int' 'size_t' 'unsigned long' 'unsigned' ; do
|
||||||
for tmo in 'struct timeval *' 'const struct timeval *'; do
|
for tmo in 'struct timeval *' 'const struct timeval *'; do
|
||||||
case "$val" in
|
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
|
if ./protochk "$try" $hdrs; then
|
||||||
echo "Your system accepts $xxx."
|
echo "Your system accepts $xxx."
|
||||||
val="$xxx"
|
val="$xxx"
|
||||||
|
|
|
@ -35,8 +35,8 @@ api_subversion='0'
|
||||||
api_version='36'
|
api_version='36'
|
||||||
api_versionstring='5.36.0'
|
api_versionstring='5.36.0'
|
||||||
ar='ar'
|
ar='ar'
|
||||||
archlib='/usr/lib/perl5/5.36.0/armv4l-linux'
|
archlib='/usr/lib/perl5/5.36.1/armv4l-linux'
|
||||||
archlibexp='/usr/lib/perl5/5.36.0/armv4l-linux'
|
archlibexp='/usr/lib/perl5/5.36.1/armv4l-linux'
|
||||||
archname64=''
|
archname64=''
|
||||||
archname='armv4l-linux'
|
archname='armv4l-linux'
|
||||||
archobjs=''
|
archobjs=''
|
||||||
|
@ -55,7 +55,7 @@ castflags='0'
|
||||||
cat='cat'
|
cat='cat'
|
||||||
cc='cc'
|
cc='cc'
|
||||||
cccdlflags='-fpic'
|
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='-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'
|
ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
|
||||||
ccname='arm-linux-gcc'
|
ccname='arm-linux-gcc'
|
||||||
|
@ -831,7 +831,7 @@ inc_version_list=' '
|
||||||
inc_version_list_init='0'
|
inc_version_list_init='0'
|
||||||
incpath=''
|
incpath=''
|
||||||
inews=''
|
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'
|
installbin='./install_me_here/usr/bin'
|
||||||
installhtml1dir=''
|
installhtml1dir=''
|
||||||
installhtml3dir=''
|
installhtml3dir=''
|
||||||
|
@ -839,13 +839,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
|
||||||
installman3dir='./install_me_here/usr/share/man/man3'
|
installman3dir='./install_me_here/usr/share/man/man3'
|
||||||
installprefix='./install_me_here/usr'
|
installprefix='./install_me_here/usr'
|
||||||
installprefixexp='./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'
|
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'
|
installsitebin='./install_me_here/usr/bin'
|
||||||
installsitehtml1dir=''
|
installsitehtml1dir=''
|
||||||
installsitehtml3dir=''
|
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'
|
installsiteman1dir='./install_me_here/usr/share/man/man1'
|
||||||
installsiteman3dir='./install_me_here/usr/share/man/man3'
|
installsiteman3dir='./install_me_here/usr/share/man/man3'
|
||||||
installsitescript='./install_me_here/usr/bin'
|
installsitescript='./install_me_here/usr/bin'
|
||||||
|
@ -980,8 +980,8 @@ pmake=''
|
||||||
pr=''
|
pr=''
|
||||||
prefix='/usr'
|
prefix='/usr'
|
||||||
prefixexp='/usr'
|
prefixexp='/usr'
|
||||||
privlib='/usr/lib/perl5/5.36.0'
|
privlib='/usr/lib/perl5/5.36.1'
|
||||||
privlibexp='/usr/lib/perl5/5.36.0'
|
privlibexp='/usr/lib/perl5/5.36.1'
|
||||||
procselfexe='"/proc/self/exe"'
|
procselfexe='"/proc/self/exe"'
|
||||||
prototype='define'
|
prototype='define'
|
||||||
ptrsize='4'
|
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_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'
|
sig_size='68'
|
||||||
signal_t='void'
|
signal_t='void'
|
||||||
sitearch='/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.0/armv4l-linux'
|
sitearchexp='/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
|
||||||
sitebin='/usr/bin'
|
sitebin='/usr/bin'
|
||||||
sitebinexp='/usr/bin'
|
sitebinexp='/usr/bin'
|
||||||
sitehtml1dir=''
|
sitehtml1dir=''
|
||||||
sitehtml1direxp=''
|
sitehtml1direxp=''
|
||||||
sitehtml3dir=''
|
sitehtml3dir=''
|
||||||
sitehtml3direxp=''
|
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'
|
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'
|
siteman1dir='/usr/share/man/man1'
|
||||||
siteman1direxp='/usr/share/man/man1'
|
siteman1direxp='/usr/share/man/man1'
|
||||||
siteman3dir='/usr/share/man/man3'
|
siteman3dir='/usr/share/man/man3'
|
||||||
|
@ -1097,7 +1097,7 @@ stdio_stream_array=''
|
||||||
strerror_r_proto='0'
|
strerror_r_proto='0'
|
||||||
strings='/usr/include/string.h'
|
strings='/usr/include/string.h'
|
||||||
submit=''
|
submit=''
|
||||||
subversion='0'
|
subversion='1'
|
||||||
sysman='/usr/share/man/man1'
|
sysman='/usr/share/man/man1'
|
||||||
tail=''
|
tail=''
|
||||||
tar=''
|
tar=''
|
||||||
|
@ -1188,8 +1188,8 @@ vendorprefix=''
|
||||||
vendorprefixexp=''
|
vendorprefixexp=''
|
||||||
vendorscript=''
|
vendorscript=''
|
||||||
vendorscriptexp=''
|
vendorscriptexp=''
|
||||||
version='5.36.0'
|
version='5.36.1'
|
||||||
version_patchlevel_string='version 36 subversion 0'
|
version_patchlevel_string='version 36 subversion 1'
|
||||||
versiononly='undef'
|
versiononly='undef'
|
||||||
vi=''
|
vi=''
|
||||||
xlibpth='/usr/lib/386 /lib/386'
|
xlibpth='/usr/lib/386 /lib/386'
|
||||||
|
@ -1204,7 +1204,7 @@ config_args=''
|
||||||
config_argc=0
|
config_argc=0
|
||||||
PERL_REVISION=5
|
PERL_REVISION=5
|
||||||
PERL_VERSION=36
|
PERL_VERSION=36
|
||||||
PERL_SUBVERSION=0
|
PERL_SUBVERSION=1
|
||||||
PERL_API_REVISION=5
|
PERL_API_REVISION=5
|
||||||
PERL_API_VERSION=36
|
PERL_API_VERSION=36
|
||||||
PERL_API_SUBVERSION=0
|
PERL_API_SUBVERSION=0
|
||||||
|
|
|
@ -35,8 +35,8 @@ api_subversion='0'
|
||||||
api_version='36'
|
api_version='36'
|
||||||
api_versionstring='5.36.0'
|
api_versionstring='5.36.0'
|
||||||
ar='ar'
|
ar='ar'
|
||||||
archlib='/usr/lib/perl5/5.36.0/armv4l-linux'
|
archlib='/usr/lib/perl5/5.36.1/armv4l-linux'
|
||||||
archlibexp='/usr/lib/perl5/5.36.0/armv4l-linux'
|
archlibexp='/usr/lib/perl5/5.36.1/armv4l-linux'
|
||||||
archname64=''
|
archname64=''
|
||||||
archname='armv4l-linux'
|
archname='armv4l-linux'
|
||||||
archobjs=''
|
archobjs=''
|
||||||
|
@ -54,7 +54,7 @@ castflags='0'
|
||||||
cat='cat'
|
cat='cat'
|
||||||
cc='arm-none-linux-gnueabi-gcc'
|
cc='arm-none-linux-gnueabi-gcc'
|
||||||
cccdlflags='-fpic'
|
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='-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'
|
ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
|
||||||
ccname='arm-linux-gcc'
|
ccname='arm-linux-gcc'
|
||||||
|
@ -829,7 +829,7 @@ inc_version_list=' '
|
||||||
inc_version_list_init='0'
|
inc_version_list_init='0'
|
||||||
incpath=''
|
incpath=''
|
||||||
inews=''
|
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'
|
installbin='./install_me_here/usr/bin'
|
||||||
installhtml1dir=''
|
installhtml1dir=''
|
||||||
installhtml3dir=''
|
installhtml3dir=''
|
||||||
|
@ -837,13 +837,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
|
||||||
installman3dir='./install_me_here/usr/share/man/man3'
|
installman3dir='./install_me_here/usr/share/man/man3'
|
||||||
installprefix='./install_me_here/usr'
|
installprefix='./install_me_here/usr'
|
||||||
installprefixexp='./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'
|
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'
|
installsitebin='./install_me_here/usr/bin'
|
||||||
installsitehtml1dir=''
|
installsitehtml1dir=''
|
||||||
installsitehtml3dir=''
|
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'
|
installsiteman1dir='./install_me_here/usr/share/man/man1'
|
||||||
installsiteman3dir='./install_me_here/usr/share/man/man3'
|
installsiteman3dir='./install_me_here/usr/share/man/man3'
|
||||||
installsitescript='./install_me_here/usr/bin'
|
installsitescript='./install_me_here/usr/bin'
|
||||||
|
@ -978,8 +978,8 @@ pmake=''
|
||||||
pr=''
|
pr=''
|
||||||
prefix='/usr'
|
prefix='/usr'
|
||||||
prefixexp='/usr'
|
prefixexp='/usr'
|
||||||
privlib='/usr/lib/perl5/5.36.0'
|
privlib='/usr/lib/perl5/5.36.1'
|
||||||
privlibexp='/usr/lib/perl5/5.36.0'
|
privlibexp='/usr/lib/perl5/5.36.1'
|
||||||
procselfexe='"/proc/self/exe"'
|
procselfexe='"/proc/self/exe"'
|
||||||
prototype='define'
|
prototype='define'
|
||||||
ptrsize='4'
|
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_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'
|
sig_size='68'
|
||||||
signal_t='void'
|
signal_t='void'
|
||||||
sitearch='/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.0/armv4l-linux'
|
sitearchexp='/usr/lib/perl5/site_perl/5.36.1/armv4l-linux'
|
||||||
sitebin='/usr/bin'
|
sitebin='/usr/bin'
|
||||||
sitebinexp='/usr/bin'
|
sitebinexp='/usr/bin'
|
||||||
sitehtml1dir=''
|
sitehtml1dir=''
|
||||||
sitehtml1direxp=''
|
sitehtml1direxp=''
|
||||||
sitehtml3dir=''
|
sitehtml3dir=''
|
||||||
sitehtml3direxp=''
|
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'
|
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'
|
siteman1dir='/usr/share/man/man1'
|
||||||
siteman1direxp='/usr/share/man/man1'
|
siteman1direxp='/usr/share/man/man1'
|
||||||
siteman3dir='/usr/share/man/man3'
|
siteman3dir='/usr/share/man/man3'
|
||||||
|
@ -1095,7 +1095,7 @@ stdio_stream_array=''
|
||||||
strerror_r_proto='0'
|
strerror_r_proto='0'
|
||||||
strings='/usr/include/string.h'
|
strings='/usr/include/string.h'
|
||||||
submit=''
|
submit=''
|
||||||
subversion='0'
|
subversion='1'
|
||||||
sysman='/usr/share/man/man1'
|
sysman='/usr/share/man/man1'
|
||||||
tail=''
|
tail=''
|
||||||
tar=''
|
tar=''
|
||||||
|
@ -1186,8 +1186,8 @@ vendorprefix=''
|
||||||
vendorprefixexp=''
|
vendorprefixexp=''
|
||||||
vendorscript=''
|
vendorscript=''
|
||||||
vendorscriptexp=''
|
vendorscriptexp=''
|
||||||
version='5.36.0'
|
version='5.36.1'
|
||||||
version_patchlevel_string='version 36 subversion 0'
|
version_patchlevel_string='version 36 subversion 1'
|
||||||
versiononly='undef'
|
versiononly='undef'
|
||||||
vi=''
|
vi=''
|
||||||
xlibpth='/usr/lib/386 /lib/386'
|
xlibpth='/usr/lib/386 /lib/386'
|
||||||
|
@ -1202,7 +1202,7 @@ config_args=''
|
||||||
config_argc=0
|
config_argc=0
|
||||||
PERL_REVISION=5
|
PERL_REVISION=5
|
||||||
PERL_VERSION=36
|
PERL_VERSION=36
|
||||||
PERL_SUBVERSION=0
|
PERL_SUBVERSION=1
|
||||||
PERL_API_REVISION=5
|
PERL_API_REVISION=5
|
||||||
PERL_API_VERSION=36
|
PERL_API_VERSION=36
|
||||||
PERL_API_SUBVERSION=0
|
PERL_API_SUBVERSION=0
|
||||||
|
|
|
@ -90,10 +90,10 @@ to F<pod/perldelta.pod> for more detailed information.
|
||||||
|
|
||||||
=head3 Compatibility with earlier versions
|
=head3 Compatibility with earlier versions
|
||||||
|
|
||||||
B<WARNING:> This version is not binary compatible with earlier versions
|
B<WARNING:> This version is not binary compatible with versions of Perl
|
||||||
of Perl. If you have built extensions (i.e. modules that include C code)
|
earlier than 5.36.0. If you have built extensions (i.e. modules that
|
||||||
using an earlier version of Perl, you will need to rebuild and reinstall
|
include C code) using an earlier version of Perl, you will need to
|
||||||
those extensions.
|
rebuild and reinstall those extensions.
|
||||||
|
|
||||||
Pure perl modules without XS or C code should continue to work fine
|
Pure perl modules without XS or C code should continue to work fine
|
||||||
without reinstallation. See the discussion below on
|
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
|
=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.
|
$version is the full perl version number, including subversion, e.g.
|
||||||
5.12.3, and $archname is a string like sun4-sunos,
|
5.12.3, and $archname is a string like sun4-sunos,
|
||||||
determined by Configure. The full definitions of all Configure
|
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
|
=head1 Coexistence with earlier versions of perl 5
|
||||||
|
|
||||||
Perl 5.36.0 is not binary compatible with earlier versions of Perl.
|
Perl 5.36.1 is not binary compatible with versions of Perl earlier than.
|
||||||
In other words, you will have to recompile your XS modules.
|
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
|
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
|
(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
|
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
|
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
|
may also wish to add a symbolic link /usr/local/bin/perl so that
|
||||||
scripts can still start with #!/usr/local/bin/perl.
|
scripts can still start with #!/usr/local/bin/perl.
|
||||||
|
|
||||||
|
@ -2598,11 +2598,11 @@ yet.
|
||||||
|
|
||||||
=head2 Upgrading from 5.35.11 or earlier
|
=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
|
earlier Perl releases.> Perl modules having binary parts
|
||||||
(meaning that a C compiler is used) will have to be recompiled to be
|
(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
|
used with 5.36.1. If you find you do need to rebuild an extension with
|
||||||
5.36.0, you may safely do so without disturbing the older
|
5.36.1, you may safely do so without disturbing the older
|
||||||
installations. (See L<"Coexistence with earlier versions of perl 5">
|
installations. (See L<"Coexistence with earlier versions of perl 5">
|
||||||
above.)
|
above.)
|
||||||
|
|
||||||
|
@ -2635,15 +2635,15 @@ Firstly, the bare minimum to run this script
|
||||||
print("$f\n");
|
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
|
./bin/perl
|
||||||
./lib/perl5/5.36.0/strict.pm
|
./lib/perl5/5.36.1/strict.pm
|
||||||
./lib/perl5/5.36.0/warnings.pm
|
./lib/perl5/5.36.1/warnings.pm
|
||||||
./lib/perl5/5.36.0/i686-linux/File/Glob.pm
|
./lib/perl5/5.36.1/i686-linux/File/Glob.pm
|
||||||
./lib/perl5/5.36.0/feature.pm
|
./lib/perl5/5.36.1/feature.pm
|
||||||
./lib/perl5/5.36.0/XSLoader.pm
|
./lib/perl5/5.36.1/XSLoader.pm
|
||||||
./lib/perl5/5.36.0/i686-linux/auto/File/Glob/Glob.so
|
./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
|
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
|
files, (of which 510 are for lib/unicore) totaling about 3.5MB in its
|
||||||
|
|
|
@ -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/perl5321delta.pod Perl changes in version 5.32.1
|
||||||
pod/perl5340delta.pod Perl changes in version 5.34.0
|
pod/perl5340delta.pod Perl changes in version 5.34.0
|
||||||
pod/perl5341delta.pod Perl changes in version 5.34.1
|
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/perl561delta.pod Perl changes in version 5.6.1
|
||||||
pod/perl56delta.pod Perl changes in version 5.6
|
pod/perl56delta.pod Perl changes in version 5.6
|
||||||
pod/perl581delta.pod Perl changes in version 5.8.1
|
pod/perl581delta.pod Perl changes in version 5.8.1
|
||||||
|
|
|
@ -118,6 +118,6 @@
|
||||||
"url" : "https://github.com/Perl/perl5"
|
"url" : "https://github.com/Perl/perl5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version" : "5.036000",
|
"version" : "5.036001",
|
||||||
"x_serialization_backend" : "JSON::PP version 4.07"
|
"x_serialization_backend" : "JSON::PP version 4.07"
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,5 +105,5 @@ resources:
|
||||||
homepage: https://www.perl.org/
|
homepage: https://www.perl.org/
|
||||||
license: https://dev.perl.org/licenses/
|
license: https://dev.perl.org/licenses/
|
||||||
repository: https://github.com/Perl/perl5
|
repository: https://github.com/Perl/perl5
|
||||||
version: '5.036000'
|
version: '5.036001'
|
||||||
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
|
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
|
||||||
|
|
|
@ -614,7 +614,7 @@ esac
|
||||||
|
|
||||||
$spitshell >>$Makefile <<'!NO!SUBS!'
|
$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_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
|
||||||
generated_headers = uudmap.h bitcount.h mg_data.h
|
generated_headers = uudmap.h bitcount.h mg_data.h
|
||||||
|
|
||||||
|
@ -1129,9 +1129,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
|
||||||
pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
|
pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
|
||||||
$(MINIPERL) pod/perlmodlib.PL -q
|
$(MINIPERL) pod/perlmodlib.PL -q
|
||||||
|
|
||||||
pod/perl5360delta.pod: pod/perldelta.pod
|
pod/perl5361delta.pod: pod/perldelta.pod
|
||||||
$(RMS) pod/perl5360delta.pod
|
$(RMS) pod/perl5361delta.pod
|
||||||
$(LNS) perldelta.pod pod/perl5360delta.pod
|
$(LNS) perldelta.pod pod/perl5361delta.pod
|
||||||
|
|
||||||
extra.pods: $(MINIPERL_EXE)
|
extra.pods: $(MINIPERL_EXE)
|
||||||
-@test ! -f extra.pods || rm -f `cat extra.pods`
|
-@test ! -f extra.pods || rm -f `cat extra.pods`
|
||||||
|
|
|
@ -87,6 +87,7 @@ _quick3p=
|
||||||
perl5340delta 1 pod/perl5340delta.pod \
|
perl5340delta 1 pod/perl5340delta.pod \
|
||||||
perl5341delta 1 pod/perl5341delta.pod \
|
perl5341delta 1 pod/perl5341delta.pod \
|
||||||
perl5360delta 1 pod/perl5360delta.pod \
|
perl5360delta 1 pod/perl5360delta.pod \
|
||||||
|
perl5361delta 1 pod/perl5361delta.pod \
|
||||||
perl561delta 1 pod/perl561delta.pod \
|
perl561delta 1 pod/perl561delta.pod \
|
||||||
perl56delta 1 pod/perl56delta.pod \
|
perl56delta 1 pod/perl56delta.pod \
|
||||||
perl581delta 1 pod/perl581delta.pod \
|
perl581delta 1 pod/perl581delta.pod \
|
||||||
|
|
|
@ -50,8 +50,8 @@ api_subversion='0'
|
||||||
api_version='36'
|
api_version='36'
|
||||||
api_versionstring='5.36.0'
|
api_versionstring='5.36.0'
|
||||||
ar='ar'
|
ar='ar'
|
||||||
archlib='/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.0/x86_64-linux-thread-multi-ld'
|
archlibexp='/opt/perl/lib/5.36.1/x86_64-linux-thread-multi-ld'
|
||||||
archname64=''
|
archname64=''
|
||||||
archname='x86_64-linux-thread-multi-ld'
|
archname='x86_64-linux-thread-multi-ld'
|
||||||
archobjs=''
|
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'
|
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=''
|
inews=''
|
||||||
initialinstalllocation='/opt/perl/bin'
|
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'
|
installbin='/opt/perl/bin'
|
||||||
installhtml1dir=''
|
installhtml1dir=''
|
||||||
installhtml3dir=''
|
installhtml3dir=''
|
||||||
|
@ -868,13 +868,13 @@ installman1dir='/opt/perl/man/man1'
|
||||||
installman3dir='/opt/perl/man/man3'
|
installman3dir='/opt/perl/man/man3'
|
||||||
installprefix='/opt/perl'
|
installprefix='/opt/perl'
|
||||||
installprefixexp='/opt/perl'
|
installprefixexp='/opt/perl'
|
||||||
installprivlib='/opt/perl/lib/5.36.0'
|
installprivlib='/opt/perl/lib/5.36.1'
|
||||||
installscript='/opt/perl/bin'
|
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'
|
installsitebin='/opt/perl/bin'
|
||||||
installsitehtml1dir=''
|
installsitehtml1dir=''
|
||||||
installsitehtml3dir=''
|
installsitehtml3dir=''
|
||||||
installsitelib='/opt/perl/lib/site_perl/5.36.0'
|
installsitelib='/opt/perl/lib/site_perl/5.36.1'
|
||||||
installsiteman1dir='/opt/perl/man/man1'
|
installsiteman1dir='/opt/perl/man/man1'
|
||||||
installsiteman3dir='/opt/perl/man/man3'
|
installsiteman3dir='/opt/perl/man/man3'
|
||||||
installsitescript='/opt/perl/bin'
|
installsitescript='/opt/perl/bin'
|
||||||
|
@ -1000,7 +1000,7 @@ perl_static_inline='static __inline__'
|
||||||
perl_thread_local=''
|
perl_thread_local=''
|
||||||
perladmin='yourname@yourhost.yourplace.com'
|
perladmin='yourname@yourhost.yourplace.com'
|
||||||
perllibs='-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc'
|
perllibs='-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc'
|
||||||
perlpath='/opt/perl/bin/perl5.36.0'
|
perlpath='/opt/perl/bin/perl5.36.1'
|
||||||
pg='pg'
|
pg='pg'
|
||||||
phostname=''
|
phostname=''
|
||||||
pidtype='pid_t'
|
pidtype='pid_t'
|
||||||
|
@ -1009,8 +1009,8 @@ pmake=''
|
||||||
pr=''
|
pr=''
|
||||||
prefix='/opt/perl'
|
prefix='/opt/perl'
|
||||||
prefixexp='/opt/perl'
|
prefixexp='/opt/perl'
|
||||||
privlib='/opt/perl/lib/5.36.0'
|
privlib='/opt/perl/lib/5.36.1'
|
||||||
privlibexp='/opt/perl/lib/5.36.0'
|
privlibexp='/opt/perl/lib/5.36.1'
|
||||||
procselfexe='"/proc/self/exe"'
|
procselfexe='"/proc/self/exe"'
|
||||||
ptrsize='8'
|
ptrsize='8'
|
||||||
quadkind='2'
|
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_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'
|
sig_size='68'
|
||||||
signal_t='void'
|
signal_t='void'
|
||||||
sitearch='/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.0/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'
|
sitebin='/opt/perl/bin'
|
||||||
sitebinexp='/opt/perl/bin'
|
sitebinexp='/opt/perl/bin'
|
||||||
sitehtml1dir=''
|
sitehtml1dir=''
|
||||||
sitehtml1direxp=''
|
sitehtml1direxp=''
|
||||||
sitehtml3dir=''
|
sitehtml3dir=''
|
||||||
sitehtml3direxp=''
|
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'
|
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'
|
siteman1dir='/opt/perl/man/man1'
|
||||||
siteman1direxp='/opt/perl/man/man1'
|
siteman1direxp='/opt/perl/man/man1'
|
||||||
siteman3dir='/opt/perl/man/man3'
|
siteman3dir='/opt/perl/man/man3'
|
||||||
|
@ -1113,7 +1113,7 @@ st_dev_sign='1'
|
||||||
st_dev_size='4'
|
st_dev_size='4'
|
||||||
st_ino_sign='1'
|
st_ino_sign='1'
|
||||||
st_ino_size='8'
|
st_ino_size='8'
|
||||||
startperl='#!/opt/perl/bin/perl5.36.0'
|
startperl='#!/opt/perl/bin/perl5.36.1'
|
||||||
startsh='#!/bin/sh'
|
startsh='#!/bin/sh'
|
||||||
static_ext=' '
|
static_ext=' '
|
||||||
stdchar='char'
|
stdchar='char'
|
||||||
|
@ -1125,7 +1125,7 @@ stdio_ptr='((fp)->_ptr)'
|
||||||
stdio_stream_array=''
|
stdio_stream_array=''
|
||||||
strerror_r_proto='REENTRANT_PROTO_B_IBW'
|
strerror_r_proto='REENTRANT_PROTO_B_IBW'
|
||||||
submit=''
|
submit=''
|
||||||
subversion='0'
|
subversion='1'
|
||||||
sysman='/usr/share/man/man1'
|
sysman='/usr/share/man/man1'
|
||||||
sysroot=''
|
sysroot=''
|
||||||
tail=''
|
tail=''
|
||||||
|
@ -1224,8 +1224,8 @@ vendorprefix=''
|
||||||
vendorprefixexp=''
|
vendorprefixexp=''
|
||||||
vendorscript=''
|
vendorscript=''
|
||||||
vendorscriptexp=''
|
vendorscriptexp=''
|
||||||
version='5.36.0'
|
version='5.36.1'
|
||||||
version_patchlevel_string='version 36 subversion 0'
|
version_patchlevel_string='version 36 subversion 1'
|
||||||
versiononly='define'
|
versiononly='define'
|
||||||
vi=''
|
vi=''
|
||||||
xlibpth='/usr/lib/386 /lib/386'
|
xlibpth='/usr/lib/386 /lib/386'
|
||||||
|
@ -1236,7 +1236,7 @@ zcat=''
|
||||||
zip='zip'
|
zip='zip'
|
||||||
PERL_REVISION=5
|
PERL_REVISION=5
|
||||||
PERL_VERSION=36
|
PERL_VERSION=36
|
||||||
PERL_SUBVERSION=0
|
PERL_SUBVERSION=1
|
||||||
PERL_API_REVISION=5
|
PERL_API_REVISION=5
|
||||||
PERL_API_VERSION=36
|
PERL_API_VERSION=36
|
||||||
PERL_API_SUBVERSION=0
|
PERL_API_SUBVERSION=0
|
||||||
|
|
|
@ -1239,8 +1239,8 @@
|
||||||
* This symbol contains the ~name expanded version of ARCHLIB, to be used
|
* 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.
|
* 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 "/opt/perl/lib/5.36.1/x86_64-linux" /**/
|
||||||
#define ARCHLIB_EXP "/opt/perl/lib/5.36.0/x86_64-linux" /**/
|
#define ARCHLIB_EXP "/opt/perl/lib/5.36.1/x86_64-linux" /**/
|
||||||
|
|
||||||
/* BIN:
|
/* BIN:
|
||||||
* This symbol holds the path of the bin directory where the package will
|
* 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
|
* 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.
|
* in programs that are not prepared to deal with ~ expansion at run-time.
|
||||||
*/
|
*/
|
||||||
#define PRIVLIB "/opt/perl/lib/5.36.0" /**/
|
#define PRIVLIB "/opt/perl/lib/5.36.1" /**/
|
||||||
#define PRIVLIB_EXP "/opt/perl/lib/5.36.0" /**/
|
#define PRIVLIB_EXP "/opt/perl/lib/5.36.1" /**/
|
||||||
|
|
||||||
/* SITEARCH:
|
/* SITEARCH:
|
||||||
* This symbol contains the name of the private library for this package.
|
* 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
|
* 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.
|
* 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 "/opt/perl/lib/site_perl/5.36.1/x86_64-linux" /**/
|
||||||
#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.36.0/x86_64-linux" /**/
|
#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.36.1/x86_64-linux" /**/
|
||||||
|
|
||||||
/* SITELIB:
|
/* SITELIB:
|
||||||
* This symbol contains the name of the private library for this package.
|
* 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
|
* 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.
|
* 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 "/opt/perl/lib/site_perl/5.36.1" /**/
|
||||||
#define SITELIB_EXP "/opt/perl/lib/site_perl/5.36.0" /**/
|
#define SITELIB_EXP "/opt/perl/lib/site_perl/5.36.1" /**/
|
||||||
#define SITELIB_STEM "/opt/perl/lib/site_perl" /**/
|
#define SITELIB_STEM "/opt/perl/lib/site_perl" /**/
|
||||||
|
|
||||||
/* PERL_VENDORARCH:
|
/* PERL_VENDORARCH:
|
||||||
|
@ -4109,7 +4109,7 @@
|
||||||
* script to make sure (one hopes) that it runs with perl and not
|
* script to make sure (one hopes) that it runs with perl and not
|
||||||
* some shell.
|
* some shell.
|
||||||
*/
|
*/
|
||||||
#define STARTPERL "#!/opt/perl/bin/perl5.36.0" /**/
|
#define STARTPERL "#!/opt/perl/bin/perl5.36.1" /**/
|
||||||
|
|
||||||
/* HAS_STDIO_STREAM_ARRAY:
|
/* HAS_STDIO_STREAM_ARRAY:
|
||||||
* This symbol, if defined, tells that there is an array
|
* This symbol, if defined, tells that there is an array
|
||||||
|
|
|
@ -17,6 +17,185 @@ Consult your favorite dictionary for details.
|
||||||
|
|
||||||
=head1 EPIGRAPHS
|
=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"
|
=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>
|
L<Announced on 2022-04-20 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2022/04/msg263644.html>
|
||||||
|
|
|
@ -146,6 +146,13 @@ my ( @items, $current_element, @leading_attrs );
|
||||||
my $skip_headers = qr/^=encoding/xms;
|
my $skip_headers = qr/^=encoding/xms;
|
||||||
my $passthru_headers = qr/^= (?: over | item | back | cut )/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) {
|
foreach my $line (@pod_lines) {
|
||||||
$line =~ $skip_headers
|
$line =~ $skip_headers
|
||||||
and next;
|
and next;
|
||||||
|
@ -179,6 +186,10 @@ foreach my $line (@pod_lines) {
|
||||||
or $line =~ /^[^=]/xms
|
or $line =~ /^[^=]/xms
|
||||||
or die "Cannot recognize line: '$line'\n";
|
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;
|
$current_element->{'content'} .= "\n" . $line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -403,7 +403,7 @@ died, add a short obituary here.
|
||||||
|
|
||||||
XXX Generate this with:
|
XXX Generate this with:
|
||||||
|
|
||||||
perl Porting/acknowledgements.pl v5.36.0..HEAD
|
perl Porting/acknowledgements.pl v5.36.1..HEAD
|
||||||
|
|
||||||
=head1 Reporting Bugs
|
=head1 Reporting Bugs
|
||||||
|
|
||||||
|
|
|
@ -16,13 +16,13 @@ document that starts with a checklist for your release.
|
||||||
This script is run as:
|
This script is run as:
|
||||||
|
|
||||||
perl Porting/make-rmg-checklist \
|
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
|
You can also pass the C<--html> flag to generate an HTML document instead of
|
||||||
POD.
|
POD.
|
||||||
|
|
||||||
perl Porting/make-rmg-checklist --html \
|
perl Porting/make-rmg-checklist --html \
|
||||||
--version [5.x.y-RC#] > /tmp/rmg.html
|
--version [5.X.Y-RC#] > /tmp/rmg.html
|
||||||
|
|
||||||
=head1 SYNOPSIS
|
=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
|
type of release, you will see a notation to that effect at
|
||||||
the beginning of the step.
|
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
|
=head2 Release types
|
||||||
|
|
||||||
=over 4
|
=over 4
|
||||||
|
|
||||||
=item Release Candidate (RC)
|
=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
|
possible to the final release. Indeed, unless critical faults are found
|
||||||
during the RC testing, the final release will be identical to the RC
|
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>,
|
barring a few minor fixups (updating the release date in F<perlhist.pod>,
|
||||||
|
@ -469,7 +477,7 @@ Commit your changes:
|
||||||
$ git diff
|
$ git diff
|
||||||
B<review the delta carefully>
|
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
|
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
|
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
|
Review the changes to the AUTHORS file, be sure you are not adding duplicate
|
||||||
entries or removing any entries, then commit your changes.
|
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
|
=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
|
BLEAD-FINAL, MAINT, and RC releases, since blead will already be frozen in
|
||||||
those cases. Create the branch by running
|
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
|
=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
|
for modules that have identical version numbers but different contents by
|
||||||
running:
|
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
|
(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.)
|
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
|
(unless this is for MAINT; in which case commit it to blead first, then
|
||||||
cherry-pick it back).
|
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/Changes \
|
||||||
dist/Module-CoreList/lib/Module/CoreList.pm \
|
dist/Module-CoreList/lib/Module/CoreList.pm \
|
||||||
dist/Module-CoreList/lib/Module/CoreList/Utils.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
|
Finalize the perldelta. In particular, fill in the Acknowledgements
|
||||||
section, which can be generated with something like:
|
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
|
Fill in the "New/Updated Modules" sections now that Module::CoreList is
|
||||||
updated:
|
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:
|
Build perl, then make sure it passes its own test suite, and installs:
|
||||||
|
|
||||||
$ git clean -xdf
|
$ 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:
|
# 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
|
$ make test install
|
||||||
|
|
||||||
Check that the output of C</tmp/perl-5.x.y-pretest/bin/perl -v> and
|
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,
|
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
|
especially as regards version numbers, patch and/or RC levels, and @INC
|
||||||
paths. Note that as they have been built from a git working
|
paths. Note that as they have been built from a git working
|
||||||
directory, they will still identify themselves using git tags and
|
directory, they will still identify themselves using git tags and
|
||||||
commits. (Note that for an odd-numbered version, perl will install
|
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,
|
where 5.X.Z is the latest tag, NNN the number of commits since this tag,
|
||||||
and C<< deadbeef >> commit of that tag.
|
and C<< deadbeef >> commit of that tag.
|
||||||
|
@ -943,7 +951,7 @@ Then delete the temporary installation.
|
||||||
|
|
||||||
=head3 create the release tag
|
=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!'
|
$ 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 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.
|
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
|
=head3 build the tarball
|
||||||
|
|
||||||
Before you run the following, you might want to install 7-Zip (the
|
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:
|
the tarball and directory name:
|
||||||
|
|
||||||
$ cd root/of/perl/tree
|
$ 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 -s RC1 # for a release candidate
|
||||||
$ perl Porting/makerel -x # for the release itself
|
$ 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
|
$ ./perl -Ilib ./utils/perlivp
|
||||||
# Or, perhaps:
|
# Or, perhaps:
|
||||||
$ ./perl5.x.y ./utils/perlivp5.x.y
|
$ ./perl5.X.Y ./utils/perlivp5.X.Y
|
||||||
...
|
...
|
||||||
All tests successful.
|
All tests successful.
|
||||||
$
|
$
|
||||||
|
@ -1094,7 +1108,7 @@ Bootstrap the CPAN client on the clean install:
|
||||||
$ bin/cpan
|
$ bin/cpan
|
||||||
|
|
||||||
# Or, perhaps:
|
# Or, perhaps:
|
||||||
$ bin/cpan5.xx.x
|
$ bin/cpan5.X.Y
|
||||||
|
|
||||||
=head4 Install the Inline module with CPAN and test it
|
=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
|
Check your authors directory metacpan.org to confirm that your uploads have
|
||||||
been successful.
|
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
|
=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 checkout blead
|
||||||
git pull
|
git pull
|
||||||
git merge release-5.xx.yy
|
git merge release-5.X.Y
|
||||||
git push
|
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
|
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
|
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
|
to the Perl master repository, it's time to publish the tag you created
|
||||||
earlier too (e.g.):
|
earlier too (e.g.):
|
||||||
|
|
||||||
$ git push origin tag v5.11.0
|
$ git push origin tag v5.X.Y
|
||||||
|
|
||||||
=head3 update epigraphs.pod
|
=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
|
=head3 update the link to the latest perl on perlweb
|
||||||
|
|
||||||
Submit a pull request to L<https://github.com/perlorg/perlweb> to update the
|
Submit a pull request to L<https://github.com/perlorg/perlweb>. For a dev
|
||||||
link in F<docs/dev/perl5/index.html> to point to your release.
|
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
|
=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:
|
Assuming you're using git 1.7.x or newer:
|
||||||
|
|
||||||
$ git checkout -b maint-5.12 v5.12.0
|
$ git checkout -b maint-5.X v5.X.0
|
||||||
$ git push origin -u maint-5.12
|
$ git push origin -u maint-5.X
|
||||||
|
|
||||||
|
|
||||||
=for checklist skip BLEAD-POINT MAINT RC
|
=for checklist skip BLEAD-POINT MAINT RC
|
||||||
|
@ -1555,7 +1576,7 @@ about blead's current version.
|
||||||
Commit and push your changes.
|
Commit and push your changes.
|
||||||
|
|
||||||
$ git add -u
|
$ 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
|
$ git push origin
|
||||||
|
|
||||||
=back
|
=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
|
F<Porting/release_managers_guide.pod> with any fixes or information that
|
||||||
will make life easier for the next release manager.
|
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
|
=for checklist end
|
||||||
|
|
||||||
=head1 SOURCE
|
=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.
|
plus a whole bunch of other sources, including private correspondence.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
|
|
|
@ -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
|
of Perl. Dates with two or more question marks will only be releases if
|
||||||
deemed necessary by the Steering Council.
|
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
|
=head2 Perl 5.34
|
||||||
|
|
||||||
2021-05-20 5.34.0 ✓ Sawyer X
|
2021-05-20 5.34.0 ✓ Sawyer X
|
||||||
2022-03-13 5.34.1 ✓ Steve Hay
|
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
|
|
||||||
|
|
||||||
=head1 DEVELOPMENT RELEASE SCHEDULE
|
=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,
|
the next four releases. If a stable version of Perl is released,
|
||||||
you should reset the version numbers to the next blead series.
|
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
|
2022-05-27 5.37.0 ✓ Ricardo Signes
|
||||||
2021-06-20 5.35.1 ✓ Max Maischein
|
2022-06-20 5.37.1 ✓ Matthew Horsfall
|
||||||
2021-07-20 5.35.2 ✓ Neil Bowers
|
2022-07-20 5.37.2 ✓ Nicolas R
|
||||||
2021-08-20 5.35.3 ✓ Karen Etheridge
|
2022-08-20 5.37.3 ✓ Neil Bowers
|
||||||
2021-09-20 5.35.4 ✓ Matthew Horsfall
|
2022-09-20 5.37.4 ✓ Karen Etheridge
|
||||||
2021-10-20 5.35.5 ✓ Leon Timmermans
|
2022-10-20 5.37.5 ✓ Todd Rinaldo
|
||||||
2021-11-20 5.35.6 ✓ Richard Leach
|
2022-11-20 5.37.6 ✓ Max Maischein
|
||||||
2021-12-20 5.35.7 ✓ Neil Bowers
|
2022-12-20 5.37.7 ✓ Richard Leach
|
||||||
2022-01-20 5.35.8 ✓ Nicolas R
|
2023-01-20 5.37.8 ✓ Renée Bäcker
|
||||||
2022-02-20 5.35.9 ✓ Renee Contentious changes freeze
|
2023-02-20 5.37.9 ✓ Karen Etheridge Contentious changes freeze
|
||||||
2022-03-20 5.35.10 ✓ Sawyer X User-visible changes to
|
2023-03-20 5.37.10 ✓ Yves Orton User-visible changes to
|
||||||
correctly functioning programs
|
correctly functioning
|
||||||
freeze
|
programs freeze
|
||||||
2022-04-20 5.35.11 ✓ Steve Hay Full code freeze
|
2023-04-20 5.37.11 ✓ Steve Hay Full code freeze
|
||||||
2022-05-20 5.36.0 Ricardo New perl!
|
2023-05-20 5.38.0 Ricardo Signes New perl!
|
||||||
|
|
||||||
=head1 VICTIMS
|
=head1 VICTIMS
|
||||||
|
|
||||||
|
|
|
@ -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
|
On these systems, it might be the default compilation mode, and there
|
||||||
is currently no guarantee that passing no use64bitall option to the
|
is currently no guarantee that passing no use64bitall option to the
|
||||||
Configure process will build a 32bit perl. Implementing -Duse32bit*
|
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?
|
=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
|
=head1 Big projects
|
||||||
|
|
||||||
Tasks that will get your name mentioned in the description of the "Highlights
|
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
|
=head2 make ithreads more robust
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
Perl is Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
Perl is Copyright (C) 1993 - 2023 by Larry Wall and others.
|
||||||
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.
|
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,9 +22,9 @@ The build procedure is completely standard:
|
||||||
Make perl executable and create a symlink for libperl:
|
Make perl executable and create a symlink for libperl:
|
||||||
|
|
||||||
chmod a+x /boot/common/bin/perl
|
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
|
=head1 KNOWN PROBLEMS
|
||||||
|
|
||||||
|
|
|
@ -10,9 +10,9 @@ perlmacosx - Perl under Mac OS X
|
||||||
|
|
||||||
This document briefly describes 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
|
curl -O https://www.cpan.org/src/perl-5.36.1.tar.gz
|
||||||
tar -xzf perl-5.36.0.tar.gz
|
tar -xzf perl-5.36.1.tar.gz
|
||||||
cd perl-5.36.0
|
cd perl-5.36.1
|
||||||
./Configure -des -Dprefix=/usr/local/
|
./Configure -des -Dprefix=/usr/local/
|
||||||
make
|
make
|
||||||
make test
|
make test
|
||||||
|
@ -20,7 +20,7 @@ This document briefly describes Perl under Mac OS X.
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
=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.
|
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',
|
In order to build your own version of Perl you will need 'make',
|
||||||
|
|
|
@ -619,7 +619,7 @@ C<set PERLLIB_PREFIX> in F<Config.sys>, see L</"C<PERLLIB_PREFIX>">.
|
||||||
|
|
||||||
=item Additional Perl modules
|
=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
|
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
|
one of directories on @INC (and @INC is influenced by C<PERLLIB_PREFIX>), you
|
||||||
|
|
|
@ -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
|
choice. Once you have done so, use a command like the following to
|
||||||
unpack the archive:
|
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:
|
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.
|
and proceed with configuration as described in the next section.
|
||||||
|
|
||||||
|
|
|
@ -1160,8 +1160,7 @@ $! base name early because not all questions are worth asking on all
|
||||||
$! platforms.
|
$! platforms.
|
||||||
$!
|
$!
|
||||||
$! Please use F$ELEMENT(0,"-",archname) .EQS. "VMS_AXP" (or
|
$! Please use F$ELEMENT(0,"-",archname) .EQS. "VMS_AXP" (or
|
||||||
$! "VMS_IA64") from here on to allow cross-platform configuration (e.g.
|
$! "VMS_IA64", "VMS_x86_64", etc.) from here on to query the current architecture.
|
||||||
$! configure a IA64 build on an Alpha).
|
|
||||||
$!
|
$!
|
||||||
$ IF (F$GETSYI("HW_MODEL") .LT. 1024 .AND. F$GETSYI("HW_MODEL") .GT. 0)
|
$ IF (F$GETSYI("HW_MODEL") .LT. 1024 .AND. F$GETSYI("HW_MODEL") .GT. 0)
|
||||||
$ THEN
|
$ THEN
|
||||||
|
@ -1171,16 +1170,15 @@ $ exit 44
|
||||||
$ ELSE
|
$ ELSE
|
||||||
$ IF (F$GETSYI("ARCH_TYPE") .EQ. 2)
|
$ IF (F$GETSYI("ARCH_TYPE") .EQ. 2)
|
||||||
$ THEN
|
$ THEN
|
||||||
$ archname = "VMS_AXP"
|
$ archname = "VMS_AXP" ! oops, F$GETSYI("ARCH_NAME") gives us 'Alpha' not 'AXP'
|
||||||
$ otherarch = "IA64"
|
|
||||||
$ arch_type = "ARCH-TYPE=__AXP__"
|
$ arch_type = "ARCH-TYPE=__AXP__"
|
||||||
$ ELSE
|
$ ELSE
|
||||||
$ archname = "VMS_IA64"
|
$! This works for Itanium and x86_64 and hopefully whatever's next (AARCH64? RISC-V?)
|
||||||
$ otherarch = "Alpha"
|
$ archname = "VMS_" + F$GETSYI("ARCH_NAME")
|
||||||
$ arch_type = "ARCH-TYPE=__IA64__"
|
$ arch_type = "ARCH-TYPE=__" + F$GETSYI("ARCH_NAME") + "__"
|
||||||
$ ENDIF
|
$ ENDIF
|
||||||
$ alignbytes="8"
|
|
||||||
$ ENDIF
|
$ ENDIF
|
||||||
|
$ alignbytes="8"
|
||||||
$!
|
$!
|
||||||
$!: set the base revision
|
$!: set the base revision
|
||||||
$ baserev="5.0"
|
$ baserev="5.0"
|
||||||
|
|
|
@ -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 'version'
|
||||||
## no critic 'package'
|
## no critic 'package'
|
||||||
# Before 'make install' is performed this script should be runnable with
|
# 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 {
|
xsunveil_ok "Basic Usage" => sub {
|
||||||
ok OpenBSD::Unveil::_unveil('/dev/random', 'r'),
|
my $tmpfile = File::Temp->new("OpenBSD-Unveil-XXXXXXXXX", TMPDIR => 1);
|
||||||
"Unveiled /dev/random r";
|
$tmpfile->printflush("This is a test\n");
|
||||||
|
|
||||||
|
ok OpenBSD::Unveil::_unveil("$tmpfile", 'r'),
|
||||||
|
"Unveiled tempfile r";
|
||||||
ok OpenBSD::Unveil::_unveil('/dev/null', 'wc'),
|
ok OpenBSD::Unveil::_unveil('/dev/null', 'wc'),
|
||||||
"Unvailed /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'),
|
ok open(my $wfh, '>', '/dev/null'),
|
||||||
"Opened /dev/null for writing";
|
"Opened /dev/null for writing";
|
||||||
ok print($wfh $data), "Printed to /dev/null";
|
ok print($wfh "Test\n"), "Printed to /dev/null";
|
||||||
ok close($wfh), "Closed /dev/null";
|
ok close($wfh), "Closed /dev/null";
|
||||||
}
|
}
|
||||||
|
|
||||||
ok OpenBSD::Unveil::_unveil('/dev/null', 'w'),
|
ok OpenBSD::Unveil::_unveil('/dev/null', 'w'),
|
||||||
"Unvailed /dev/null w";
|
"Unvailed /dev/null w";
|
||||||
ok OpenBSD::Unveil::_unveil(),
|
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),
|
ok sysopen(my $wfh, '/dev/null', O_WRONLY),
|
||||||
"Sysopened /dev/null for writing";
|
"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 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'),
|
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 {
|
xsunveil_ok "Invalid Path" => sub {
|
||||||
chdir "/tmp" or die "Unable to chdir to /tmp";
|
my $dir = File::Temp->newdir('OpenBSD-Unveil-XXXXXXXXX', TMPDIR => 1);
|
||||||
my $dir = File::Temp->newdir('OpenBSD-Unveil-XXXXXXXXX');
|
|
||||||
ok !OpenBSD::Unveil::_unveil("$dir/nonexist/file", 'r'),
|
ok !OpenBSD::Unveil::_unveil("$dir/nonexist/file", 'r'),
|
||||||
"Unable to unveil with incorrect permissions";
|
"Unable to unveil with incorrect permissions";
|
||||||
is $!, 'No such file or directory', "Expected ERRNO from _unveil";
|
is $!, 'No such file or directory', "Expected ERRNO from _unveil";
|
||||||
|
|
39
gnu/usr.bin/perl/dist/Module-CoreList/Changes
vendored
39
gnu/usr.bin/perl/dist/Module-CoreList/Changes
vendored
|
@ -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
|
5.20220520
|
||||||
- Updated for v5.35.12
|
- Updated for v5.35.12
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ push @extra, 'INSTALLDIRS' => 'perl' if $] >= 5.008009 and $] < 5.012;
|
||||||
|
|
||||||
push @extra, 'META_MERGE' => {
|
push @extra, 'META_MERGE' => {
|
||||||
resources => {
|
resources => {
|
||||||
repository => 'git://github.com/Perl/perl5.git',
|
repository => 'https://github.com/Perl/perl5.git',
|
||||||
bugtracker => 'https://github.com/Perl/perl5/issues',
|
bugtracker => 'https://github.com/Perl/perl5/issues',
|
||||||
homepage => "http://dev.perl.org/",
|
homepage => "http://dev.perl.org/",
|
||||||
},
|
},
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -4,7 +4,7 @@ use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Module::CoreList;
|
use Module::CoreList;
|
||||||
|
|
||||||
our $VERSION = '5.20220520';
|
our $VERSION = '5.20230423';
|
||||||
our %utilities;
|
our %utilities;
|
||||||
|
|
||||||
sub utilities {
|
sub utilities {
|
||||||
|
@ -1804,6 +1804,97 @@ my %delta = (
|
||||||
removed => {
|
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);
|
%utilities = Module::CoreList::_undelta(\%delta);
|
||||||
|
|
|
@ -3079,21 +3079,21 @@ i |HV* |opmethod_stash |NN SV* meth
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PERL_IN_PP_SORT_C)
|
#if defined(PERL_IN_PP_SORT_C)
|
||||||
I |I32 |sv_ncmp |NN SV *const a|NN SV *const b
|
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_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 |NN SV *const a|NN SV *const b
|
||||||
I |I32 |sv_i_ncmp_desc |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 |NN SV *const a|NN SV *const b
|
||||||
I |I32 |amagic_ncmp_desc |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 |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_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 |NN SV *const str1|NN SV *const str2
|
||||||
I |I32 |amagic_cmp_desc |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 |cmp_desc |NN SV *const str1|NN SV *const str2
|
||||||
# ifdef USE_LOCALE_COLLATE
|
# ifdef USE_LOCALE_COLLATE
|
||||||
I |I32 |amagic_cmp_locale |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 |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 |cmp_locale_desc|NN SV *const str1|NN SV *const str2
|
||||||
# endif
|
# endif
|
||||||
S |I32 |sortcv |NN SV *const a|NN SV *const b
|
S |I32 |sortcv |NN SV *const a|NN SV *const b
|
||||||
S |I32 |sortcv_xsub |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
|
#endif
|
||||||
|
|
||||||
#if defined(PERL_MEM_LOG)
|
#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
|
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
|
||||||
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
|
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
|
||||||
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_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
|
#endif
|
||||||
|
|
||||||
#if defined(PERL_IN_UTF8_C)
|
#if defined(PERL_IN_UTF8_C)
|
||||||
|
|
|
@ -887,6 +887,13 @@
|
||||||
#if defined(PERL_IN_SV_C)
|
#if defined(PERL_IN_SV_C)
|
||||||
#define more_sv() Perl_more_sv(aTHX)
|
#define more_sv() Perl_more_sv(aTHX)
|
||||||
#endif
|
#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)
|
#if defined(PERL_USE_3ARG_SIGHANDLER)
|
||||||
#define csighandler Perl_csighandler
|
#define csighandler Perl_csighandler
|
||||||
#endif
|
#endif
|
||||||
|
@ -2029,11 +2036,6 @@
|
||||||
#define mem_log_common S_mem_log_common
|
#define mem_log_common S_mem_log_common
|
||||||
# endif
|
# endif
|
||||||
# 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)
|
# if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
|
||||||
#define pidgone(a,b) S_pidgone(aTHX_ a,b)
|
#define pidgone(a,b) S_pidgone(aTHX_ a,b)
|
||||||
# endif
|
# endif
|
||||||
|
|
|
@ -117,7 +117,7 @@ foreach $XS_VERSION (undef, @versions) {
|
||||||
is_deeply([XS_APIVERSION_valid("Pie")], [], "XS_APIVERSION_BOOTCHECK passes");
|
is_deeply([XS_APIVERSION_valid("Pie")], [], "XS_APIVERSION_BOOTCHECK passes");
|
||||||
is(eval {XS_APIVERSION_invalid("Pie"); 1}, undef,
|
is(eval {XS_APIVERSION_invalid("Pie"); 1}, undef,
|
||||||
"XS_APIVERSION_BOOTCHECK croaks for an invalid version");
|
"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");
|
"expected error");
|
||||||
|
|
||||||
my @xsreturn;
|
my @xsreturn;
|
||||||
|
|
|
@ -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 */
|
/* cache the fact that the method is not defined */
|
||||||
GvCVGEN(topgv) = topgen_cmp;
|
GvCVGEN(topgv) = topgen_cmp;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2734,10 +2734,6 @@ enum mem_log_type {
|
||||||
MLT_DEL_SV
|
MLT_DEL_SV
|
||||||
};
|
};
|
||||||
# endif
|
# 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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -31,11 +31,11 @@
|
||||||
# mkdir -p /opt/perl-catamount
|
# mkdir -p /opt/perl-catamount
|
||||||
# mkdir -p /opt/perl-catamount/include
|
# mkdir -p /opt/perl-catamount/include
|
||||||
# mkdir -p /opt/perl-catamount/lib
|
# 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
|
# mkdir -p /opt/perl-catamount/bin
|
||||||
# cp *.h /opt/perl-catamount/include
|
# cp *.h /opt/perl-catamount/include
|
||||||
# cp libperl.a /opt/perl-catamount/lib
|
# 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
|
# 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
|
# With the headers and the libperl.a you can embed Perl to your Catamount
|
||||||
|
|
|
@ -118,7 +118,7 @@ package B::Op_private;
|
||||||
our %bits;
|
our %bits;
|
||||||
|
|
||||||
|
|
||||||
our $VERSION = "5.036000";
|
our $VERSION = "5.036001";
|
||||||
|
|
||||||
$bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv);
|
$bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv);
|
||||||
$bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv);
|
$bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv);
|
||||||
|
|
|
@ -489,7 +489,14 @@ unless ($define{'PERL_TRACK_MEMPOOL'}) {
|
||||||
}
|
}
|
||||||
|
|
||||||
unless ($define{'PERL_MEM_LOG'}) {
|
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'}) {
|
unless ($define{'MULTIPLICITY'}) {
|
||||||
|
|
|
@ -3082,25 +3082,55 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
|
||||||
IoLINES(GvIOp(PL_last_in_gv)) = SvIV(sv);
|
IoLINES(GvIOp(PL_last_in_gv)) = SvIV(sv);
|
||||||
break;
|
break;
|
||||||
case '^':
|
case '^':
|
||||||
Safefree(IoTOP_NAME(GvIOp(PL_defoutgv)));
|
{
|
||||||
IoTOP_NAME(GvIOp(PL_defoutgv)) = savesvpv(sv);
|
IO * const io = GvIO(PL_defoutgv);
|
||||||
IoTOP_GV(GvIOp(PL_defoutgv)) = gv_fetchsv(sv, GV_ADD, SVt_PVIO);
|
if (!io)
|
||||||
|
break;
|
||||||
|
|
||||||
|
Safefree(IoTOP_NAME(io));
|
||||||
|
IoTOP_NAME(io) = savesvpv(sv);
|
||||||
|
IoTOP_GV(io) = gv_fetchsv(sv, GV_ADD, SVt_PVIO);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case '~':
|
case '~':
|
||||||
Safefree(IoFMT_NAME(GvIOp(PL_defoutgv)));
|
{
|
||||||
IoFMT_NAME(GvIOp(PL_defoutgv)) = savesvpv(sv);
|
IO * const io = GvIO(PL_defoutgv);
|
||||||
IoFMT_GV(GvIOp(PL_defoutgv)) = gv_fetchsv(sv, GV_ADD, SVt_PVIO);
|
if (!io)
|
||||||
|
break;
|
||||||
|
|
||||||
|
Safefree(IoFMT_NAME(io));
|
||||||
|
IoFMT_NAME(io) = savesvpv(sv);
|
||||||
|
IoFMT_GV(io) = gv_fetchsv(sv, GV_ADD, SVt_PVIO);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case '=':
|
case '=':
|
||||||
IoPAGE_LEN(GvIOp(PL_defoutgv)) = (SvIV(sv));
|
{
|
||||||
|
IO * const io = GvIO(PL_defoutgv);
|
||||||
|
if (!io)
|
||||||
|
break;
|
||||||
|
|
||||||
|
IoPAGE_LEN(io) = (SvIV(sv));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case '-':
|
case '-':
|
||||||
IoLINES_LEFT(GvIOp(PL_defoutgv)) = (SvIV(sv));
|
{
|
||||||
if (IoLINES_LEFT(GvIOp(PL_defoutgv)) < 0L)
|
IO * const io = GvIO(PL_defoutgv);
|
||||||
IoLINES_LEFT(GvIOp(PL_defoutgv)) = 0L;
|
if (!io)
|
||||||
|
break;
|
||||||
|
|
||||||
|
IoLINES_LEFT(io) = (SvIV(sv));
|
||||||
|
if (IoLINES_LEFT(io) < 0L)
|
||||||
|
IoLINES_LEFT(io) = 0L;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case '%':
|
case '%':
|
||||||
IoPAGE(GvIOp(PL_defoutgv)) = (SvIV(sv));
|
{
|
||||||
|
IO * const io = GvIO(PL_defoutgv);
|
||||||
|
if (!io)
|
||||||
|
break;
|
||||||
|
|
||||||
|
IoPAGE(io) = (SvIV(sv));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case '|':
|
case '|':
|
||||||
{
|
{
|
||||||
|
|
|
@ -14749,13 +14749,40 @@ subroutine.
|
||||||
CV *
|
CV *
|
||||||
Perl_find_lexical_cv(pTHX_ PADOFFSET off)
|
Perl_find_lexical_cv(pTHX_ PADOFFSET off)
|
||||||
{
|
{
|
||||||
PADNAME *name = PAD_COMPNAME(off);
|
const PADNAME *name = PAD_COMPNAME(off);
|
||||||
CV *compcv = PL_compcv;
|
CV *compcv = PL_compcv;
|
||||||
while (PadnameOUTER(name)) {
|
while (PadnameOUTER(name)) {
|
||||||
assert(PARENT_PAD_INDEX(name));
|
|
||||||
compcv = CvOUTSIDE(compcv);
|
compcv = CvOUTSIDE(compcv);
|
||||||
name = PadlistNAMESARRAY(CvPADLIST(compcv))
|
if (LIKELY(PARENT_PAD_INDEX(name))) {
|
||||||
|
name = PadlistNAMESARRAY(CvPADLIST(compcv))
|
||||||
[off = PARENT_PAD_INDEX(name)];
|
[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));
|
assert(!PadnameIsOUR(name));
|
||||||
if (!PadnameIsSTATE(name) && PadnamePROTOCV(name)) {
|
if (!PadnameIsSTATE(name) && PadnamePROTOCV(name)) {
|
||||||
|
|
|
@ -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_REVISION 5 /* age */
|
||||||
#define PERL_VERSION 36 /* epoch */
|
#define PERL_VERSION 36 /* epoch */
|
||||||
#define PERL_SUBVERSION 0 /* generation */
|
#define PERL_SUBVERSION 1 /* generation */
|
||||||
|
|
||||||
/* The following numbers describe the earliest compatible version of
|
/* The following numbers describe the earliest compatible version of
|
||||||
Perl ("compatibility" here being defined as sufficient binary/API
|
Perl ("compatibility" here being defined as sufficient binary/API
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
*
|
*
|
||||||
* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||||
* 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
* 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
|
* by Larry Wall and others
|
||||||
*
|
*
|
||||||
* You may distribute under the terms of either the GNU General Public
|
* You may distribute under the terms of either the GNU General Public
|
||||||
|
@ -3832,7 +3832,7 @@ S_minus_v(pTHX)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PerlIO_printf(PIO_stdout,
|
PerlIO_printf(PIO_stdout,
|
||||||
"\n\nCopyright 1987-2022, Larry Wall\n");
|
"\n\nCopyright 1987-2023, Larry Wall\n");
|
||||||
#ifdef OS2
|
#ifdef OS2
|
||||||
PerlIO_printf(PIO_stdout,
|
PerlIO_printf(PIO_stdout,
|
||||||
"\n\nOS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel\n"
|
"\n\nOS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel\n"
|
||||||
|
|
|
@ -35,8 +35,8 @@ api_subversion='0'
|
||||||
api_version='36'
|
api_version='36'
|
||||||
api_versionstring='5.36.0'
|
api_versionstring='5.36.0'
|
||||||
ar='ar'
|
ar='ar'
|
||||||
archlib='/sys/lib/perl5/5.36.0/386'
|
archlib='/sys/lib/perl5/5.36.1/386'
|
||||||
archlibexp='/sys/lib/perl5/5.36.0/386'
|
archlibexp='/sys/lib/perl5/5.36.1/386'
|
||||||
archname64=''
|
archname64=''
|
||||||
archname='386'
|
archname='386'
|
||||||
archobjs=''
|
archobjs=''
|
||||||
|
@ -825,17 +825,17 @@ inc_version_list=' '
|
||||||
inc_version_list_init='0'
|
inc_version_list_init='0'
|
||||||
incpath=''
|
incpath=''
|
||||||
inews=''
|
inews=''
|
||||||
installarchlib='/sys/lib/perl/5.36.0/386'
|
installarchlib='/sys/lib/perl/5.36.1/386'
|
||||||
installbin='/usr/bin'
|
installbin='/usr/bin'
|
||||||
installman1dir='/sys/man/1pub'
|
installman1dir='/sys/man/1pub'
|
||||||
installman3dir='/sys/man/2pub'
|
installman3dir='/sys/man/2pub'
|
||||||
installprefix='/usr'
|
installprefix='/usr'
|
||||||
installprefixexp='/usr'
|
installprefixexp='/usr'
|
||||||
installprivlib='/sys/lib/perl/5.36.0'
|
installprivlib='/sys/lib/perl/5.36.1'
|
||||||
installscript='/usr/bin'
|
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'
|
installsitebin='/usr/bin'
|
||||||
installsitelib='/sys/lib/perl/5.36.0/site_perl'
|
installsitelib='/sys/lib/perl/5.36.1/site_perl'
|
||||||
installstyle='lib/perl5'
|
installstyle='lib/perl5'
|
||||||
installusrbinperl='undef'
|
installusrbinperl='undef'
|
||||||
installvendorarch=''
|
installvendorarch=''
|
||||||
|
@ -961,8 +961,8 @@ pmake=''
|
||||||
pr=''
|
pr=''
|
||||||
prefix='/usr'
|
prefix='/usr'
|
||||||
prefixexp='/usr'
|
prefixexp='/usr'
|
||||||
privlib='/sys/lib/perl/5.36.0'
|
privlib='/sys/lib/perl/5.36.1'
|
||||||
privlibexp='/sys/lib/perl/5.36.0'
|
privlibexp='/sys/lib/perl/5.36.1'
|
||||||
procselfexe=''
|
procselfexe=''
|
||||||
prototype='define'
|
prototype='define'
|
||||||
ptrsize='4'
|
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_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'
|
sig_size='50'
|
||||||
signal_t='void'
|
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'
|
sitearchexp='/sys/lib/perl/site_perl/386'
|
||||||
sitebin='/usr/bin'
|
sitebin='/usr/bin'
|
||||||
sitebinexp='/usr/bin'
|
sitebinexp='/usr/bin'
|
||||||
sitelib='/sys/lib/perl/5.36.0/site_perl'
|
sitelib='/sys/lib/perl/5.36.1/site_perl'
|
||||||
sitelib_stem='/sys/lib/perl/5.36.0/site_perl'
|
sitelib_stem='/sys/lib/perl/5.36.1/site_perl'
|
||||||
sitelibexp='/sys/lib/perl/5.36.0/site_perl'
|
sitelibexp='/sys/lib/perl/5.36.1/site_perl'
|
||||||
siteprefix='/usr'
|
siteprefix='/usr'
|
||||||
siteprefixexp='/usr'
|
siteprefixexp='/usr'
|
||||||
sizesize='4'
|
sizesize='4'
|
||||||
|
@ -1068,7 +1068,7 @@ stdio_stream_array=''
|
||||||
strerror_r_proto='0'
|
strerror_r_proto='0'
|
||||||
strings='/sys/include/ape/string.h'
|
strings='/sys/include/ape/string.h'
|
||||||
submit=''
|
submit=''
|
||||||
subversion='0'
|
subversion='1'
|
||||||
sysman='/sys/man/1pub'
|
sysman='/sys/man/1pub'
|
||||||
tail=''
|
tail=''
|
||||||
tar=''
|
tar=''
|
||||||
|
@ -1149,8 +1149,8 @@ vendorlib_stem=''
|
||||||
vendorlibexp=''
|
vendorlibexp=''
|
||||||
vendorprefix=''
|
vendorprefix=''
|
||||||
vendorprefixexp=''
|
vendorprefixexp=''
|
||||||
version='5.36.0'
|
version='5.36.1'
|
||||||
version_patchlevel_string='version 36 subversion 0'
|
version_patchlevel_string='version 36 subversion 1'
|
||||||
versiononly='undef'
|
versiononly='undef'
|
||||||
vi=''
|
vi=''
|
||||||
xlibpth=''
|
xlibpth=''
|
||||||
|
@ -1165,7 +1165,7 @@ config_args=''
|
||||||
config_argc=0
|
config_argc=0
|
||||||
PERL_REVISION=5
|
PERL_REVISION=5
|
||||||
PERL_VERSION=36
|
PERL_VERSION=36
|
||||||
PERL_SUBVERSION=0
|
PERL_SUBVERSION=1
|
||||||
PERL_API_REVISION=5
|
PERL_API_REVISION=5
|
||||||
PERL_API_VERSION=36
|
PERL_API_VERSION=36
|
||||||
PERL_API_SUBVERSION=0
|
PERL_API_SUBVERSION=0
|
||||||
|
|
|
@ -179,6 +179,7 @@ aux h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp
|
||||||
|
|
||||||
perlhist Perl history records
|
perlhist Perl history records
|
||||||
perldelta Perl changes since previous version
|
perldelta Perl changes since previous version
|
||||||
|
perl5360delta Perl changes in version 5.36.0
|
||||||
perl5341delta Perl changes in version 5.34.1
|
perl5341delta Perl changes in version 5.34.1
|
||||||
perl5340delta Perl changes in version 5.34.0
|
perl5340delta Perl changes in version 5.34.0
|
||||||
perl5321delta Perl changes in version 5.32.1
|
perl5321delta Perl changes in version 5.32.1
|
||||||
|
|
1587
gnu/usr.bin/perl/pod/perl5360delta.pod
Normal file
1587
gnu/usr.bin/perl/pod/perl5360delta.pod
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -184,7 +184,7 @@ L<[perl #19764]|https://github.com/Perl/perl5/issues/19764>.
|
||||||
|
|
||||||
Introduced in Perl 5.36.0
|
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
|
This feature adds a new kind of block, a C<defer> block, which will not be
|
||||||
executed until the containing block is being exited.
|
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
|
Introduced in Perl 5.36.0
|
||||||
|
|
||||||
Using this feature triggers warnings in the category
|
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
|
This feature allows for many non-ASCII pairs of mirroring delimiters, for
|
||||||
example:
|
example:
|
||||||
|
|
|
@ -35,7 +35,7 @@ Little, Dave Rolsky, Max Maischein, Abigail, Jesse Luehrs, Tony Cook,
|
||||||
Dominic Hargreaves, Aaron Crane, Aristotle Pagaltzis, Matthew Horsfall,
|
Dominic Hargreaves, Aaron Crane, Aristotle Pagaltzis, Matthew Horsfall,
|
||||||
Peter Martini, Sawyer X, Chad 'Exodist' Granum, Renee Bäcker, Eric Herman,
|
Peter Martini, Sawyer X, Chad 'Exodist' Granum, Renee Bäcker, Eric Herman,
|
||||||
John SJ Anderson, Karen Etheridge, Zak B. Elep, Tom Hukins, Richard Leach,
|
John SJ Anderson, Karen Etheridge, Zak B. Elep, Tom Hukins, Richard Leach,
|
||||||
and Neil Bowers.
|
Neil Bowers and Yves Orton.
|
||||||
|
|
||||||
=head2 PUMPKIN?
|
=head2 PUMPKIN?
|
||||||
|
|
||||||
|
@ -734,6 +734,23 @@ the strings?).
|
||||||
Ricardo 5.36.0-RC2 2022-May-20
|
Ricardo 5.36.0-RC2 2022-May-20
|
||||||
Ricardo 5.36.0-RC3 2022-May-22
|
Ricardo 5.36.0-RC3 2022-May-22
|
||||||
Ricardo 5.36.0 2022-May-27
|
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
|
=head2 SELECTED RELEASE SIZES
|
||||||
|
|
||||||
|
|
|
@ -653,15 +653,15 @@ PP(pp_formline)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
if (size == fieldsize)
|
||||||
|
break;
|
||||||
if (strchr(PL_chopset, *s)) {
|
if (strchr(PL_chopset, *s)) {
|
||||||
/* provisional split point */
|
/* provisional split point */
|
||||||
/* for a non-space split char, we include
|
/* for a non-space split char, we include
|
||||||
* the split char; hence the '+1' */
|
* the split char; hence the '+1' */
|
||||||
chophere = s + 1;
|
chophere = s + 1;
|
||||||
itemsize = size;
|
itemsize = size + 1;
|
||||||
}
|
}
|
||||||
if (size == fieldsize)
|
|
||||||
break;
|
|
||||||
if (!isCNTRL(*s))
|
if (!isCNTRL(*s))
|
||||||
gotsome = TRUE;
|
gotsome = TRUE;
|
||||||
}
|
}
|
||||||
|
@ -3347,11 +3347,16 @@ S_docatch(pTHX_ Perl_ppaddr_t firstpp)
|
||||||
case 0:
|
case 0:
|
||||||
PL_op = firstpp(aTHX);
|
PL_op = firstpp(aTHX);
|
||||||
redo_body:
|
redo_body:
|
||||||
CALLRUNOPS(aTHX);
|
if (PL_op) {
|
||||||
|
CALLRUNOPS(aTHX);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
/* die caught by an inner eval - continue inner loop */
|
if (PL_restartjmpenv == PL_top_env) {
|
||||||
if (PL_restartop && PL_restartjmpenv == PL_top_env) {
|
/* die caught by an inner eval - continue inner loop */
|
||||||
|
|
||||||
|
if (!PL_restartop)
|
||||||
|
break;
|
||||||
PL_restartjmpenv = NULL;
|
PL_restartjmpenv = NULL;
|
||||||
PL_op = PL_restartop;
|
PL_op = PL_restartop;
|
||||||
PL_restartop = 0;
|
PL_restartop = 0;
|
||||||
|
|
|
@ -861,7 +861,7 @@ PP(pp_multiconcat)
|
||||||
/* Note that we iterate the loop nargs+1 times: to append nargs
|
/* Note that we iterate the loop nargs+1 times: to append nargs
|
||||||
* arguments and nargs+1 constant strings. For example, "-$a-$b-"
|
* arguments and nargs+1 constant strings. For example, "-$a-$b-"
|
||||||
*/
|
*/
|
||||||
svpv_p = svpv_base - 1;
|
svpv_p = svpv_base;
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
SSize_t len = (const_lens++)->ssize;
|
SSize_t len = (const_lens++)->ssize;
|
||||||
|
@ -873,7 +873,7 @@ PP(pp_multiconcat)
|
||||||
const_pv += len;
|
const_pv += len;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (++svpv_p == svpv_end)
|
if (svpv_p == svpv_end)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* append next arg */
|
/* append next arg */
|
||||||
|
@ -901,6 +901,7 @@ PP(pp_multiconcat)
|
||||||
targ_pv += len;
|
targ_pv += len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
++svpv_p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5709,54 +5709,40 @@ STATIC SSize_t S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const c
|
||||||
#endif
|
#endif
|
||||||
#if defined(PERL_IN_PP_SORT_C)
|
#if defined(PERL_IN_PP_SORT_C)
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2)
|
PERL_STATIC_INLINE I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_AMAGIC_CMP \
|
#define PERL_ARGS_ASSERT_AMAGIC_CMP \
|
||||||
assert(str1); assert(str2)
|
assert(str1); assert(str2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2)
|
PERL_STATIC_INLINE I32 S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_AMAGIC_CMP_DESC \
|
#define PERL_ARGS_ASSERT_AMAGIC_CMP_DESC \
|
||||||
assert(str1); assert(str2)
|
assert(str1); assert(str2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
|
PERL_STATIC_INLINE I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_AMAGIC_I_NCMP \
|
#define PERL_ARGS_ASSERT_AMAGIC_I_NCMP \
|
||||||
assert(a); assert(b)
|
assert(a); assert(b)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b)
|
PERL_STATIC_INLINE I32 S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_AMAGIC_I_NCMP_DESC \
|
#define PERL_ARGS_ASSERT_AMAGIC_I_NCMP_DESC \
|
||||||
assert(a); assert(b)
|
assert(a); assert(b)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b)
|
PERL_STATIC_INLINE I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_AMAGIC_NCMP \
|
#define PERL_ARGS_ASSERT_AMAGIC_NCMP \
|
||||||
assert(a); assert(b)
|
assert(a); assert(b)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b)
|
PERL_STATIC_INLINE I32 S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_AMAGIC_NCMP_DESC \
|
#define PERL_ARGS_ASSERT_AMAGIC_NCMP_DESC \
|
||||||
assert(a); assert(b)
|
assert(a); assert(b)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_cmp_desc(pTHX_ SV *const str1, SV *const str2)
|
PERL_STATIC_INLINE I32 S_cmp_desc(pTHX_ SV *const str1, SV *const str2);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_CMP_DESC \
|
#define PERL_ARGS_ASSERT_CMP_DESC \
|
||||||
assert(str1); assert(str2)
|
assert(str1); assert(str2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
STATIC I32 S_sortcv(pTHX_ SV *const a, SV *const b);
|
STATIC I32 S_sortcv(pTHX_ SV *const a, SV *const b);
|
||||||
#define PERL_ARGS_ASSERT_SORTCV \
|
#define PERL_ARGS_ASSERT_SORTCV \
|
||||||
assert(a); assert(b)
|
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
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b)
|
PERL_STATIC_INLINE I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_SV_I_NCMP \
|
#define PERL_ARGS_ASSERT_SV_I_NCMP \
|
||||||
assert(a); assert(b)
|
assert(a); assert(b)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b)
|
PERL_STATIC_INLINE I32 S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_SV_I_NCMP_DESC \
|
#define PERL_ARGS_ASSERT_SV_I_NCMP_DESC \
|
||||||
assert(a); assert(b)
|
assert(a); assert(b)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b)
|
PERL_STATIC_INLINE I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_SV_NCMP \
|
#define PERL_ARGS_ASSERT_SV_NCMP \
|
||||||
assert(a); assert(b)
|
assert(a); assert(b)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b)
|
PERL_STATIC_INLINE I32 S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_SV_NCMP_DESC \
|
#define PERL_ARGS_ASSERT_SV_NCMP_DESC \
|
||||||
assert(a); assert(b)
|
assert(a); assert(b)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# if defined(USE_LOCALE_COLLATE)
|
# if defined(USE_LOCALE_COLLATE)
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2)
|
PERL_STATIC_INLINE I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE \
|
#define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE \
|
||||||
assert(str1); assert(str2)
|
assert(str1); assert(str2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2)
|
PERL_STATIC_INLINE I32 S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE_DESC \
|
#define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE_DESC \
|
||||||
assert(str1); assert(str2)
|
assert(str1); assert(str2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||||
PERL_STATIC_FORCE_INLINE I32 S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2)
|
PERL_STATIC_INLINE I32 S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2);
|
||||||
__attribute__always_inline__;
|
|
||||||
#define PERL_ARGS_ASSERT_CMP_LOCALE_DESC \
|
#define PERL_ARGS_ASSERT_CMP_LOCALE_DESC \
|
||||||
assert(str1); assert(str2)
|
assert(str1); assert(str2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#if defined(PERL_IN_PP_SYS_C)
|
#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);
|
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 \
|
#define PERL_ARGS_ASSERT_MEM_LOG_ALLOC \
|
||||||
assert(type_name); assert(filename); assert(funcname)
|
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);
|
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 \
|
#define PERL_ARGS_ASSERT_MEM_LOG_FREE \
|
||||||
assert(filename); assert(funcname)
|
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);
|
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 \
|
#define PERL_ARGS_ASSERT_MEM_LOG_REALLOC \
|
||||||
assert(type_name); assert(filename); assert(funcname)
|
assert(type_name); assert(filename); assert(funcname)
|
||||||
|
|
|
@ -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 */
|
/* Rest of work is done else where */
|
||||||
mg = sv_magicext(sv,obj,how,vtable,name,namlen);
|
mg = sv_magicext(sv,obj,how,vtable,name,namlen);
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ BEGIN {
|
||||||
|
|
||||||
$|=0; # test.pl makes it 1, and that conflicts with the below.
|
$|=0; # test.pl makes it 1, and that conflicts with the below.
|
||||||
|
|
||||||
plan tests => 16;
|
plan tests => 22;
|
||||||
|
|
||||||
|
|
||||||
my $stdout = *STDOUT;
|
my $stdout = *STDOUT;
|
||||||
|
@ -48,6 +48,20 @@ $- = 1; pass '$- = 1';
|
||||||
$% = 1; pass '$% = 1';
|
$% = 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
|
# Switch to STDERR for this test, so we do not lose our test output
|
||||||
my $stderr = *STDERR;
|
my $stderr = *STDERR;
|
||||||
select($stderr);
|
select($stderr);
|
||||||
|
|
|
@ -7,7 +7,7 @@ BEGIN {
|
||||||
*bar::is = *is;
|
*bar::is = *is;
|
||||||
*bar::like = *like;
|
*bar::like = *like;
|
||||||
}
|
}
|
||||||
plan 150;
|
plan 151;
|
||||||
|
|
||||||
# -------------------- our -------------------- #
|
# -------------------- our -------------------- #
|
||||||
|
|
||||||
|
@ -960,3 +960,14 @@ like runperl(
|
||||||
|
|
||||||
is join("-", qw(aa bb), do { my sub lleexx; 123 }, qw(cc dd)),
|
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]';
|
"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();
|
||||||
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ BEGIN {
|
||||||
use strict;
|
use strict;
|
||||||
no warnings 'once';
|
no warnings 'once';
|
||||||
|
|
||||||
plan(tests => 162);
|
plan(tests => 163);
|
||||||
|
|
||||||
{
|
{
|
||||||
# RT #126042 &{1==1} * &{1==1} would crash
|
# RT #126042 &{1==1} * &{1==1} would crash
|
||||||
|
@ -715,6 +715,32 @@ SKIP: {
|
||||||
like ($@, qr/Modification of a read-only value attempted/, 'RT #123619');
|
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
|
# RT#130496: assertion failure when looking for a method of undefined name
|
||||||
# on an unblessed reference
|
# on an unblessed reference
|
||||||
fresh_perl_is('eval { {}->$x }; print $@;',
|
fresh_perl_is('eval { {}->$x }; print $@;',
|
||||||
|
|
|
@ -25,7 +25,7 @@ if ($NoTaintSupport) {
|
||||||
exit 0;
|
exit 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
plan tests => 1054;
|
plan tests => 1058;
|
||||||
|
|
||||||
$| = 1;
|
$| = 1;
|
||||||
|
|
||||||
|
@ -2956,6 +2956,18 @@ is_tainted("$ovtaint", "overload preserves taint");
|
||||||
taint_sig3($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
|
# This may bomb out with the alarm signal so keep it last
|
||||||
SKIP: {
|
SKIP: {
|
||||||
|
|
|
@ -33,6 +33,18 @@ sub cat_utf8 {
|
||||||
$data;
|
$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
|
# write a format to a utf8 file, then read it back in and compare
|
||||||
|
|
||||||
sub is_format_utf8 {
|
sub is_format_utf8 {
|
||||||
|
@ -100,7 +112,8 @@ for my $tref ( @NumTests ){
|
||||||
my $bas_tests = 21;
|
my $bas_tests = 21;
|
||||||
|
|
||||||
# number of tests in section 3
|
# 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
|
# number of tests in section 4
|
||||||
my $hmb_tests = 37;
|
my $hmb_tests = 37;
|
||||||
|
@ -1360,6 +1373,47 @@ $v28f
|
||||||
|
|
||||||
like_format_utf8(\*OUT28f, $qr_hash_m);
|
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");
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,6 +30,10 @@ if ( $^O eq "vos" ) {
|
||||||
skip_all( "VOS combines the read and execute permission bits." );
|
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} ) {
|
if ( $Config{usecrosscompile} ) {
|
||||||
skip_all( "Not all files are available during cross-compilation" );
|
skip_all( "Not all files are available during cross-compilation" );
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ BEGIN {
|
||||||
|
|
||||||
our @global;
|
our @global;
|
||||||
|
|
||||||
plan tests => 506; # Update this when adding/deleting tests.
|
plan tests => 508; # Update this when adding/deleting tests.
|
||||||
|
|
||||||
run_tests() unless caller;
|
run_tests() unless caller;
|
||||||
|
|
||||||
|
@ -1332,6 +1332,21 @@ sub run_tests {
|
||||||
pass("SvTEMP 2");
|
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
|
} # End of sub run_tests
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
|
@ -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_FMT "%10d.%06d: "
|
||||||
# define MEM_LOG_TIME_ARG (int)tv.tv_sec, (int)tv.tv_usec
|
# define MEM_LOG_TIME_ARG (int)tv.tv_sec, (int)tv.tv_usec
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
gettimeofday(&tv, 0);
|
PerlProc_gettimeofday(&tv, 0);
|
||||||
# else
|
# else
|
||||||
# define MEM_LOG_TIME_FMT "%10d: "
|
# define MEM_LOG_TIME_FMT "%10d: "
|
||||||
# define MEM_LOG_TIME_ARG (int)when
|
# define MEM_LOG_TIME_ARG (int)when
|
||||||
|
@ -5385,6 +5385,8 @@ Perl_mem_log_new_sv(const SV *sv,
|
||||||
const char *filename, const int linenumber,
|
const char *filename, const int linenumber,
|
||||||
const char *funcname)
|
const char *funcname)
|
||||||
{
|
{
|
||||||
|
PERL_ARGS_ASSERT_MEM_LOG_NEW_SV;
|
||||||
|
|
||||||
mem_log_common_if(MLT_NEW_SV, 0, 0, "", sv, NULL, NULL,
|
mem_log_common_if(MLT_NEW_SV, 0, 0, "", sv, NULL, NULL,
|
||||||
filename, linenumber, funcname);
|
filename, linenumber, funcname);
|
||||||
}
|
}
|
||||||
|
@ -5394,6 +5396,8 @@ Perl_mem_log_del_sv(const SV *sv,
|
||||||
const char *filename, const int linenumber,
|
const char *filename, const int linenumber,
|
||||||
const char *funcname)
|
const char *funcname)
|
||||||
{
|
{
|
||||||
|
PERL_ARGS_ASSERT_MEM_LOG_DEL_SV;
|
||||||
|
|
||||||
mem_log_common_if(MLT_DEL_SV, 0, 0, "", sv, NULL, NULL,
|
mem_log_common_if(MLT_DEL_SV, 0, 0, "", sv, NULL, NULL,
|
||||||
filename, linenumber, funcname);
|
filename, linenumber, funcname);
|
||||||
}
|
}
|
||||||
|
|
|
@ -313,7 +313,7 @@ utils : $(utils1) $(utils2) $(utils3) $(utils4) $(utils5)
|
||||||
extra.pods : miniperl
|
extra.pods : miniperl
|
||||||
@ @extra_pods.com
|
@ @extra_pods.com
|
||||||
|
|
||||||
PERLDELTA_CURRENT = [.pod]perl5360delta.pod
|
PERLDELTA_CURRENT = [.pod]perl5361delta.pod
|
||||||
|
|
||||||
$(PERLDELTA_CURRENT) : [.pod]perldelta.pod
|
$(PERLDELTA_CURRENT) : [.pod]perldelta.pod
|
||||||
Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT)
|
Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT)
|
||||||
|
|
|
@ -63,7 +63,7 @@ INST_TOP := $(INST_DRV)\perl
|
||||||
# versioned installation can be obtained by setting INST_TOP above to a
|
# versioned installation can be obtained by setting INST_TOP above to a
|
||||||
# path that includes an arbitrary version string.
|
# 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
|
# 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.tw ..\pod\perltw.pod
|
||||||
copy ..\README.vos ..\pod\perlvos.pod
|
copy ..\README.vos ..\pod\perlvos.pod
|
||||||
copy ..\README.win32 ..\pod\perlwin32.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 $(PL2BAT) $(UTILS)
|
||||||
$(MINIPERL) -I..\lib ..\autodoc.pl ..
|
$(MINIPERL) -I..\lib ..\autodoc.pl ..
|
||||||
$(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
|
$(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)\Win32API rmdir /s /q $(LIBDIR)\Win32API
|
||||||
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
|
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
|
||||||
-cd $(PODDIR) && del /f *.html *.bat roffitall \
|
-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 \
|
perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \
|
||||||
perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \
|
perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \
|
||||||
perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \
|
perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \
|
||||||
|
|
|
@ -37,7 +37,7 @@ INST_TOP = $(INST_DRV)\perl
|
||||||
# versioned installation can be obtained by setting INST_TOP above to a
|
# versioned installation can be obtained by setting INST_TOP above to a
|
||||||
# path that includes an arbitrary version string.
|
# 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
|
# 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.tw ..\pod\perltw.pod
|
||||||
copy ..\README.vos ..\pod\perlvos.pod
|
copy ..\README.vos ..\pod\perlvos.pod
|
||||||
copy ..\README.win32 ..\pod\perlwin32.pod
|
copy ..\README.win32 ..\pod\perlwin32.pod
|
||||||
copy ..\pod\perldelta.pod ..\pod\perl5360delta.pod
|
copy ..\pod\perldelta.pod ..\pod\perl5361delta.pod
|
||||||
cd ..\win32
|
cd ..\win32
|
||||||
$(PERLEXE) $(PL2BAT) $(UTILS)
|
$(PERLEXE) $(PL2BAT) $(UTILS)
|
||||||
$(MINIPERL) -I..\lib ..\autodoc.pl ..
|
$(MINIPERL) -I..\lib ..\autodoc.pl ..
|
||||||
|
@ -1257,7 +1257,7 @@ distclean: realclean
|
||||||
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
|
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
|
||||||
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
|
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
|
||||||
-cd $(PODDIR) && del /f *.html *.bat roffitall \
|
-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 \
|
perlapi.pod perlbs2000.pod perlcn.pod perlcygwin.pod \
|
||||||
perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \
|
perlfreebsd.pod perlhaiku.pod perlhpux.pod perlhurd.pod \
|
||||||
perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \
|
perlintern.pod perlirix.pod perljp.pod perlko.pod perllinux.pod \
|
||||||
|
|
|
@ -67,6 +67,7 @@ POD = perl.pod \
|
||||||
perl5340delta.pod \
|
perl5340delta.pod \
|
||||||
perl5341delta.pod \
|
perl5341delta.pod \
|
||||||
perl5360delta.pod \
|
perl5360delta.pod \
|
||||||
|
perl5361delta.pod \
|
||||||
perl561delta.pod \
|
perl561delta.pod \
|
||||||
perl56delta.pod \
|
perl56delta.pod \
|
||||||
perl581delta.pod \
|
perl581delta.pod \
|
||||||
|
@ -232,6 +233,7 @@ MAN = perl.man \
|
||||||
perl5340delta.man \
|
perl5340delta.man \
|
||||||
perl5341delta.man \
|
perl5341delta.man \
|
||||||
perl5360delta.man \
|
perl5360delta.man \
|
||||||
|
perl5361delta.man \
|
||||||
perl561delta.man \
|
perl561delta.man \
|
||||||
perl56delta.man \
|
perl56delta.man \
|
||||||
perl581delta.man \
|
perl581delta.man \
|
||||||
|
@ -397,6 +399,7 @@ HTML = perl.html \
|
||||||
perl5340delta.html \
|
perl5340delta.html \
|
||||||
perl5341delta.html \
|
perl5341delta.html \
|
||||||
perl5360delta.html \
|
perl5360delta.html \
|
||||||
|
perl5361delta.html \
|
||||||
perl561delta.html \
|
perl561delta.html \
|
||||||
perl56delta.html \
|
perl56delta.html \
|
||||||
perl581delta.html \
|
perl581delta.html \
|
||||||
|
@ -562,6 +565,7 @@ TEX = perl.tex \
|
||||||
perl5340delta.tex \
|
perl5340delta.tex \
|
||||||
perl5341delta.tex \
|
perl5341delta.tex \
|
||||||
perl5360delta.tex \
|
perl5360delta.tex \
|
||||||
|
perl5361delta.tex \
|
||||||
perl561delta.tex \
|
perl561delta.tex \
|
||||||
perl56delta.tex \
|
perl56delta.tex \
|
||||||
perl581delta.tex \
|
perl581delta.tex \
|
||||||
|
|
|
@ -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
|
LIB= crypto
|
||||||
LIBREBUILD=y
|
LIBREBUILD=y
|
||||||
|
@ -879,11 +879,16 @@ obj_dat.h: obj_mac.h ${SSL_OBJECTS}/obj_dat.pl
|
||||||
.include "${.CURDIR}/arch/${MACHINE_CPU}/Makefile.inc"
|
.include "${.CURDIR}/arch/${MACHINE_CPU}/Makefile.inc"
|
||||||
.else
|
.else
|
||||||
CFLAGS+=-DOPENSSL_NO_ASM
|
CFLAGS+=-DOPENSSL_NO_ASM
|
||||||
SRCS+= aes_core.c aes_cbc.c
|
SRCS+= aes_core.c
|
||||||
|
SRCS+= aes_cbc.c
|
||||||
SRCS+= bf_enc.c
|
SRCS+= bf_enc.c
|
||||||
SRCS+= camellia.c cmll_cbc.c cmll_misc.c
|
SRCS+= camellia.c
|
||||||
SRCS+= des_enc.c fcrypt_b.c
|
SRCS+= cmll_cbc.c
|
||||||
SRCS+= rc4_enc.c rc4_skey.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
|
SRCS+= wp_block.c
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
26
lib/libcrypto/arch/riscv64/Makefile.inc
Normal file
26
lib/libcrypto/arch/riscv64/Makefile.inc
Normal 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
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
@ -123,7 +123,6 @@ d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
|
||||||
EVP_PKEY_free(ret);
|
EVP_PKEY_free(ret);
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_PrivateKey);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp)
|
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);
|
ASN1error(ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_PrivateKey);
|
|
||||||
|
|
||||||
/* This works like d2i_PrivateKey() except it automatically works out the type */
|
/* 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);
|
sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free);
|
||||||
return d2i_PrivateKey(keytype, a, pp, length);
|
return d2i_PrivateKey(keytype, a, pp, length);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_AutoPrivateKey);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
@ -136,7 +136,6 @@ d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
|
||||||
EVP_PKEY_free(ret);
|
EVP_PKEY_free(ret);
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_PublicKey);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_PublicKey(EVP_PKEY *a, unsigned char **pp)
|
i2d_PublicKey(EVP_PKEY *a, unsigned char **pp)
|
||||||
|
@ -159,4 +158,3 @@ i2d_PublicKey(EVP_PKEY *a, unsigned char **pp)
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_PublicKey);
|
|
||||||
|
|
|
@ -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
|
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
||||||
* project 2000.
|
* 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 X509_NAME_print(out, nm, indent);
|
||||||
return do_name_ex(send_bio_chars, out, nm, indent, flags);
|
return do_name_ex(send_bio_chars, out, nm, indent, flags);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_NAME_print_ex);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,
|
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);
|
return do_name_ex(send_fp_chars, fp, nm, indent, flags);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_NAME_print_ex_fp);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags)
|
ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags)
|
||||||
|
|
|
@ -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>
|
* Copyright (c) 2015 Bob Beck <beck@openbsd.org>
|
||||||
*
|
*
|
||||||
|
@ -77,7 +77,6 @@ ASN1_time_tm_clamp_notafter(struct tm *tm)
|
||||||
#endif
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(ASN1_time_tm_clamp_notafter);
|
|
||||||
|
|
||||||
/* Convert time to GeneralizedTime, X.690, 11.7. */
|
/* Convert time to GeneralizedTime, X.690, 11.7. */
|
||||||
ASN1_TIME *
|
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 ASN1_TIME_cmp_time_t_internal(s, t, V_ASN1_UTCTIME);
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(ASN1_UTCTIME_cmp_time_t);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ASN1_GENERALIZEDTIME wrappers
|
* ASN1_GENERALIZEDTIME wrappers
|
||||||
|
|
|
@ -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
|
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
||||||
* project 2006.
|
* project 2006.
|
||||||
*/
|
*/
|
||||||
|
@ -120,7 +120,6 @@ EVP_PKEY_asn1_get_count(void)
|
||||||
|
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_get_count);
|
|
||||||
|
|
||||||
const EVP_PKEY_ASN1_METHOD *
|
const EVP_PKEY_ASN1_METHOD *
|
||||||
EVP_PKEY_asn1_get0(int idx)
|
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);
|
return sk_EVP_PKEY_ASN1_METHOD_value(asn1_app_methods, idx);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_get0);
|
|
||||||
|
|
||||||
static const EVP_PKEY_ASN1_METHOD *
|
static const EVP_PKEY_ASN1_METHOD *
|
||||||
pkey_asn1_find(int pkey_id)
|
pkey_asn1_find(int pkey_id)
|
||||||
|
@ -185,7 +183,6 @@ EVP_PKEY_asn1_find(ENGINE **pe, int type)
|
||||||
}
|
}
|
||||||
return mp;
|
return mp;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_find);
|
|
||||||
|
|
||||||
const EVP_PKEY_ASN1_METHOD *
|
const EVP_PKEY_ASN1_METHOD *
|
||||||
EVP_PKEY_asn1_find_str(ENGINE **pe, const char *str, int len)
|
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;
|
return NULL;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_find_str);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth)
|
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;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_add0);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
EVP_PKEY_asn1_add_alias(int to, int from)
|
EVP_PKEY_asn1_add_alias(int to, int from)
|
||||||
|
@ -256,7 +251,6 @@ EVP_PKEY_asn1_add_alias(int to, int from)
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_add_alias);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id, int *ppkey_flags,
|
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;
|
*ppem_str = ameth->pem_str;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_get0_info);
|
|
||||||
|
|
||||||
const EVP_PKEY_ASN1_METHOD*
|
const EVP_PKEY_ASN1_METHOD*
|
||||||
EVP_PKEY_get0_asn1(const EVP_PKEY *pkey)
|
EVP_PKEY_get0_asn1(const EVP_PKEY *pkey)
|
||||||
{
|
{
|
||||||
return pkey->ameth;
|
return pkey->ameth;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_get0_asn1);
|
|
||||||
|
|
||||||
EVP_PKEY_ASN1_METHOD*
|
EVP_PKEY_ASN1_METHOD*
|
||||||
EVP_PKEY_asn1_new(int id, int flags, const char *pem_str, const char *info)
|
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);
|
EVP_PKEY_asn1_free(ameth);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src)
|
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->pem_str = preserve.pem_str;
|
||||||
dst->info = preserve.info;
|
dst->info = preserve.info;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_copy);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth)
|
EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth)
|
||||||
|
@ -346,7 +336,6 @@ EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth)
|
||||||
free(ameth);
|
free(ameth);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_free);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,
|
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_size = pkey_size;
|
||||||
ameth->pkey_bits = pkey_bits;
|
ameth->pkey_bits = pkey_bits;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_public);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth,
|
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_encode = priv_encode;
|
||||||
ameth->priv_print = priv_print;
|
ameth->priv_print = priv_print;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_private);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth,
|
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_cmp = param_cmp;
|
||||||
ameth->param_print = param_print;
|
ameth->param_print = param_print;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_param);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth,
|
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;
|
ameth->pkey_free = pkey_free;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_free);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth,
|
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;
|
ameth->pkey_ctrl = pkey_ctrl;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_ctrl);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,
|
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;
|
ameth->pkey_security_bits = pkey_security_bits;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_security_bits);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth,
|
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;
|
ameth->pkey_check = pkey_check;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_check);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth,
|
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;
|
ameth->pkey_public_check = pkey_public_check;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_public_check);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth,
|
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;
|
ameth->pkey_param_check = pkey_param_check;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(EVP_PKEY_asn1_set_param_check);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
@ -138,7 +138,6 @@ ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *asn,
|
||||||
free(str);
|
free(str);
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(ASN1_item_digest);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ASN1_ITEM version of ASN1_dup(): follows the same model except there's no
|
* 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);
|
return ASN1_item_sign_ctx(it, algor1, algor2, signature, asn, &ctx);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(ASN1_item_sign);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
|
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;
|
return ret;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(ASN1_item_sign_ctx);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
|
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;
|
return ret;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(ASN1_item_verify);
|
|
||||||
|
|
||||||
#define HEADER_SIZE 8
|
#define HEADER_SIZE 8
|
||||||
#define ASN1_CHUNK_INITIAL_SIZE (16 * 1024)
|
#define ASN1_CHUNK_INITIAL_SIZE (16 * 1024)
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
@ -91,7 +91,6 @@ ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x)
|
||||||
free(b);
|
free(b);
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(ASN1_dup);
|
|
||||||
|
|
||||||
void *
|
void *
|
||||||
ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x)
|
ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x)
|
||||||
|
|
|
@ -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
|
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
||||||
* project 1999.
|
* 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,
|
return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&PBEPARAM_it);
|
&PBEPARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_PBEPARAM);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_PBEPARAM(PBEPARAM *a, unsigned char **out)
|
i2d_PBEPARAM(PBEPARAM *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_PBEPARAM);
|
|
||||||
|
|
||||||
PBEPARAM *
|
PBEPARAM *
|
||||||
PBEPARAM_new(void)
|
PBEPARAM_new(void)
|
||||||
{
|
{
|
||||||
return (PBEPARAM *)ASN1_item_new(&PBEPARAM_it);
|
return (PBEPARAM *)ASN1_item_new(&PBEPARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PBEPARAM_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
PBEPARAM_free(PBEPARAM *a)
|
PBEPARAM_free(PBEPARAM *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &PBEPARAM_it);
|
ASN1_item_free((ASN1_VALUE *)a, &PBEPARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PBEPARAM_free);
|
|
||||||
|
|
||||||
|
|
||||||
/* Set an algorithm identifier for a PKCS#5 PBE algorithm */
|
/* 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);
|
ASN1_STRING_free(pbe_str);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PKCS5_pbe_set0_algor);
|
|
||||||
|
|
||||||
/* Return an algorithm identifier for a PKCS#5 PBE algorithm */
|
/* 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);
|
X509_ALGOR_free(ret);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PKCS5_pbe_set);
|
|
||||||
|
|
|
@ -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
|
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
||||||
* project 1999-2004.
|
* 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,
|
return (PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&PBE2PARAM_it);
|
&PBE2PARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_PBE2PARAM);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out)
|
i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBE2PARAM_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBE2PARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_PBE2PARAM);
|
|
||||||
|
|
||||||
PBE2PARAM *
|
PBE2PARAM *
|
||||||
PBE2PARAM_new(void)
|
PBE2PARAM_new(void)
|
||||||
{
|
{
|
||||||
return (PBE2PARAM *)ASN1_item_new(&PBE2PARAM_it);
|
return (PBE2PARAM *)ASN1_item_new(&PBE2PARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PBE2PARAM_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
PBE2PARAM_free(PBE2PARAM *a)
|
PBE2PARAM_free(PBE2PARAM *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &PBE2PARAM_it);
|
ASN1_item_free((ASN1_VALUE *)a, &PBE2PARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PBE2PARAM_free);
|
|
||||||
|
|
||||||
static const ASN1_TEMPLATE PBKDF2PARAM_seq_tt[] = {
|
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,
|
return (PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&PBKDF2PARAM_it);
|
&PBKDF2PARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_PBKDF2PARAM);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out)
|
i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBKDF2PARAM_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBKDF2PARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_PBKDF2PARAM);
|
|
||||||
|
|
||||||
PBKDF2PARAM *
|
PBKDF2PARAM *
|
||||||
PBKDF2PARAM_new(void)
|
PBKDF2PARAM_new(void)
|
||||||
{
|
{
|
||||||
return (PBKDF2PARAM *)ASN1_item_new(&PBKDF2PARAM_it);
|
return (PBKDF2PARAM *)ASN1_item_new(&PBKDF2PARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PBKDF2PARAM_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
PBKDF2PARAM_free(PBKDF2PARAM *a)
|
PBKDF2PARAM_free(PBKDF2PARAM *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &PBKDF2PARAM_it);
|
ASN1_item_free((ASN1_VALUE *)a, &PBKDF2PARAM_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PBKDF2PARAM_free);
|
|
||||||
|
|
||||||
/* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm:
|
/* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm:
|
||||||
* yes I know this is horrible!
|
* 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;
|
return NULL;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PKCS5_pbe2_set_iv);
|
|
||||||
|
|
||||||
X509_ALGOR *
|
X509_ALGOR *
|
||||||
PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, unsigned char *salt,
|
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);
|
return PKCS5_pbe2_set_iv(cipher, iter, salt, saltlen, NULL, -1);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PKCS5_pbe2_set);
|
|
||||||
|
|
||||||
X509_ALGOR *
|
X509_ALGOR *
|
||||||
PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, int prf_nid,
|
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);
|
X509_ALGOR_free(keyfunc);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PKCS5_pbkdf2_set);
|
|
||||||
|
|
|
@ -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
|
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
||||||
* project 1999.
|
* 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,
|
return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&PKCS8_PRIV_KEY_INFO_it);
|
&PKCS8_PRIV_KEY_INFO_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_PKCS8_PRIV_KEY_INFO);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out)
|
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);
|
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 *
|
||||||
PKCS8_PRIV_KEY_INFO_new(void)
|
PKCS8_PRIV_KEY_INFO_new(void)
|
||||||
{
|
{
|
||||||
return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it);
|
return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PKCS8_PRIV_KEY_INFO_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a)
|
PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it);
|
ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PKCS8_PRIV_KEY_INFO_free);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version,
|
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);
|
ASN1_STRING_set0(priv->pkey, penc, penclen);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PKCS8_pkey_set0);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk,
|
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;
|
*pa = p8->pkeyalg;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PKCS8_pkey_get0);
|
|
||||||
|
|
||||||
const STACK_OF(X509_ATTRIBUTE) *
|
const STACK_OF(X509_ATTRIBUTE) *
|
||||||
PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8)
|
PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8)
|
||||||
{
|
{
|
||||||
return p8->attributes;
|
return p8->attributes;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PKCS8_pkey_get0_attrs);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type,
|
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 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(PKCS8_pkey_add1_attr_by_NID);
|
|
||||||
|
|
|
@ -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
|
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
||||||
* project 1999.
|
* project 1999.
|
||||||
*/
|
*/
|
||||||
|
@ -83,7 +83,6 @@ X509_CRL_print_fp(FILE *fp, X509_CRL *x)
|
||||||
BIO_free(b);
|
BIO_free(b);
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_print_fp);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_CRL_print(BIO *out, X509_CRL *x)
|
X509_CRL_print(BIO *out, X509_CRL *x)
|
||||||
|
@ -144,4 +143,3 @@ X509_CRL_print(BIO *out, X509_CRL *x)
|
||||||
err:
|
err:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_print);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
@ -91,7 +91,6 @@ X509_REQ_print_fp(FILE *fp, X509_REQ *x)
|
||||||
BIO_free(b);
|
BIO_free(b);
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REQ_print_fp);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
|
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);
|
X509error(ERR_R_BUF_LIB);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REQ_print_ex);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_REQ_print(BIO *bp, X509_REQ *x)
|
X509_REQ_print(BIO *bp, X509_REQ *x)
|
||||||
{
|
{
|
||||||
return X509_REQ_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
|
return X509_REQ_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REQ_print);
|
|
||||||
|
|
|
@ -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
|
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
||||||
* project 1999.
|
* project 1999.
|
||||||
*/
|
*/
|
||||||
|
@ -113,4 +113,3 @@ NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki)
|
||||||
BIO_write(out, "\n", 1);
|
BIO_write(out, "\n", 1);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(NETSCAPE_SPKI_print);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* 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);
|
return X509_print_ex_fp(fp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_print_fp);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag)
|
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);
|
BIO_free(b);
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_print_ex_fp);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_print(BIO *bp, X509 *x)
|
X509_print(BIO *bp, X509 *x)
|
||||||
{
|
{
|
||||||
return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
|
return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_print);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
|
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);
|
free(m);
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_print_ex);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_ocspid_print(BIO *bp, X509 *x)
|
X509_ocspid_print(BIO *bp, X509 *x)
|
||||||
|
@ -305,7 +301,6 @@ X509_ocspid_print(BIO *bp, X509 *x)
|
||||||
free(der);
|
free(der);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_ocspid_print);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent)
|
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;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_signature_dump);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_signature_print(BIO *bp, const X509_ALGOR *sigalg, const ASN1_STRING *sig)
|
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 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_signature_print);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm)
|
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);
|
free(b);
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_NAME_print);
|
|
||||||
|
|
|
@ -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
|
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
||||||
* project 1999.
|
* project 1999.
|
||||||
*/
|
*/
|
||||||
|
@ -117,4 +117,3 @@ X509_CERT_AUX_print(BIO *out, X509_CERT_AUX *aux, int indent)
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CERT_AUX_print);
|
|
||||||
|
|
|
@ -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
|
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
||||||
* project 2000.
|
* 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,
|
return (X509_ALGOR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_ALGOR_it);
|
&X509_ALGOR_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_ALGOR);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out)
|
i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGOR_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGOR_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_ALGOR);
|
|
||||||
|
|
||||||
X509_ALGOR *
|
X509_ALGOR *
|
||||||
X509_ALGOR_new(void)
|
X509_ALGOR_new(void)
|
||||||
{
|
{
|
||||||
return (X509_ALGOR *)ASN1_item_new(&X509_ALGOR_it);
|
return (X509_ALGOR *)ASN1_item_new(&X509_ALGOR_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_ALGOR_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_ALGOR_free(X509_ALGOR *a)
|
X509_ALGOR_free(X509_ALGOR *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_ALGOR_free);
|
|
||||||
|
|
||||||
X509_ALGORS *
|
X509_ALGORS *
|
||||||
d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len)
|
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,
|
return (X509_ALGORS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_ALGORS_it);
|
&X509_ALGORS_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_ALGORS);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_ALGORS(X509_ALGORS *a, unsigned char **out)
|
i2d_X509_ALGORS(X509_ALGORS *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGORS_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGORS_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_ALGORS);
|
|
||||||
|
|
||||||
X509_ALGOR *
|
X509_ALGOR *
|
||||||
X509_ALGOR_dup(X509_ALGOR *x)
|
X509_ALGOR_dup(X509_ALGOR *x)
|
||||||
{
|
{
|
||||||
return ASN1_item_dup(&X509_ALGOR_it, x);
|
return ASN1_item_dup(&X509_ALGOR_it, x);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_ALGOR_dup);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval)
|
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);
|
ASN1_TYPE_set(alg->parameter, ptype, pval);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_ALGOR_set0);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, const void **ppval,
|
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;
|
*ppval = algor->parameter->value.ptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_ALGOR_get0);
|
|
||||||
|
|
||||||
/* Set up an X509_ALGOR DigestAlgorithmIdentifier from an EVP_MD */
|
/* 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);
|
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. */
|
/* Returns 0 if they are equal, != 0 otherwise. */
|
||||||
int
|
int
|
||||||
|
@ -228,4 +218,3 @@ X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b)
|
||||||
}
|
}
|
||||||
return(rv);
|
return(rv);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_ALGOR_cmp);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* 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,
|
return (X509_ATTRIBUTE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_ATTRIBUTE_it);
|
&X509_ATTRIBUTE_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_ATTRIBUTE);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out)
|
i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ATTRIBUTE_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ATTRIBUTE_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_ATTRIBUTE);
|
|
||||||
|
|
||||||
X509_ATTRIBUTE *
|
X509_ATTRIBUTE *
|
||||||
X509_ATTRIBUTE_new(void)
|
X509_ATTRIBUTE_new(void)
|
||||||
{
|
{
|
||||||
return (X509_ATTRIBUTE *)ASN1_item_new(&X509_ATTRIBUTE_it);
|
return (X509_ATTRIBUTE *)ASN1_item_new(&X509_ATTRIBUTE_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_ATTRIBUTE_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_ATTRIBUTE_free(X509_ATTRIBUTE *a)
|
X509_ATTRIBUTE_free(X509_ATTRIBUTE *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_ATTRIBUTE_free);
|
|
||||||
|
|
||||||
X509_ATTRIBUTE *
|
X509_ATTRIBUTE *
|
||||||
X509_ATTRIBUTE_dup(X509_ATTRIBUTE *x)
|
X509_ATTRIBUTE_dup(X509_ATTRIBUTE *x)
|
||||||
{
|
{
|
||||||
return ASN1_item_dup(&X509_ATTRIBUTE_it, x);
|
return ASN1_item_dup(&X509_ATTRIBUTE_it, x);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_ATTRIBUTE_dup);
|
|
||||||
|
|
||||||
X509_ATTRIBUTE *
|
X509_ATTRIBUTE *
|
||||||
X509_ATTRIBUTE_create(int nid, int atrtype, void *value)
|
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);
|
ASN1_TYPE_free(val);
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_ATTRIBUTE_create);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* 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,
|
return (X509_REVOKED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_REVOKED_it);
|
&X509_REVOKED_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_REVOKED);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out)
|
i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REVOKED_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REVOKED_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_REVOKED);
|
|
||||||
|
|
||||||
X509_REVOKED *
|
X509_REVOKED *
|
||||||
X509_REVOKED_new(void)
|
X509_REVOKED_new(void)
|
||||||
{
|
{
|
||||||
return (X509_REVOKED *)ASN1_item_new(&X509_REVOKED_it);
|
return (X509_REVOKED *)ASN1_item_new(&X509_REVOKED_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REVOKED_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_REVOKED_free(X509_REVOKED *a)
|
X509_REVOKED_free(X509_REVOKED *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_REVOKED_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_REVOKED_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REVOKED_free);
|
|
||||||
|
|
||||||
X509_REVOKED *
|
X509_REVOKED *
|
||||||
X509_REVOKED_dup(X509_REVOKED *a)
|
X509_REVOKED_dup(X509_REVOKED *a)
|
||||||
{
|
{
|
||||||
return ASN1_item_dup(&X509_REVOKED_it, a);
|
return ASN1_item_dup(&X509_REVOKED_it, a);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REVOKED_dup);
|
|
||||||
|
|
||||||
X509_CRL_INFO *
|
X509_CRL_INFO *
|
||||||
d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len)
|
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,
|
return (X509_CRL_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_CRL_INFO_it);
|
&X509_CRL_INFO_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_CRL_INFO);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out)
|
i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_INFO_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_INFO_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_CRL_INFO);
|
|
||||||
|
|
||||||
X509_CRL_INFO *
|
X509_CRL_INFO *
|
||||||
X509_CRL_INFO_new(void)
|
X509_CRL_INFO_new(void)
|
||||||
{
|
{
|
||||||
return (X509_CRL_INFO *)ASN1_item_new(&X509_CRL_INFO_it);
|
return (X509_CRL_INFO *)ASN1_item_new(&X509_CRL_INFO_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_INFO_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_CRL_INFO_free(X509_CRL_INFO *a)
|
X509_CRL_INFO_free(X509_CRL_INFO *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_INFO_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_INFO_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_INFO_free);
|
|
||||||
|
|
||||||
X509_CRL *
|
X509_CRL *
|
||||||
d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len)
|
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,
|
return (X509_CRL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_CRL_it);
|
&X509_CRL_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_CRL);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_CRL(X509_CRL *a, unsigned char **out)
|
i2d_X509_CRL(X509_CRL *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_CRL);
|
|
||||||
|
|
||||||
X509_CRL *
|
X509_CRL *
|
||||||
X509_CRL_new(void)
|
X509_CRL_new(void)
|
||||||
{
|
{
|
||||||
return (X509_CRL *)ASN1_item_new(&X509_CRL_it);
|
return (X509_CRL *)ASN1_item_new(&X509_CRL_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_CRL_free(X509_CRL *a)
|
X509_CRL_free(X509_CRL *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_free);
|
|
||||||
|
|
||||||
X509_CRL *
|
X509_CRL *
|
||||||
X509_CRL_dup(X509_CRL *x)
|
X509_CRL_dup(X509_CRL *x)
|
||||||
{
|
{
|
||||||
return ASN1_item_dup(&X509_CRL_it, x);
|
return ASN1_item_dup(&X509_CRL_it, x);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_dup);
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
X509_REVOKED_cmp(const X509_REVOKED * const *a, const X509_REVOKED * const *b)
|
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;
|
inf->enc.modified = 1;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_add0_revoked);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_CRL_verify(X509_CRL *crl, EVP_PKEY *r)
|
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 crl->meth->crl_verify(crl, r);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_verify);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_CRL_get0_by_serial(X509_CRL *crl, X509_REVOKED **ret,
|
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 crl->meth->crl_lookup(crl, ret, serial, NULL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get0_by_serial);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x)
|
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));
|
X509_get_serialNumber(x), X509_get_issuer_name(x));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get0_by_cert);
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
def_crl_verify(X509_CRL *crl, EVP_PKEY *r)
|
def_crl_verify(X509_CRL *crl, EVP_PKEY *r)
|
||||||
|
@ -666,7 +648,6 @@ X509_CRL_set_default_method(const X509_CRL_METHOD *meth)
|
||||||
else
|
else
|
||||||
default_crl_method = meth;
|
default_crl_method = meth;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_set_default_method);
|
|
||||||
|
|
||||||
X509_CRL_METHOD *
|
X509_CRL_METHOD *
|
||||||
X509_CRL_METHOD_new(int (*crl_init)(X509_CRL *crl),
|
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;
|
return m;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_METHOD_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_CRL_METHOD_free(X509_CRL_METHOD *m)
|
X509_CRL_METHOD_free(X509_CRL_METHOD *m)
|
||||||
|
@ -699,84 +679,72 @@ X509_CRL_METHOD_free(X509_CRL_METHOD *m)
|
||||||
return;
|
return;
|
||||||
free(m);
|
free(m);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_METHOD_free);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_CRL_set_meth_data(X509_CRL *crl, void *dat)
|
X509_CRL_set_meth_data(X509_CRL *crl, void *dat)
|
||||||
{
|
{
|
||||||
crl->meth_data = dat;
|
crl->meth_data = dat;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_set_meth_data);
|
|
||||||
|
|
||||||
void *
|
void *
|
||||||
X509_CRL_get_meth_data(X509_CRL *crl)
|
X509_CRL_get_meth_data(X509_CRL *crl)
|
||||||
{
|
{
|
||||||
return crl->meth_data;
|
return crl->meth_data;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get_meth_data);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_CRL_get_signature_nid(const X509_CRL *crl)
|
X509_CRL_get_signature_nid(const X509_CRL *crl)
|
||||||
{
|
{
|
||||||
return OBJ_obj2nid(crl->sig_alg->algorithm);
|
return OBJ_obj2nid(crl->sig_alg->algorithm);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get_signature_nid);
|
|
||||||
|
|
||||||
const STACK_OF(X509_EXTENSION) *
|
const STACK_OF(X509_EXTENSION) *
|
||||||
X509_CRL_get0_extensions(const X509_CRL *crl)
|
X509_CRL_get0_extensions(const X509_CRL *crl)
|
||||||
{
|
{
|
||||||
return crl->crl->extensions;
|
return crl->crl->extensions;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get0_extensions);
|
|
||||||
|
|
||||||
long
|
long
|
||||||
X509_CRL_get_version(const X509_CRL *crl)
|
X509_CRL_get_version(const X509_CRL *crl)
|
||||||
{
|
{
|
||||||
return ASN1_INTEGER_get(crl->crl->version);
|
return ASN1_INTEGER_get(crl->crl->version);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get_version);
|
|
||||||
|
|
||||||
const ASN1_TIME *
|
const ASN1_TIME *
|
||||||
X509_CRL_get0_lastUpdate(const X509_CRL *crl)
|
X509_CRL_get0_lastUpdate(const X509_CRL *crl)
|
||||||
{
|
{
|
||||||
return crl->crl->lastUpdate;
|
return crl->crl->lastUpdate;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get0_lastUpdate);
|
|
||||||
|
|
||||||
ASN1_TIME *
|
ASN1_TIME *
|
||||||
X509_CRL_get_lastUpdate(X509_CRL *crl)
|
X509_CRL_get_lastUpdate(X509_CRL *crl)
|
||||||
{
|
{
|
||||||
return crl->crl->lastUpdate;
|
return crl->crl->lastUpdate;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get_lastUpdate);
|
|
||||||
|
|
||||||
const ASN1_TIME *
|
const ASN1_TIME *
|
||||||
X509_CRL_get0_nextUpdate(const X509_CRL *crl)
|
X509_CRL_get0_nextUpdate(const X509_CRL *crl)
|
||||||
{
|
{
|
||||||
return crl->crl->nextUpdate;
|
return crl->crl->nextUpdate;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get0_nextUpdate);
|
|
||||||
|
|
||||||
ASN1_TIME *
|
ASN1_TIME *
|
||||||
X509_CRL_get_nextUpdate(X509_CRL *crl)
|
X509_CRL_get_nextUpdate(X509_CRL *crl)
|
||||||
{
|
{
|
||||||
return crl->crl->nextUpdate;
|
return crl->crl->nextUpdate;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get_nextUpdate);
|
|
||||||
|
|
||||||
X509_NAME *
|
X509_NAME *
|
||||||
X509_CRL_get_issuer(const X509_CRL *crl)
|
X509_CRL_get_issuer(const X509_CRL *crl)
|
||||||
{
|
{
|
||||||
return crl->crl->issuer;
|
return crl->crl->issuer;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get_issuer);
|
|
||||||
|
|
||||||
STACK_OF(X509_REVOKED) *
|
STACK_OF(X509_REVOKED) *
|
||||||
X509_CRL_get_REVOKED(X509_CRL *crl)
|
X509_CRL_get_REVOKED(X509_CRL *crl)
|
||||||
{
|
{
|
||||||
return crl->crl->revoked;
|
return crl->crl->revoked;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get_REVOKED);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig,
|
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)
|
if (palg != NULL)
|
||||||
*palg = crl->sig_alg;
|
*palg = crl->sig_alg;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get0_signature);
|
|
||||||
|
|
||||||
const X509_ALGOR *
|
const X509_ALGOR *
|
||||||
X509_CRL_get0_tbs_sigalg(const X509_CRL *crl)
|
X509_CRL_get0_tbs_sigalg(const X509_CRL *crl)
|
||||||
{
|
{
|
||||||
return crl->crl->sig_alg;
|
return crl->crl->sig_alg;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CRL_get0_tbs_sigalg);
|
|
||||||
|
|
|
@ -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
|
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
||||||
* project 2000.
|
* 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,
|
return (X509_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_EXTENSION_it);
|
&X509_EXTENSION_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_EXTENSION);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out)
|
i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSION_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSION_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_EXTENSION);
|
|
||||||
|
|
||||||
X509_EXTENSION *
|
X509_EXTENSION *
|
||||||
X509_EXTENSION_new(void)
|
X509_EXTENSION_new(void)
|
||||||
{
|
{
|
||||||
return (X509_EXTENSION *)ASN1_item_new(&X509_EXTENSION_it);
|
return (X509_EXTENSION *)ASN1_item_new(&X509_EXTENSION_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_EXTENSION_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_EXTENSION_free(X509_EXTENSION *a)
|
X509_EXTENSION_free(X509_EXTENSION *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_EXTENSION_free);
|
|
||||||
|
|
||||||
X509_EXTENSIONS *
|
X509_EXTENSIONS *
|
||||||
d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len)
|
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,
|
return (X509_EXTENSIONS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_EXTENSIONS_it);
|
&X509_EXTENSIONS_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_EXTENSIONS);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_EXTENSIONS(X509_EXTENSIONS *a, unsigned char **out)
|
i2d_X509_EXTENSIONS(X509_EXTENSIONS *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSIONS_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSIONS_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_EXTENSIONS);
|
|
||||||
|
|
||||||
X509_EXTENSION *
|
X509_EXTENSION *
|
||||||
X509_EXTENSION_dup(X509_EXTENSION *x)
|
X509_EXTENSION_dup(X509_EXTENSION *x)
|
||||||
{
|
{
|
||||||
return ASN1_item_dup(&X509_EXTENSION_it, x);
|
return ASN1_item_dup(&X509_EXTENSION_it, x);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_EXTENSION_dup);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
@ -75,7 +75,6 @@ X509_INFO_new(void)
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_INFO_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_INFO_free(X509_INFO *x)
|
X509_INFO_free(X509_INFO *x)
|
||||||
|
@ -93,4 +92,3 @@ X509_INFO_free(X509_INFO *x)
|
||||||
|
|
||||||
free(x);
|
free(x);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_INFO_free);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* 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,
|
return (X509_NAME_ENTRY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_NAME_ENTRY_it);
|
&X509_NAME_ENTRY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_NAME_ENTRY);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out)
|
i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_ENTRY_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_ENTRY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_NAME_ENTRY);
|
|
||||||
|
|
||||||
X509_NAME_ENTRY *
|
X509_NAME_ENTRY *
|
||||||
X509_NAME_ENTRY_new(void)
|
X509_NAME_ENTRY_new(void)
|
||||||
{
|
{
|
||||||
return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it);
|
return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_NAME_ENTRY_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_NAME_ENTRY_free(X509_NAME_ENTRY *a)
|
X509_NAME_ENTRY_free(X509_NAME_ENTRY *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_NAME_ENTRY_free);
|
|
||||||
|
|
||||||
X509_NAME_ENTRY *
|
X509_NAME_ENTRY *
|
||||||
X509_NAME_ENTRY_dup(X509_NAME_ENTRY *x)
|
X509_NAME_ENTRY_dup(X509_NAME_ENTRY *x)
|
||||||
{
|
{
|
||||||
return ASN1_item_dup(&X509_NAME_ENTRY_it, 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 }
|
/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY }
|
||||||
* so declare two template wrappers for this
|
* 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,
|
return (X509_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_NAME_it);
|
&X509_NAME_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_NAME);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_NAME(X509_NAME *a, unsigned char **out)
|
i2d_X509_NAME(X509_NAME *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_NAME);
|
|
||||||
|
|
||||||
X509_NAME *
|
X509_NAME *
|
||||||
X509_NAME_new(void)
|
X509_NAME_new(void)
|
||||||
{
|
{
|
||||||
return (X509_NAME *)ASN1_item_new(&X509_NAME_it);
|
return (X509_NAME *)ASN1_item_new(&X509_NAME_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_NAME_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_NAME_free(X509_NAME *a)
|
X509_NAME_free(X509_NAME *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_NAME_free);
|
|
||||||
|
|
||||||
X509_NAME *
|
X509_NAME *
|
||||||
X509_NAME_dup(X509_NAME *x)
|
X509_NAME_dup(X509_NAME *x)
|
||||||
{
|
{
|
||||||
return ASN1_item_dup(&X509_NAME_it, x);
|
return ASN1_item_dup(&X509_NAME_it, x);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_NAME_dup);
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it)
|
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;
|
*xn = name;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_NAME_set);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen)
|
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;
|
*pderlen = nm->bytes->length;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_NAME_get0_der);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
@ -98,7 +98,6 @@ X509_PKEY_new(void)
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_PKEY_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_PKEY_free(X509_PKEY *x)
|
X509_PKEY_free(X509_PKEY *x)
|
||||||
|
@ -120,4 +119,3 @@ X509_PKEY_free(X509_PKEY *x)
|
||||||
free(x->key_data);
|
free(x->key_data);
|
||||||
free(x);
|
free(x);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_PKEY_free);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* 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,
|
return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_PUBKEY_it);
|
&X509_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_PUBKEY);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out)
|
i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_PUBKEY);
|
|
||||||
|
|
||||||
X509_PUBKEY *
|
X509_PUBKEY *
|
||||||
X509_PUBKEY_new(void)
|
X509_PUBKEY_new(void)
|
||||||
{
|
{
|
||||||
return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it);
|
return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_PUBKEY_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_PUBKEY_free(X509_PUBKEY *a)
|
X509_PUBKEY_free(X509_PUBKEY *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_PUBKEY_free);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
|
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);
|
X509_PUBKEY_free(pk);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_PUBKEY_set);
|
|
||||||
|
|
||||||
EVP_PKEY *
|
EVP_PKEY *
|
||||||
X509_PUBKEY_get0(X509_PUBKEY *key)
|
X509_PUBKEY_get0(X509_PUBKEY *key)
|
||||||
|
@ -231,7 +226,6 @@ X509_PUBKEY_get0(X509_PUBKEY *key)
|
||||||
EVP_PKEY_free(ret);
|
EVP_PKEY_free(ret);
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_PUBKEY_get0);
|
|
||||||
|
|
||||||
EVP_PKEY *
|
EVP_PKEY *
|
||||||
X509_PUBKEY_get(X509_PUBKEY *key)
|
X509_PUBKEY_get(X509_PUBKEY *key)
|
||||||
|
@ -245,7 +239,6 @@ X509_PUBKEY_get(X509_PUBKEY *key)
|
||||||
|
|
||||||
return pkey;
|
return pkey;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_PUBKEY_get);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Decode an X509_PUBKEY into the specified key type.
|
* 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,
|
return (EVP_PKEY *)ASN1_item_d2i((ASN1_VALUE **)pkey, in, len,
|
||||||
&EVP_PKEY_PUBKEY_it);
|
&EVP_PKEY_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_PUBKEY);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_PUBKEY(EVP_PKEY *pkey, unsigned char **out)
|
i2d_PUBKEY(EVP_PKEY *pkey, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)pkey, out, &EVP_PKEY_PUBKEY_it);
|
return ASN1_item_i2d((ASN1_VALUE *)pkey, out, &EVP_PKEY_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_PUBKEY);
|
|
||||||
|
|
||||||
EVP_PKEY *
|
EVP_PKEY *
|
||||||
d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **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,
|
return (EVP_PKEY *)ASN1_item_d2i_bio(&EVP_PKEY_PUBKEY_it, bp,
|
||||||
(ASN1_VALUE **)pkey);
|
(ASN1_VALUE **)pkey);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_PUBKEY_bio);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey)
|
i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d_bio(&EVP_PKEY_PUBKEY_it, bp, (ASN1_VALUE *)pkey);
|
return ASN1_item_i2d_bio(&EVP_PKEY_PUBKEY_it, bp, (ASN1_VALUE *)pkey);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_PUBKEY_bio);
|
|
||||||
|
|
||||||
EVP_PKEY *
|
EVP_PKEY *
|
||||||
d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **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,
|
return (EVP_PKEY *)ASN1_item_d2i_fp(&EVP_PKEY_PUBKEY_it, fp,
|
||||||
(ASN1_VALUE **)pkey);
|
(ASN1_VALUE **)pkey);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_PUBKEY_fp);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey)
|
i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d_fp(&EVP_PKEY_PUBKEY_it, fp, (ASN1_VALUE *)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.
|
* 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,
|
return (RSA *)ASN1_item_d2i((ASN1_VALUE **)rsa, in, len,
|
||||||
&RSA_PUBKEY_it);
|
&RSA_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_RSA_PUBKEY);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_RSA_PUBKEY(RSA *rsa, unsigned char **out)
|
i2d_RSA_PUBKEY(RSA *rsa, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)rsa, out, &RSA_PUBKEY_it);
|
return ASN1_item_i2d((ASN1_VALUE *)rsa, out, &RSA_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_RSA_PUBKEY);
|
|
||||||
|
|
||||||
RSA *
|
RSA *
|
||||||
d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa)
|
d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa)
|
||||||
{
|
{
|
||||||
return (RSA *)ASN1_item_d2i_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE **)rsa);
|
return (RSA *)ASN1_item_d2i_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE **)rsa);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_RSA_PUBKEY_bio);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa)
|
i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE *)rsa);
|
return ASN1_item_i2d_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE *)rsa);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_RSA_PUBKEY_bio);
|
|
||||||
|
|
||||||
RSA *
|
RSA *
|
||||||
d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa)
|
d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa)
|
||||||
{
|
{
|
||||||
return (RSA *)ASN1_item_d2i_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE **)rsa);
|
return (RSA *)ASN1_item_d2i_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE **)rsa);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_RSA_PUBKEY_fp);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa)
|
i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE *)rsa);
|
return ASN1_item_i2d_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE *)rsa);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_RSA_PUBKEY_fp);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_DSA
|
#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,
|
return (DSA *)ASN1_item_d2i((ASN1_VALUE **)dsa, in, len,
|
||||||
&DSA_PUBKEY_it);
|
&DSA_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_DSA_PUBKEY);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_DSA_PUBKEY(DSA *dsa, unsigned char **out)
|
i2d_DSA_PUBKEY(DSA *dsa, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)dsa, out, &DSA_PUBKEY_it);
|
return ASN1_item_i2d((ASN1_VALUE *)dsa, out, &DSA_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_DSA_PUBKEY);
|
|
||||||
|
|
||||||
DSA *
|
DSA *
|
||||||
d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa)
|
d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa)
|
||||||
{
|
{
|
||||||
return (DSA *)ASN1_item_d2i_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE **)dsa);
|
return (DSA *)ASN1_item_d2i_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE **)dsa);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_DSA_PUBKEY_bio);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa)
|
i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE *)dsa);
|
return ASN1_item_i2d_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE *)dsa);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_DSA_PUBKEY_bio);
|
|
||||||
|
|
||||||
DSA *
|
DSA *
|
||||||
d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa)
|
d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa)
|
||||||
{
|
{
|
||||||
return (DSA *)ASN1_item_d2i_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE **)dsa);
|
return (DSA *)ASN1_item_d2i_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE **)dsa);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_DSA_PUBKEY_fp);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa)
|
i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE *)dsa);
|
return ASN1_item_i2d_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE *)dsa);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_DSA_PUBKEY_fp);
|
|
||||||
|
|
||||||
#endif
|
#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,
|
return (EC_KEY *)ASN1_item_d2i((ASN1_VALUE **)ec, in, len,
|
||||||
&EC_PUBKEY_it);
|
&EC_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_EC_PUBKEY);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_EC_PUBKEY(EC_KEY *ec, unsigned char **out)
|
i2d_EC_PUBKEY(EC_KEY *ec, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)ec, out, &EC_PUBKEY_it);
|
return ASN1_item_i2d((ASN1_VALUE *)ec, out, &EC_PUBKEY_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_EC_PUBKEY);
|
|
||||||
|
|
||||||
EC_KEY *
|
EC_KEY *
|
||||||
d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **ec)
|
d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **ec)
|
||||||
{
|
{
|
||||||
return (EC_KEY *)ASN1_item_d2i_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE **)ec);
|
return (EC_KEY *)ASN1_item_d2i_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE **)ec);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_EC_PUBKEY_bio);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ec)
|
i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ec)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE *)ec);
|
return ASN1_item_i2d_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE *)ec);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_EC_PUBKEY_bio);
|
|
||||||
|
|
||||||
EC_KEY *
|
EC_KEY *
|
||||||
d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **ec)
|
d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **ec)
|
||||||
{
|
{
|
||||||
return (EC_KEY *)ASN1_item_d2i_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE **)ec);
|
return (EC_KEY *)ASN1_item_d2i_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE **)ec);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_EC_PUBKEY_fp);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *ec)
|
i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *ec)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE *)ec);
|
return ASN1_item_i2d_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE *)ec);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_EC_PUBKEY_fp);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int
|
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);
|
return asn1_abs_set_unused_bits(pub->public_key, 0);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_PUBKEY_set0_param);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk,
|
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;
|
*pa = pub->algor;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_PUBKEY_get0_param);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* 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,
|
return (X509_REQ_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_REQ_INFO_it);
|
&X509_REQ_INFO_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_REQ_INFO);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out)
|
i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_REQ_INFO);
|
|
||||||
|
|
||||||
X509_REQ_INFO *
|
X509_REQ_INFO *
|
||||||
X509_REQ_INFO_new(void)
|
X509_REQ_INFO_new(void)
|
||||||
{
|
{
|
||||||
return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it);
|
return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REQ_INFO_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_REQ_INFO_free(X509_REQ_INFO *a)
|
X509_REQ_INFO_free(X509_REQ_INFO *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REQ_INFO_free);
|
|
||||||
|
|
||||||
static const ASN1_AUX X509_REQ_aux = {
|
static const ASN1_AUX X509_REQ_aux = {
|
||||||
.app_data = NULL,
|
.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,
|
return (X509_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_REQ_it);
|
&X509_REQ_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_REQ);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_REQ(X509_REQ *a, unsigned char **out)
|
i2d_X509_REQ(X509_REQ *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_REQ);
|
|
||||||
|
|
||||||
X509_REQ *
|
X509_REQ *
|
||||||
X509_REQ_new(void)
|
X509_REQ_new(void)
|
||||||
{
|
{
|
||||||
return (X509_REQ *)ASN1_item_new(&X509_REQ_it);
|
return (X509_REQ *)ASN1_item_new(&X509_REQ_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REQ_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_REQ_free(X509_REQ *a)
|
X509_REQ_free(X509_REQ *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REQ_free);
|
|
||||||
|
|
||||||
X509_REQ *
|
X509_REQ *
|
||||||
X509_REQ_dup(X509_REQ *x)
|
X509_REQ_dup(X509_REQ *x)
|
||||||
{
|
{
|
||||||
return ASN1_item_dup(&X509_REQ_it, x);
|
return ASN1_item_dup(&X509_REQ_it, x);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REQ_dup);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_REQ_get_signature_nid(const X509_REQ *req)
|
X509_REQ_get_signature_nid(const X509_REQ *req)
|
||||||
{
|
{
|
||||||
return OBJ_obj2nid(req->sig_alg->algorithm);
|
return OBJ_obj2nid(req->sig_alg->algorithm);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REQ_get_signature_nid);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
|
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)
|
if (palg != NULL)
|
||||||
*palg = req->sig_alg;
|
*palg = req->sig_alg;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_REQ_get0_signature);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* 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,
|
return (X509_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_SIG_it);
|
&X509_SIG_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_SIG);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_SIG(X509_SIG *a, unsigned char **out)
|
i2d_X509_SIG(X509_SIG *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_SIG_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_SIG_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_SIG);
|
|
||||||
|
|
||||||
X509_SIG *
|
X509_SIG *
|
||||||
X509_SIG_new(void)
|
X509_SIG_new(void)
|
||||||
{
|
{
|
||||||
return (X509_SIG *)ASN1_item_new(&X509_SIG_it);
|
return (X509_SIG *)ASN1_item_new(&X509_SIG_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_SIG_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_SIG_free(X509_SIG *a)
|
X509_SIG_free(X509_SIG *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_SIG_free);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg,
|
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)
|
if (pdigest != NULL)
|
||||||
*pdigest = sig->digest;
|
*pdigest = sig->digest;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_SIG_get0);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest)
|
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)
|
if (pdigest != NULL)
|
||||||
*pdigest = sig->digest;
|
*pdigest = sig->digest;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_SIG_getm);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* 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,
|
return (NETSCAPE_SPKAC *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&NETSCAPE_SPKAC_it);
|
&NETSCAPE_SPKAC_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_NETSCAPE_SPKAC);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out)
|
i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKAC_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKAC_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_NETSCAPE_SPKAC);
|
|
||||||
|
|
||||||
NETSCAPE_SPKAC *
|
NETSCAPE_SPKAC *
|
||||||
NETSCAPE_SPKAC_new(void)
|
NETSCAPE_SPKAC_new(void)
|
||||||
{
|
{
|
||||||
return (NETSCAPE_SPKAC *)ASN1_item_new(&NETSCAPE_SPKAC_it);
|
return (NETSCAPE_SPKAC *)ASN1_item_new(&NETSCAPE_SPKAC_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(NETSCAPE_SPKAC_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a)
|
NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it);
|
ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(NETSCAPE_SPKAC_free);
|
|
||||||
|
|
||||||
static const ASN1_TEMPLATE NETSCAPE_SPKI_seq_tt[] = {
|
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,
|
return (NETSCAPE_SPKI *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&NETSCAPE_SPKI_it);
|
&NETSCAPE_SPKI_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_NETSCAPE_SPKI);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out)
|
i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKI_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKI_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_NETSCAPE_SPKI);
|
|
||||||
|
|
||||||
NETSCAPE_SPKI *
|
NETSCAPE_SPKI *
|
||||||
NETSCAPE_SPKI_new(void)
|
NETSCAPE_SPKI_new(void)
|
||||||
{
|
{
|
||||||
return (NETSCAPE_SPKI *)ASN1_item_new(&NETSCAPE_SPKI_it);
|
return (NETSCAPE_SPKI *)ASN1_item_new(&NETSCAPE_SPKI_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(NETSCAPE_SPKI_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
NETSCAPE_SPKI_free(NETSCAPE_SPKI *a)
|
NETSCAPE_SPKI_free(NETSCAPE_SPKI *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKI_it);
|
ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKI_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(NETSCAPE_SPKI_free);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* 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,
|
return (X509_VAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_VAL_it);
|
&X509_VAL_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_VAL);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_VAL(X509_VAL *a, unsigned char **out)
|
i2d_X509_VAL(X509_VAL *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_VAL_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_VAL_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_VAL);
|
|
||||||
|
|
||||||
X509_VAL *
|
X509_VAL *
|
||||||
X509_VAL_new(void)
|
X509_VAL_new(void)
|
||||||
{
|
{
|
||||||
return (X509_VAL *)ASN1_item_new(&X509_VAL_it);
|
return (X509_VAL *)ASN1_item_new(&X509_VAL_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_VAL_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_VAL_free(X509_VAL *a)
|
X509_VAL_free(X509_VAL *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_VAL_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_VAL_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_VAL_free);
|
|
||||||
|
|
|
@ -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)
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
* All rights reserved.
|
* 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,
|
return (X509_CINF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_CINF_it);
|
&X509_CINF_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_CINF);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_CINF(X509_CINF *a, unsigned char **out)
|
i2d_X509_CINF(X509_CINF *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_CINF);
|
|
||||||
|
|
||||||
X509_CINF *
|
X509_CINF *
|
||||||
X509_CINF_new(void)
|
X509_CINF_new(void)
|
||||||
{
|
{
|
||||||
return (X509_CINF *)ASN1_item_new(&X509_CINF_it);
|
return (X509_CINF *)ASN1_item_new(&X509_CINF_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CINF_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_CINF_free(X509_CINF *a)
|
X509_CINF_free(X509_CINF *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CINF_free);
|
|
||||||
/* X509 top level structure needs a bit of customisation */
|
/* X509 top level structure needs a bit of customisation */
|
||||||
|
|
||||||
static int
|
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,
|
return (X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_it);
|
&X509_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509(X509 *a, unsigned char **out)
|
i2d_X509(X509 *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509);
|
|
||||||
|
|
||||||
X509 *
|
X509 *
|
||||||
X509_new(void)
|
X509_new(void)
|
||||||
{
|
{
|
||||||
return (X509 *)ASN1_item_new(&X509_it);
|
return (X509 *)ASN1_item_new(&X509_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_free(X509 *a)
|
X509_free(X509 *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_free);
|
|
||||||
|
|
||||||
X509 *
|
X509 *
|
||||||
X509_dup(X509 *x)
|
X509_dup(X509 *x)
|
||||||
{
|
{
|
||||||
return ASN1_item_dup(&X509_it, x);
|
return ASN1_item_dup(&X509_it, x);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_dup);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
|
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,
|
return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, argl, argp,
|
||||||
new_func, dup_func, free_func);
|
new_func, dup_func, free_func);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_get_ex_new_index);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_set_ex_data(X509 *r, int idx, void *arg)
|
X509_set_ex_data(X509 *r, int idx, void *arg)
|
||||||
{
|
{
|
||||||
return (CRYPTO_set_ex_data(&r->ex_data, idx, arg));
|
return (CRYPTO_set_ex_data(&r->ex_data, idx, arg));
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_set_ex_data);
|
|
||||||
|
|
||||||
void *
|
void *
|
||||||
X509_get_ex_data(X509 *r, int idx)
|
X509_get_ex_data(X509 *r, int idx)
|
||||||
{
|
{
|
||||||
return (CRYPTO_get_ex_data(&r->ex_data, 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
|
/* X509_AUX ASN1 routines. X509_AUX is the name given to
|
||||||
* a certificate with extra info tagged on the end. Since these
|
* 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);
|
X509_free(ret);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_AUX);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_AUX(X509 *a, unsigned char **pp)
|
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);
|
length += i2d_X509_CERT_AUX(a->aux, pp);
|
||||||
return length;
|
return length;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_AUX);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_re_X509_tbs(X509 *x, unsigned char **pp)
|
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;
|
x->cert_info->enc.modified = 1;
|
||||||
return i2d_X509_CINF(x->cert_info, pp);
|
return i2d_X509_CINF(x->cert_info, pp);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_re_X509_tbs);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg,
|
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)
|
if (palg != NULL)
|
||||||
*palg = x->sig_alg;
|
*palg = x->sig_alg;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_get0_signature);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_get_signature_nid(const X509 *x)
|
X509_get_signature_nid(const X509 *x)
|
||||||
{
|
{
|
||||||
return OBJ_obj2nid(x->sig_alg->algorithm);
|
return OBJ_obj2nid(x->sig_alg->algorithm);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_get_signature_nid);
|
|
||||||
|
|
|
@ -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
|
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
|
||||||
* project 1999.
|
* 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,
|
return (X509_CERT_AUX *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
|
||||||
&X509_CERT_AUX_it);
|
&X509_CERT_AUX_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(d2i_X509_CERT_AUX);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
i2d_X509_CERT_AUX(X509_CERT_AUX *a, unsigned char **out)
|
i2d_X509_CERT_AUX(X509_CERT_AUX *a, unsigned char **out)
|
||||||
{
|
{
|
||||||
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_AUX_it);
|
return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_AUX_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(i2d_X509_CERT_AUX);
|
|
||||||
|
|
||||||
X509_CERT_AUX *
|
X509_CERT_AUX *
|
||||||
X509_CERT_AUX_new(void)
|
X509_CERT_AUX_new(void)
|
||||||
{
|
{
|
||||||
return (X509_CERT_AUX *)ASN1_item_new(&X509_CERT_AUX_it);
|
return (X509_CERT_AUX *)ASN1_item_new(&X509_CERT_AUX_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CERT_AUX_new);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_CERT_AUX_free(X509_CERT_AUX *a)
|
X509_CERT_AUX_free(X509_CERT_AUX *a)
|
||||||
{
|
{
|
||||||
ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_AUX_it);
|
ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_AUX_it);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_CERT_AUX_free);
|
|
||||||
|
|
||||||
static X509_CERT_AUX *
|
static X509_CERT_AUX *
|
||||||
aux_get(X509 *x)
|
aux_get(X509 *x)
|
||||||
|
@ -176,7 +172,6 @@ X509_alias_set1(X509 *x, const unsigned char *name, int len)
|
||||||
return 0;
|
return 0;
|
||||||
return ASN1_STRING_set(aux->alias, name, len);
|
return ASN1_STRING_set(aux->alias, name, len);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_alias_set1);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_keyid_set1(X509 *x, const unsigned char *id, int len)
|
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 0;
|
||||||
return ASN1_STRING_set(aux->keyid, id, len);
|
return ASN1_STRING_set(aux->keyid, id, len);
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_keyid_set1);
|
|
||||||
|
|
||||||
unsigned char *
|
unsigned char *
|
||||||
X509_alias_get0(X509 *x, int *len)
|
X509_alias_get0(X509 *x, int *len)
|
||||||
|
@ -206,7 +200,6 @@ X509_alias_get0(X509 *x, int *len)
|
||||||
*len = x->aux->alias->length;
|
*len = x->aux->alias->length;
|
||||||
return x->aux->alias->data;
|
return x->aux->alias->data;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_alias_get0);
|
|
||||||
|
|
||||||
unsigned char *
|
unsigned char *
|
||||||
X509_keyid_get0(X509 *x, int *len)
|
X509_keyid_get0(X509 *x, int *len)
|
||||||
|
@ -217,7 +210,6 @@ X509_keyid_get0(X509 *x, int *len)
|
||||||
*len = x->aux->keyid->length;
|
*len = x->aux->keyid->length;
|
||||||
return x->aux->keyid->data;
|
return x->aux->keyid->data;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_keyid_get0);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj)
|
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);
|
ASN1_OBJECT_free(objtmp);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_add1_trust_object);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj)
|
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);
|
ASN1_OBJECT_free(objtmp);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_add1_reject_object);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_trust_clear(X509 *x)
|
X509_trust_clear(X509 *x)
|
||||||
|
@ -273,7 +263,6 @@ X509_trust_clear(X509 *x)
|
||||||
x->aux->trust = NULL;
|
x->aux->trust = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LCRYPTO_ALIAS(X509_trust_clear);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
X509_reject_clear(X509 *x)
|
X509_reject_clear(X509 *x)
|
||||||
|
@ -283,4 +272,3 @@ X509_reject_clear(X509 *x)
|
||||||
x->aux->reject = NULL;
|
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
Loading…
Add table
Add a link
Reference in a new issue