openssl/crypto
Matt Caswell 59ee70e386 There are a number of instances throughout the code where the constant 28 is
used with no explanation. Some of this was introduced as part of RT#1929. The
value 28 is the length of the IP header (20 bytes) plus the UDP header (8
bytes). However use of this constant is incorrect because there may be
instances where a different value is needed, e.g. an IPv4 header is 20 bytes
but an IPv6 header is 40. Similarly you may not be using UDP (e.g. SCTP).
This commit introduces a new BIO_CTRL that provides the value to be used for
this mtu "overhead". It will be used by subsequent commits.

Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 0d3ae34df5)

Conflicts:
	crypto/bio/bss_dgram.c
2014-12-03 09:34:04 +00:00
..
aes aesni-x86_64.pl: make ECB subroutine Windows ABI compliant. 2014-10-15 11:13:14 +02:00
asn1 RT2400: ASN1_STRING_to_UTF8 missing initializer 2014-08-27 22:59:52 -04:00
bf make update 2014-01-06 13:33:27 +00:00
bio There are a number of instances throughout the code where the constant 28 is 2014-12-03 09:34:04 +00:00
bn crypto/bn/bn_nist.c: work around MSC ARM compiler bug. 2014-09-25 00:47:18 +02:00
buffer make update 2014-01-06 13:33:27 +00:00
camellia make update 2014-01-06 13:33:27 +00:00
cast make update 2014-01-06 13:33:27 +00:00
cmac make update 2014-01-06 13:33:27 +00:00
cms Don't clean up uninitialised EVP_CIPHER_CTX on error (CID 483259). 2014-07-10 17:52:37 +01:00
comp make update 2014-01-06 13:33:27 +00:00
conf Prevent infinite loop loading config files. 2014-07-07 13:50:00 +01:00
des make update 2014-01-06 13:33:27 +00:00
dh make update 2014-01-06 13:33:27 +00:00
dsa RT3061: Don't SEGFAULT when trying to export a public DSA key as a private key. 2014-08-22 15:25:18 +02:00
dso Fix a wrong parameter count ERR_add_error_data 2014-05-19 22:17:00 +01:00
ec Fix free of garbage pointer. PR#3595 2014-11-12 20:31:27 +00:00
ecdh make update 2014-01-06 13:33:27 +00:00
ecdsa make update 2014-01-06 13:33:27 +00:00
engine Add loaded dynamic ENGINEs to list. 2014-01-28 13:57:34 +00:00
err Fix SSL_R naming inconsistency. 2014-10-15 14:47:39 +02:00
evp Include "constant_time_locl.h" rather than "../constant_time_locl.h". 2014-10-15 10:49:35 +02:00
hmac make update 2014-01-06 13:33:27 +00:00
idea Fix typo in ideatest.c 2014-06-28 00:06:40 +01:00
jpake apply J-PKAKE fix to HEAD (original by Ben) 2010-11-29 18:33:28 +00:00
krb5 make update 2014-01-06 13:33:27 +00:00
lhash make update 2014-01-06 13:33:27 +00:00
md2 Prohibit use of low level digest APIs in FIPS mode. 2011-06-01 13:39:45 +00:00
md4 make update 2014-01-06 13:33:27 +00:00
md5 md5-x86_64.pl: work around warning. 2014-08-30 19:19:01 +02:00
mdc2 make update 2014-01-06 13:33:27 +00:00
modes RT2308: Add extern "C" { ... } wrapper 2014-08-27 21:47:12 -04:00
objects Fix cross reference table generator. 2014-11-13 13:35:58 +00:00
ocsp RT2560: missing NULL check in ocsp_req_find_signer 2014-09-10 12:20:25 -04:00
pem Sanity check keylength in PVK files. 2014-07-06 00:36:11 +01:00
perlasm Reduce version skew. 2012-06-08 09:18:47 +00:00
pkcs7 Removed duplicate definition of PKCS7_type_is_encrypted 2014-10-06 23:46:25 +01:00
pkcs12 Fix memory leak. 2014-05-29 14:12:14 +01:00
pqueue RT2308: Add extern "C" { ... } wrapper 2014-08-27 21:47:12 -04:00
rand Fix error discrepancy. 2014-08-01 18:42:40 +01:00
rc2 make update 2014-01-06 13:33:27 +00:00
rc4 make update 2014-01-06 13:33:27 +00:00
rc5 Make inline assembler clang-friendly [from HEAD]. 2010-08-02 21:54:48 +00:00
ripemd make update 2014-01-06 13:33:27 +00:00
rsa Include "constant_time_locl.h" rather than "../constant_time_locl.h". 2014-10-15 10:49:35 +02:00
seed make update 2014-01-06 13:33:27 +00:00
sha make update 2014-01-06 13:33:27 +00:00
srp Fix SRP buffer overrun vulnerability. 2014-08-06 20:27:51 +01:00
stack RT2308: Add extern "C" { ... } wrapper 2014-08-27 21:47:12 -04:00
store Make it possible to disable STORE. 2009-02-19 09:42:51 +00:00
threads Functional VMS changes submitted by sms@antinode.info (Steven M. Schweda). 2009-05-15 16:37:08 +00:00
ts Correct timestamp output when clock_precision_digits > 0 2014-11-12 20:54:10 +00:00
txt_db make update 2014-01-06 13:33:27 +00:00
ui * crypto/ui/ui_lib.c: misplaced brace in switch statement. 2014-07-13 19:15:30 +02:00
whrlpool make update 2014-01-06 13:33:27 +00:00
x509 x509/by_dir.c: fix run-away pointer (and potential SEGV) 2014-02-24 15:23:46 +01:00
x509v3 Extension checking fixes. 2014-04-15 18:53:04 +01:00
.cvsignore Apply mingw patches as supplied by Roumen Petrov an Alon Bar-Lev 2008-04-17 10:19:16 +00:00
alphacpuid.pl Alpha assembler fixed from HEAD. 2011-08-12 12:31:08 +00:00
arm_arch.h ARM assembler pack update from HEAD. 2011-11-14 20:58:01 +00:00
armcap.c crypto/armcap.c: fix typo in rdtsc subroutine. 2013-09-15 22:11:34 +02:00
armv4cpuid.S ARM assembler pack update from HEAD. 2011-11-14 20:58:01 +00:00
constant_time_locl.h Fix warning about negative unsigned intergers 2014-11-11 15:48:34 +01:00
constant_time_test.c Add missing tests 2014-09-25 13:47:16 +02:00
cpt_err.c Implement FIPS_mode and FIPS_mode_set 2011-05-19 18:19:07 +00:00
cryptlib.c Avoid Windows 8 Getversion deprecated errors. 2014-02-25 13:42:25 +00:00
cryptlib.h Reduce version skew. 2012-06-08 09:18:47 +00:00
crypto-lib.com Spaces were added in some strings for better readability. However, those spaces do not belong in file names, so when picking out the individual parts, remove the spaces 2014-10-15 10:49:24 +02:00
crypto.h Add and use a constant-time memcmp. 2013-01-28 17:30:38 +00:00
cversion.c (oops) Apologies all, that last header-cleanup commit was from the wrong 2004-04-19 18:09:28 +00:00
ebcdic.c Oops, this file already had the "empty source file" workaround but it 2003-10-29 22:25:04 +00:00
ebcdic.h RT2308: Add extern "C" { ... } wrapper 2014-08-27 21:47:12 -04:00
ex_data.c Avoid warnings with -pedantic, specifically: 2008-07-04 23:12:52 +00:00
fips_err.h Update error codes for FIPS. 2011-10-21 13:04:27 +00:00
fips_ers.c Add FIPS error codes. 2011-06-21 16:58:10 +00:00
ia64cpuid.S IA64 assembler pack update from HEAD. 2011-11-14 20:45:57 +00:00
install-crypto.com Adjust VMS build to Unix build. Most of all, make it so the disabled 2014-10-15 10:49:08 +02:00
LPdir_nyi.c Copy a few files from LPlib (a new project of mine), add a wrapper. 2004-07-10 13:16:02 +00:00
LPdir_unix.c Import changed files from LPlib. The changes are logged as follows 2004-09-23 22:11:39 +00:00
LPdir_vms.c Followup on RT3334 fix: make sure that a directory that's the empty 2014-09-03 22:26:05 +02:00
LPdir_win32.c Import changed files from LPlib. The changes are logged as follows 2004-09-23 22:11:39 +00:00
LPdir_win.c Check for FindNextFile when defining it rather than FindFirstFile 2014-11-28 23:31:45 +01:00
LPdir_wince.c Import changed files from LPlib. The changes are logged as follows 2004-09-23 22:11:39 +00:00
Makefile Add constant_time_locl.h to HEADERS, 2014-10-15 10:49:51 +02:00
md32_common.h md32_common.h: address compiler warning in HOST_c2l. 2014-10-29 10:55:48 +01:00
mem_clr.c Fix warning. 2007-06-23 18:47:51 +00:00
mem_dbg.c PR: 1894 2009-04-16 17:22:51 +00:00
mem.c Fix datarace reported by valgrind/helgrind 2014-11-10 18:36:09 +01:00
o_dir_test.c Copy a few files from LPlib (a new project of mine), add a wrapper. 2004-07-10 13:16:02 +00:00
o_dir.c DJGPP has opendir() and friends, according to Gisle Vanem <giva@bgnett.no>. 2004-08-03 19:15:21 +00:00
o_dir.h Copy a few files from LPlib (a new project of mine), add a wrapper. 2004-07-10 13:16:02 +00:00
o_fips.c call OPENSSL_init when calling FIPS_mode too 2012-04-20 14:42:54 +00:00
o_init.c The first of many changes to make OpenSSL 1.0.1 FIPS capable. 2011-05-26 14:19:19 +00:00
o_str.c Update from HEAD. 2009-06-01 12:14:15 +00:00
o_str.h "Overload" SunOS 4.x memcmp, which ruins ASN1_OBJECT table lookups. 2005-09-20 20:19:07 +00:00
o_time.c Apply all the changes submitted by Steven M. Schweda <sms@antinode.info> 2011-03-19 09:47:47 +00:00
o_time.h Experimental new date handling routines. These fix issues with X509_time_adj() 2008-10-07 22:55:27 +00:00
opensslconf.h.in Eliminate warning induced by http://cvs.openssl.org/chngview?cn=14690 and 2005-12-16 10:37:24 +00:00
opensslv.h Prepare for 1.0.1k-dev 2014-10-15 13:55:20 +01:00
ossl_typ.h RT2308: Add extern "C" { ... } wrapper 2014-08-27 21:47:12 -04:00
pariscid.pl PA-RISC assembler pack: switch to bve in 64-bit builds. 2013-06-30 23:15:53 +02:00
ppccap.c ppccap.c: assume no features under 32-bit AIX kernel [from HEAD]. 2012-05-16 18:18:29 +00:00
ppccpuid.pl ppccpuid.pl: branch hints in OPENSSL_cleanse impact small block performance 2012-04-27 20:20:15 +00:00
s390xcap.c s390x assembler pack update from HEAD. 2011-11-14 20:47:22 +00:00
s390xcpuid.S s390x assembler pack update from HEAD. 2011-11-14 20:47:22 +00:00
sparccpuid.S sparccpuid.S: work around emulator bug on T1. 2013-02-11 10:41:57 +01:00
sparcv9cap.c sparcv9cap.c: omit unused variable. 2012-01-12 14:19:52 +00:00
symhacks.h VMS fixes 2014-01-11 22:42:37 +00:00
uid.c Netware-specific changes, 2003-11-28 13:10:58 +00:00
vms_rms.h Apply all the changes submitted by Steven M. Schweda <sms@antinode.info> 2011-03-19 09:47:47 +00:00
x86_64cpuid.pl x86_64 assembly pack: make Windows build more robust [from master]. 2013-01-22 22:54:04 +01:00
x86cpuid.pl x86cpuid.pl: make it work with older CPUs. 2013-03-18 19:50:23 +01:00