Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| openssl:base:update110 [2018/06/13 10:48] – Add analysis of MKLINK generation BernardSpil | openssl:base:update110 [2018/07/16 03:58] (current) – GordonTetlow | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Process to update %%OpenSSL%% in base | + | Process to update %%OpenSSL%% in base\\ |
| + | (for 1.1.1-pre8 WIP see [[OpenSSL/ | ||
| + | |||
| + | ====== Summary ====== | ||
| + | |||
| + | For the impatient... | ||
| + | |||
| + | < | ||
| + | svn checkout https:// | ||
| + | fetch -o ~/ | ||
| + | fetch -o ~/ | ||
| + | cd /usr/src | ||
| + | patch -p0 < ~/ | ||
| + | mv / | ||
| + | tar xf ~/ | ||
| + | mv / | ||
| + | cd / | ||
| + | pkg install perl5 | ||
| + | rm amd64/* | ||
| + | mv / | ||
| + | make man-makefile-update | ||
| + | rm man/* | ||
| + | make man-update | ||
| + | cd ../libssl | ||
| + | make man-makefile-update | ||
| + | rm man/* | ||
| + | make man-update | ||
| + | </ | ||
| ====== Preliminary steps ====== | ====== Preliminary steps ====== | ||
| Line 52: | Line 79: | ||
| $ pkg install perl5 | $ pkg install perl5 | ||
| ... | ... | ||
| + | </ | ||
| + | |||
| + | ====== Generate .h files ====== | ||
| + | |||
| + | Complication here, as there are different '' | ||
| + | |||
| + | < | ||
| + | $ uname -a | ||
| + | FreeBSD freebsd12 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r334983: Tue Jun 12 01:42:40 UTC 2018 | ||
| + | $ ./config -v | ||
| + | Operating system: amd64-whatever-freebsd | ||
| + | Configuring for BSD-x86_64 | ||
| + | / | ||
| + | Configuring OpenSSL version 1.1.0h (0x1010008fL) | ||
| + | no-asan | ||
| + | no-crypto-mdebug [default] | ||
| + | no-crypto-mdebug-backtrace [default] | ||
| + | no-ec_nistp_64_gcc_128 [default] | ||
| + | no-egd | ||
| + | no-fuzz-afl | ||
| + | no-fuzz-libfuzzer [default] | ||
| + | no-heartbeats | ||
| + | no-md2 | ||
| + | no-msan | ||
| + | no-rc5 | ||
| + | no-sctp | ||
| + | no-ssl-trace | ||
| + | no-ssl3 | ||
| + | no-ssl3-method | ||
| + | no-ubsan | ||
| + | no-unit-test | ||
| + | no-weak-ssl-ciphers [default] | ||
| + | no-zlib | ||
| + | no-zlib-dynamic [default] | ||
| + | Configuring for BSD-x86_64 | ||
| + | CC =cc | ||
| + | CFLAG | ||
| + | SHARED_CFLAG | ||
| + | DEFINES | ||
| + | LFLAG = | ||
| + | PLIB_LFLAG | ||
| + | EX_LIBS | ||
| + | APPS_OBJ | ||
| + | CPUID_OBJ | ||
| + | UPLINK_OBJ | ||
| + | BN_ASM | ||
| + | EC_ASM | ||
| + | DES_ENC | ||
| + | AES_ENC | ||
| + | BF_ENC | ||
| + | CAST_ENC | ||
| + | RC4_ENC | ||
| + | RC5_ENC | ||
| + | MD5_OBJ_ASM | ||
| + | SHA1_OBJ_ASM | ||
| + | RMD160_OBJ_ASM= | ||
| + | CMLL_ENC | ||
| + | MODES_OBJ | ||
| + | PADLOCK_OBJ | ||
| + | CHACHA_ENC | ||
| + | POLY1305_OBJ | ||
| + | BLAKE2_OBJ | ||
| + | PROCESSOR | ||
| + | RANLIB | ||
| + | ARFLAGS | ||
| + | PERL =/ | ||
| + | |||
| + | SIXTY_FOUR_BIT_LONG mode | ||
| + | |||
| + | Configured for BSD-x86_64. | ||
| + | </ | ||
| + | |||
| + | **TODO: Generate proper opensslconf.h files for all archs**\\ | ||
| + | Same applies to crypto/ | ||
| + | This is a hint from the %%OpenSSL%% Makefile | ||
| + | |||
| + | < | ||
| + | GENERATED_MANDATORY=crypto/ | ||
| + | </ | ||
| + | |||
| + | and from the make output | ||
| + | |||
| + | < | ||
| + | / | ||
| + | / | ||
| + | / | ||
| </ | </ | ||
| Line 80: | Line 193: | ||
| **TODO: Verify that we have all necessary '' | **TODO: Verify that we have all necessary '' | ||
| The files processed are defined in the Makefile, which is thus version-specific. | The files processed are defined in the Makefile, which is thus version-specific. | ||
| + | |||
| + | ===== Update Makefile.asm .pl sources ===== | ||
| + | |||
| + | %%OpenSSL%% 1.1 added some perl files that generate ASM. | ||
| + | From '' | ||
| + | Quite some additional files to be added. Chacha20/ | ||
| ====== Manpage generation ====== | ====== Manpage generation ====== | ||
| + | |||
| + | ===== TL;DR ===== | ||
| + | |||
| + | After fixing Makefile.inc '' | ||
| + | |||
| + | < | ||
| + | $ make -C / | ||
| + | $ make -C / | ||
| + | $ make -C / | ||
| + | $ make -C / | ||
| + | $ make -C / | ||
| + | $ make -C / | ||
| + | </ | ||
| + | |||
| + | Work log: | ||
| Two targets in Makefile.inc: | Two targets in Makefile.inc: | ||
| Line 162: | Line 296: | ||
| Conclusion: Part of man-makefile-update that collects '' | Conclusion: Part of man-makefile-update that collects '' | ||
| - | **TODO: Fix '' | + | <del>**TODO: Fix '' |
| ===== extract-names.pl and process_docs.pl ===== | ===== extract-names.pl and process_docs.pl ===== | ||
| Line 189: | Line 323: | ||
| This should lead to a single sym-link '' | This should lead to a single sym-link '' | ||
| - | ==== process_dcos.pl ==== | + | ==== process_docs.pl ==== |
| Looks like the part we're interested in is [[https:// | Looks like the part we're interested in is [[https:// | ||
| Line 199: | Line 333: | ||
| sed '/ | sed '/ | ||
| </ | </ | ||
| + | |||
| + | ==== Diff for secure/ | ||
| + | |||
| + | Includes the changes for the version | ||
| + | |||
| + | < | ||
| + | Index: Makefile.inc | ||
| + | =================================================================== | ||
| + | --- Makefile.inc (revision 335034) | ||
| + | +++ Makefile.inc (working copy) | ||
| + | @@ -3,7 +3,7 @@ | ||
| + | | ||
| + | |||
| + | # OpenSSL version used for manual page generation | ||
| + | -OPENSSL_VER= | ||
| + | +OPENSSL_VER= | ||
| + | | ||
| + | |||
| + | | ||
| + | @@ -106,7 +106,8 @@ | ||
| + | test -f $$j || continue; \ | ||
| + | fn=`basename $$j .pod`; \ | ||
| + | if ! echo ' | ||
| + | - perl ${LCRYPTO_SRC}/ | ||
| + | + sed '/ | ||
| + | + sed 's/ - .*$$//;s/,/ /g;s/ / /g' | tr ' ' ' | ||
| + | awk "/ | ||
| + | { print \" | ||
| + | fi; \ | ||
| + | </ | ||
| + | |||
| + | ====== Update secure/ | ||
| + | |||
| + | Sources to be checked is '' | ||
| + | Helper to extract SRCS+= from a dir | ||
| + | |||
| + | < | ||
| + | cd / | ||
| + | for file in */ | ||
| + | echo -e " | ||
| + | sed -E '/ | ||
| + | | tr ' ' ' | ||
| + | </ | ||
| + | |||
| + | copy-paste. | ||