VirtualBox

source: vbox/trunk/src/libs/openssl-3.1.0/VBOX-UPDATE-NOTES@ 99863

Last change on this file since 99863 was 99366, checked in by vboxsync, 20 months ago

openssl-3.1.0: Applied and adjusted our OpenSSL changes to 3.0.7. bugref:10418

File size: 2.0 KB
Line 
1Some notes from updating OpenSSL from 1.1.0j to 1.1.1b. These notes are not
2intended to be complete yet, but might become more so after a few update
3rounds. These notes apply to a 64-bit Linux host and may need to be adjusted
4for others. For updating the minor version just applying the changes
5between the current and upstream should be enough, instead of steps 3 and
6later. Finish of with kmk check-openssl-mangling.
7
81) kmk recreate-openssl-asm needs to be run. In the OpenSSL sub-folder?
92) kmk openssl-mangling.h should be run with VBOX_WITH_GCC_SANITIZER:= and
10VBOX_NEED_EXTPACK_OPENSSL=1 set in the OpenSSL sub-folder. Do a normal kmk
11with those options in that folder first.
123) Unpack and configure an unmodified upstream OpenSSL and capture the build
13output. Configuration used:
14
15$ ./config no-err no-dso no-camellia no-cast no-comp no-des no-ecdh no-ecdsa \
16 no-engine no-idea no-rc2 no-rmd160 no-mdc2 enable-md2 no-md4 no-ssl3 \
17 no-whirlpool no-poly1305
18
19Get the list of source files built and check whether any of them are missing
20in our makefiles. E.g. for crypto:
21
22$ names=`cat openssl.out | sed -n 's|.* crypto/\([^ ]*/[^ ]*\.[cs]$\)|\1|p'`
23$ for i in $names; do
24case $i in *.s) i=${i%.s}.S; esac
25grep -q ${i#*/} <new VBox OpenSSL>/crypto/${i%%/*}/Makefile.kmk || echo $i
26done
27
28Check Configurations/00-base-templates.conf to see which asm source files
29are needed for which modules for x86, x86_64 and no asm.
30
314) Check that we do not have any files in our makefiles which should not be
32there:
33
34$ for i in crypto/*/Makefile.kmk; do
35 base=${i#crypto/}; folder=${base%/Makefile.kmk};
36 list=$(sed -n 's;.*[\t /]\([^ /]*\.[cS]\) *\\*$;\1;p' $i | sort -u);
37 for j in $list; do
38 case $j in *.S) j=${j%.S}.s; esac;
39 grep -q "$folder[^ ]*/$j" <original OpenSSL>/Makefile || echo $folder/$j;
40 done;
41done
42
43There will be some hits for files which are not built for the current target.
44
455) Run diff on the generated and our opensslconf.h and bn_conf.h and dso_conf.h
46and adjust as necessary.
47
486) Update TEMPLATE_LIBCRYPTO_DEFS from CPPFLAGS_Q in the OpenSSL generated
49makefile.
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette