openssl/crypto
Kirill Marinushkin 9fe9d0461e Optimized BIO mem read - without reallocation
Currently on every BIO mem read operation the remaining data is reallocated.
This commit solves the issue.
BIO mem structure includes additional pointer to the read position.
On every read the pointer moves instead of reallocating the memory for the remaining data.
Reallocation accures before write and some ioctl operations, if the read pointer doesn't point on the beginning of the buffer.
Also the flag is added to rewind the read pointer without losing the data.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-04-02 16:57:07 -04:00
..
aes Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
asn1 Fix buffer overrun in ASN1_parse(). 2016-03-30 20:28:44 +01:00
async Fix memory leak where fdlookup linked list is not freed during 2016-03-21 16:57:34 +00:00
bf Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
bio Optimized BIO mem read - without reallocation 2016-04-02 16:57:07 -04:00
blake2 crypto/blake2: make lowest-level function handle multiple blocks.. 2016-03-31 21:34:00 +02:00
bn Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
buffer Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
camellia Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
cast Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
chacha Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
cmac Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
cms Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
comp Fix the zlib config option 2016-03-29 23:57:25 +01:00
conf Move dso.h to internal 2016-03-23 09:12:11 -04:00
ct Removed unused fields of CT_POLICY_EVAL_CTX 2016-03-22 21:58:04 -04:00
des Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
dh Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
dsa Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
dso VMS: update the properties of symbol search 2016-03-23 19:58:12 +01:00
ec RT 4393: Call EC_GROUP_order_bits in priv2opt. 2016-03-29 20:03:48 +02:00
engine Move dso.h to internal 2016-03-23 09:12:11 -04:00
err Fix "no-ui" configuration 2016-03-31 13:32:01 +02:00
evp Make BIO opaque 2016-03-29 17:40:54 +01:00
hmac Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
idea Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
include/internal Remove #error from include files. 2016-03-20 19:48:36 -04:00
kdf Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
lhash Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
md2 Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
md4 Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
md5 Build system: VC-WIN64I fixups. 2016-03-21 11:44:27 +01:00
mdc2 Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
modes Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
objects Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
ocsp Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
pem Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
perlasm SPARCv9 assembly pack: unify build rules and argument handling. 2016-03-08 15:51:06 +01:00
pkcs7 Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
pkcs12 Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
poly1305 poly1305/asm/poly1305-x86.pl: don't loose 59-th bit. 2016-03-29 09:55:43 +02:00
rand Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
rc2 Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
rc4 Build system: VC-WIN64I fixups. 2016-03-21 11:44:27 +01:00
rc5 Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
ripemd Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
rsa Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
seed crypto/seed: add small-footprint path. 2016-03-29 09:53:51 +02:00
sha Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
srp Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
stack Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
ts Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
txt_db Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
ui Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
whrlpool Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
x509 Fix X509_PUBKEY cached key handling. 2016-04-02 17:34:27 +01:00
x509v3 Make X509_PUBKEY opaque 2016-03-22 15:28:11 +00:00
alphacpuid.pl Unified - adapt the generation of cpuid, uplink and buildinf to use GENERATE 2016-03-09 11:09:26 +01:00
arm64cpuid.pl Add assembly support to ios64-cross. 2015-01-23 15:38:41 +01:00
arm_arch.h Run util/openssl-format-source -v -c . 2015-01-22 09:20:09 +00:00
armcap.c Add assembly support for 32-bit iOS. 2015-04-20 15:06:22 +02:00
armv4cpuid.pl ARMv4 assembly pack: implement support for Thumb2. 2015-09-25 13:34:02 +02:00
build.info Break out DllMain from crypto/cryptlib.c and use it in shared libs only 2016-03-30 11:22:42 +02:00
c64xpluscpuid.pl C64x+ assembly pack: make it work with older toolchain. 2014-05-04 16:38:32 +02:00
cpt_err.c After renaming init, update errors. 2016-02-10 15:52:32 -05:00
cryptlib.c Break out DllMain from crypto/cryptlib.c and use it in shared libs only 2016-03-30 11:22:42 +02:00
cversion.c Make it possible to get ENGINESDIR info from OpenSSL_versions 2016-02-10 19:36:48 +01:00
dllmain.c Break out DllMain from crypto/cryptlib.c and use it in shared libs only 2016-03-30 11:22:42 +02:00
ebcdic.c Use NON_EMPTY_TRANSLATION_UNIT, consistently. 2016-02-09 20:13:29 -05:00
ex_data.c Fix error code 2016-03-23 08:15:55 -04:00
fips_err.h Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
fips_ers.c Use NON_EMPTY_TRANSLATION_UNIT, consistently. 2016-02-09 20:13:29 -05:00
ia64cpuid.S IA-64 assembler pack: fix typos and make it work on HP-UX. 2011-05-07 20:36:05 +00:00
init.c Fix no-sock 2016-03-21 16:33:59 +00:00
LPdir_nyi.c Run util/openssl-format-source -v -c . 2015-01-22 09:20:09 +00:00
LPdir_unix.c memset, memcpy, sizeof consistency fixes 2015-05-05 22:18:59 -04:00
LPdir_vms.c memset, memcpy, sizeof consistency fixes 2015-05-05 22:18:59 -04:00
LPdir_win.c memset, memcpy, sizeof consistency fixes 2015-05-05 22:18:59 -04:00
LPdir_win32.c Run util/openssl-format-source -v -c . 2015-01-22 09:20:09 +00:00
LPdir_wince.c Run util/openssl-format-source -v -c . 2015-01-22 09:20:09 +00:00
Makefile.in Remove the remainder of util/mk1mf.pl and companion scripts 2016-03-21 11:02:00 +01:00
mem.c Build fix: remove cleanse_ctr 2016-02-25 10:19:50 -05:00
mem_clr.c RT4116: Change cleanse to just memset 2016-02-25 10:04:00 -05:00
mem_dbg.c Remove the CRYPTO_mem_leaks adjustment for the BIO 2016-03-31 00:12:47 +01:00
mem_sec.c Convert mem_dbg and mem_sec to the new Thread API 2016-03-08 21:06:04 +00:00
o_dir.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
o_fips.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
o_init.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
o_str.c Fix master compile error 2016-02-26 16:50:59 +00:00
o_time.c Remove Netware and OS/2 2016-03-17 17:06:57 -04:00
pariscid.pl PA-RISC assembler pack: switch to bve in 64-bit builds. 2013-06-18 10:37:00 +02:00
ppc_arch.h crypto/ppccap.c: add SIGILL-free processor capability detection code. 2015-12-14 16:08:49 +01:00
ppccap.c Configurations: engage PPC ChaCha20 and Poly1305 modules. 2016-02-13 17:22:20 +01:00
ppccpuid.pl crpyto/ppccpuid.pl: add FPU probe and fix OPENSSL_rdtsc. 2015-12-14 16:09:25 +01:00
s390xcap.c Run util/openssl-format-source -v -c . 2015-01-22 09:20:09 +00:00
s390xcpuid.S Multiple assembler packs: add experimental memory bus instrumentation. 2011-04-17 12:46:00 +00:00
sparc_arch.h Run util/openssl-format-source -v -c . 2015-01-22 09:20:09 +00:00
sparccpuid.S Conversion to UTF-8 where needed 2015-07-14 01:10:01 +02:00
sparcv9cap.c crypto/sparcv9cap.c: add SIGILL-free feature detection for Solaris. 2015-12-02 10:53:33 +01:00
threads_none.c Implement new multi-threading API 2016-02-26 10:00:36 +00:00
threads_pthread.c GH773: Possible leak on CRYPTO_THREAD_lock_new failure 2016-03-03 19:47:01 -05:00
threads_win.c Fix: CRYPTO_THREAD_run_once 2016-04-02 16:56:09 -04:00
uid.c Remove Netware and OS/2 2016-03-17 17:06:57 -04:00
vms_rms.h Run util/openssl-format-source -v -c . 2015-01-22 09:20:09 +00:00
x86_64cpuid.pl x86[_64]cpuid.pl: add low-level RDSEED. 2014-02-14 17:24:12 +01:00
x86cpuid.pl Unified - adapt the generation of cpuid, uplink and buildinf to use GENERATE 2016-03-09 11:09:26 +01:00