summaryrefslogtreecommitdiff
path: root/src/usr.bin/nc/netcat.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-04-19interop: work around extreme REGRESS_SKIP_SLOW slownesstb3-8/+31
A few years back beck introduced REGRESS_SKIP_SLOW dances with the idea that this should speed up the interop tests for us devs because this also checked interop between opensslX and opensslY, which we don't particularly care about. This never really worked. On a mac m1 mini the result is this: REGRESS_SKIP_SLOW unset 9m56.69s real 3m42.24s user 3m00.70s system REGRESS_SKIP_SLOW=yes 11m04.61s real 7m29.61s user 1m40.29s system The problem is that REGRESS_SKIP_SLOW simply wasn't designed to handle the huge number of tests we have here. There are many nested .for loops resulting in several thousand tests. Each test has a name of length ~80. REGRESS_SKIP_SLOW concatenates them into a several hundred kilobytes long string in REGRESS_SKIP_TARGETS, iterates over all regress targets and tests with ".if ${REGRESS_SKIP_TARGETS:M${RT}}" if it should skip them. This means that during a regress run, make spends a lot of time linearly scanning a huge string. I ran into this when I added OpenSSL 3.0 tests to the already existing 1.0.2 and 1.1 tests with the result that with REGRESS_SLOW_TARGTS set it took the better part of an hour while without it it took about 15 min. The hack here is simply to avoid using REGRESS_SLOW_TARGTES here and handle the situation differently. patch, REGRESS_SKIP_SLOW=yes 5m42.32s real 2m09.98s user 1m45.21s system The real solution would be to fix this in bsd.regress.mk, which someone who understands make well is very welcome to do. For now, I'm happy with this. Debugged with jsing a few months ago
2023-04-19remove duplicate includesjsg2-4/+2
2023-04-19remove duplicate includesjsg1-2/+1
ok tb@
2023-04-19Rename Hex array to hex_digits.jsing1-5/+5
ok tb@
2023-04-19Move the BN_bn2bin()/BN_bin2bn() family to bn_convert.cjsing2-182/+183
2023-04-19Reorder functions.jsing1-102/+102
No functional change.
2023-04-19Move BN_options() from bn_convert.c to bn_lib.cjsing2-21/+21
2023-04-19unifdef BN_RECURSIONjsing5-594/+5
This removes a bunch of incomplete and scary code, which potentially leaks secrets and is not constant time. A performance gain is achieved on arm64 for sizes that we care about, while a minimal decrease in performance is noted for larger sizes on some other platforms. While we will potentially reimplement Karatsuba (or Toom-Cook) at a later date, it will be easier and safer to do it from a clean slate. ok tb@
2023-04-18Use NULL, not 0 for pointers and use an explicit comparison against NULL.tb1-3/+3
2023-04-18ectest: Remove #if 1tb1-3/+1
2023-04-18Unifdef OPENSSL_NO_EC_NISTP_64_GCC_128tb1-203/+1
2023-04-18Remove prototypes under OPENSSL_NO_EC_NISTP_64_GCC_128tb1-18/+1
The code was deleted a while back, the prototypes remained. We had OPENSSL_NO_EC_NISTP_64_GCC_128 in opensslfeatures.h since forever. discussed with jsing
2023-04-18Move x509.h inclusion into alphabetical ordertb1-3/+2
2023-04-18Bring includes into canonical ordertb6-37/+35
Requested by jsing
2023-04-18Sigh cvs... Also drop OPENSSL_NO_DEPRECATED from ec.htb1-3/+1
2023-04-18Move some includes out of OPENSSL_NO_DEPRECATEDtb9-27/+9
Some headers were included conditionally on OPENSSL_NO_DEPRECATED in hopes that eventually the mess of everything includes everything will magically resolve itself. Of course everyone would end up building openssl with OPENSSL_NO_DEPRECATED over time... Right. Surprisingly, the ecosystem has come to rely on these implicit inclusions, so about two dozen ports would fail to build because of this. Patching this would be easy but really not worth the effort. ok jsing
2023-04-18ectest: drop a broken #if 0 /* optional */ piece of codetb1-20/+5
This places a point at infinity and then fails. Fix some wacky indentation in the vicinity.
2023-04-18ec_point_conversion: drop test for sect571k1tb1-350/+2
Maybe it should be replaced by another test, although P-256 seems enough.
2023-04-18ectest: drop some gross unused macrostb1-49/+1
2023-04-18ectest: unifdef OPENSSL_NO_EC2Mtb1-418/+1
2023-04-17Skip binary curves in ec_point_conversiontb1-3/+14
2023-04-17Switch all ec tests to using dynamic linkingtb3-8/+14
This only requires very minor changes and simplifies testing quite a bit. Some of the changes can be undone after the next bump.
2023-04-17Simplify Makefiletb1-12/+1
2023-04-17Drop GF2m teststb1-647/+1
The code they test will go away soon.
2023-04-17Allow overriding the bc implementation used in run-bctb1-2/+7
While base bc is great, it uses libcrypto's BIGNUM implementation. This implies that the independent verification of the bn_test isn't as independent as it should be. With this commit, run-bc picks up bn-gh if it is installed. This appears to work on amd64, arm64 and sparc64 (where gbc is busted). I will send PRs to the regress maintainers once I will have tested this a bit more thoroughly. Committing this early since I juggle way too many diffs already.
2023-04-17Fix typotb1-2/+2
2023-04-17Drop two useless READMEstb2-18/+0
"go ahead" jsing
2023-04-17Skip sect* curve checkstb1-2/+2
GF2m curves will go away soon. This reduces the pile of diffs in my jungle a tiny little bit.
2023-04-17c_zlib.c needs bio_local.h with -DZLIB.tb1-1/+2
Apparently nobody tried to compile libcrypto with ZLI since Jan 2022. Maybe this means that we can unifdef -U ZLIB or maybe not...
2023-04-17Tweak indent and use named registers.jsing1-13/+13
No functional change.
2023-04-17Hook sha3 up to build.jsing1-1/+3
ok tb@
2023-04-17Move BN_bn2mpi()/BN_mpi2bn() into bn_convert.cjsing3-138/+74
2023-04-17Use C99 initializers for the default_pctx and mark it static consttb1-8/+3
2023-04-17Add missing const qualifiers to the v3_* externstb1-11/+11
ok jsing
2023-04-17Fix whitespace in DHparam_print_fp()tb1-2/+4
2023-04-17Remove now unused dh_prn.ctb1-64/+0
2023-04-17Drop dh_prn.ctb1-2/+1
2023-04-17Move DHparam_print_fp() next to DHparam_print()tb2-17/+18
As usual with the fp suffix, the former wraps the latter with a file BIO. There is no reason for this function to be in a separate file.
2023-04-17remove bad Pp;jmc1-3/+2
(sorry, otto, for not spotting in the updated diff)
2023-04-16Fix previous: add a missing andtb1-2/+3
2023-04-16Dump (leak) info using utrace(2) and compile the code always inotto2-148/+199
except for bootblocks. This way we have built-in leak detecction always (if enable by malloc flags). See man pages for details.
2023-04-16Garbage collect the now unused obfuscating macro string_stack_free()tb1-4/+1
2023-04-16Inline the three uses of string_stack_free()tb1-4/+4
sk_OPENSSL_STRING_pop_free() is much more explicit and isn't that much more complicated. x509_util.c can also use it directly... No binary change
2023-04-16Remove the now unused vpm_int.htb1-64/+0
2023-04-16x509_vfy.c and x509_vpm.c don't need vpm_int.h anymoretb2-4/+4
2023-04-16Move X509_VERIFY_PARAM_st from vpm_int.h to x509_local.htb2-13/+13
2023-04-16Provide EVP methods for SHA3 224/256/384/512.jsing3-2/+193
ok tb@
2023-04-16Provide EVP methods for SHA512/224 and SHA512/256.jsing4-4/+91
ok tb@
2023-04-16Bounds check mdlen that is passed to sha3_init().jsing1-2/+5
While here, use KECCAK_BYTE_WIDTH instead of hardcoding the value.
2023-04-16Shuffle ext_cmp() and ext_list_free() up a bittb1-18/+14