openssl/doc/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
..
ASN1_generate_nconf.pod
ASN1_INTEGER_get_int64.pod Fixed a bunch of typos in the docs 2016-03-19 20:23:22 -04:00
ASN1_OBJECT_new.pod Fixed a bunch of typos in the docs 2016-03-19 20:23:22 -04:00
ASN1_STRING_length.pod
ASN1_STRING_new.pod
ASN1_STRING_print_ex.pod
ASN1_TIME_set.pod
ASN1_TYPE_get.pod
ASYNC_start_job.pod Fixed a bunch of typos in the docs 2016-03-19 20:23:22 -04:00
ASYNC_WAIT_CTX_new.pod Clarify ASYNC_WAIT_CTX_clear_fd() docs 2016-02-29 12:58:44 +00:00
BIO_ADDR.pod Add a BIO_ADDR_clear function 2016-02-05 20:47:36 +00:00
BIO_ADDRINFO.pod Fixed a bunch of typos in the docs 2016-03-19 20:23:22 -04:00
BIO_connect.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
BIO_ctrl.pod
BIO_f_base64.pod RT4660: BIO_METHODs should be const. 2016-03-21 16:49:10 -04:00
BIO_f_buffer.pod RT4660: BIO_METHODs should be const. 2016-03-21 16:49:10 -04:00
BIO_f_cipher.pod RT4660: BIO_METHODs should be const. 2016-03-21 16:49:10 -04:00
BIO_f_md.pod RT4660: BIO_METHODs should be const. 2016-03-21 16:49:10 -04:00
BIO_f_null.pod RT4660: BIO_METHODs should be const. 2016-03-21 16:49:10 -04:00
BIO_f_ssl.pod RT4660: BIO_METHODs should be const. 2016-03-21 16:49:10 -04:00
BIO_find_type.pod
BIO_get_data.pod Add documentation for BIO functions 2016-03-29 17:40:54 +01:00
BIO_get_ex_new_index.pod
BIO_meth_new.pod Add documentation for BIO functions 2016-03-29 17:40:54 +01:00
BIO_new_CMS.pod
BIO_new.pod RT4660: BIO_METHODs should be const. 2016-03-21 16:49:10 -04:00
BIO_parse_hostserv.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
BIO_push.pod Add documentation for BIO functions 2016-03-29 17:40:54 +01:00
BIO_read.pod Clarify the behavior of BIO_gets() a bit more 2016-03-29 18:10:49 -04:00
BIO_s_accept.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
BIO_s_bio.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
BIO_s_connect.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
BIO_s_fd.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
BIO_s_file.pod RT4660: BIO_METHODs should be const. 2016-03-21 16:49:10 -04:00
BIO_s_mem.pod Optimized BIO mem read - without reallocation 2016-04-02 16:57:07 -04:00
BIO_s_null.pod RT4660: BIO_METHODs should be const. 2016-03-21 16:49:10 -04:00
BIO_s_socket.pod RT4660: BIO_METHODs should be const. 2016-03-21 16:49:10 -04:00
BIO_set_callback.pod
BIO_should_retry.pod Add documentation for BIO functions 2016-03-29 17:40:54 +01:00
bio.pod
blowfish.pod
BN_add_word.pod
BN_add.pod
BN_BLINDING_new.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
BN_bn2bin.pod New BN functions. 2016-02-02 17:17:38 +00:00
BN_cmp.pod
BN_copy.pod
BN_CTX_new.pod
BN_CTX_start.pod
BN_generate_prime.pod Backwards-compatibility subject to OPENSSL_API_COMPAT 2016-01-07 20:53:18 -05:00
bn_internal.pod
BN_mod_inverse.pod
BN_mod_mul_montgomery.pod
BN_mod_mul_reciprocal.pod
BN_new.pod
BN_num_bytes.pod
BN_rand.pod
BN_set_bit.pod
BN_swap.pod
BN_zero.pod Backwards-compatibility subject to OPENSSL_API_COMPAT 2016-01-07 20:53:18 -05:00
bn.pod
buffer.pod Rename some BUF_xxx to OPENSSL_xxx 2015-12-16 16:14:49 -05:00
CMS_add0_cert.pod
CMS_add1_recipient_cert.pod
CMS_add1_signer.pod
CMS_compress.pod
CMS_decrypt.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
CMS_encrypt.pod
CMS_final.pod
CMS_get0_RecipientInfos.pod
CMS_get0_SignerInfos.pod
CMS_get0_type.pod
CMS_get1_ReceiptRequest.pod
CMS_sign_receipt.pod
CMS_sign.pod
CMS_uncompress.pod
CMS_verify_receipt.pod
CMS_verify.pod
CONF_modules_free.pod
CONF_modules_load_file.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
CRYPTO_get_ex_new_index.pod GH768: Minor grammar nits in CRYPTO_get_ex_new_index.pod 2016-03-07 12:52:15 -05:00
crypto.pod Various RT doc fixes 2016-02-05 11:10:55 -05:00
d2i_ASN1_OBJECT.pod
d2i_CMS_ContentInfo.pod
d2i_DHparams.pod
d2i_DSAPublicKey.pod update DSA docs 2016-02-01 15:12:54 +00:00
d2i_ECPKParameters.pod
d2i_ECPrivateKey.pod
d2i_PKCS8PrivateKey.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
d2i_RSAPublicKey.pod
d2i_X509_ALGOR.pod
d2i_X509_CRL.pod
d2i_X509_NAME.pod Add function to return internal enoding of X509_NAME. 2016-01-30 16:02:48 +00:00
d2i_X509_REQ.pod
d2i_X509_SIG.pod Make X509_SIG opaque. 2016-03-11 17:40:47 +00:00
d2i_X509.pod
des_modes.pod
des.pod
DH_generate_key.pod
DH_generate_parameters.pod Backwards-compatibility subject to OPENSSL_API_COMPAT 2016-01-07 20:53:18 -05:00
DH_new.pod
DH_set_method.pod
DH_size.pod
dh.pod
DSA_do_sign.pod
DSA_dup_DH.pod
DSA_generate_key.pod
DSA_generate_parameters.pod Backwards-compatibility subject to OPENSSL_API_COMPAT 2016-01-07 20:53:18 -05:00
DSA_new.pod
DSA_set_method.pod
DSA_SIG_new.pod constify DSA_SIG_get0() 2016-03-20 19:56:56 +00:00
DSA_sign.pod
DSA_size.pod
dsa.pod
EC_GFp_simple_method.pod
EC_GROUP_copy.pod GH601: Various spelling fixes. 2016-02-05 15:25:50 -05:00
EC_GROUP_new.pod RT3676: Expose ECgroup i2d functions 2016-03-09 12:25:21 -05:00
EC_KEY_new.pod Reformat and update EC_KEY_new manual page. 2016-02-27 18:46:03 +00:00
EC_POINT_add.pod
EC_POINT_new.pod Update and clarify EC_POINT documentation. 2016-02-27 02:11:08 +00:00
ec.pod Add CRYPTO_EX_DATA; remove EC_EXTRA_DATA 2016-01-13 14:32:59 -05:00
ecdsa.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
engine.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
ERR_clear_error.pod
ERR_error_string.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
ERR_get_error.pod
ERR_GET_LIB.pod
ERR_load_crypto_strings.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
ERR_load_strings.pod
ERR_print_errors.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
ERR_put_error.pod
ERR_remove_state.pod Convert ERR_STATE to new multi-threading API 2016-03-08 14:11:09 +00:00
ERR_set_mark.pod
err.pod Convert ERR_STATE to new multi-threading API 2016-03-08 14:11:09 +00:00
EVP_BytesToKey.pod
EVP_CIPHER_CTX_get_cipher_data.pod Rename EVP_CIPHER_CTX_cipher_data to EVP_CIPHER_CTX_get_cipher_data 2016-03-07 21:42:09 +00:00
EVP_CIPHER_meth_new.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
EVP_DigestInit.pod Review comments 2016-03-11 10:39:10 -05:00
EVP_DigestSignInit.pod
EVP_DigestVerifyInit.pod
EVP_EncryptInit.pod Correct faulty L<> links in .pods 2016-03-19 11:39:47 +01:00
EVP_MD_meth_new.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
EVP_OpenInit.pod
EVP_PKEY_cmp.pod
EVP_PKEY_CTX_ctrl.pod
EVP_PKEY_CTX_new.pod
EVP_PKEY_decrypt.pod
EVP_PKEY_derive.pod
EVP_PKEY_encrypt.pod
EVP_PKEY_get_default_digest.pod
EVP_PKEY_HKDF.pod Fix pkeyutl to KDF lnks. 2016-03-07 15:02:21 -05:00
EVP_PKEY_keygen.pod
EVP_PKEY_new.pod Update EVP_PKEY documentation. 2015-12-14 23:06:14 +00:00
EVP_PKEY_print_private.pod
EVP_PKEY_set1_RSA.pod Fix typo in manual, missing ending '>' 2016-03-14 16:52:54 +01:00
EVP_PKEY_sign.pod
EVP_PKEY_TLS1_PRF.pod Improved HKDF and TLS1-PRF documentation 2016-03-04 01:23:46 -05:00
EVP_PKEY_verify_recover.pod
EVP_PKEY_verify.pod
EVP_SealInit.pod
EVP_SignInit.pod
EVP_VerifyInit.pod
evp.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
hmac.pod Backwards-compatibility subject to OPENSSL_API_COMPAT 2016-01-07 20:53:18 -05:00
i2d_CMS_bio_stream.pod
i2d_PKCS7_bio_stream.pod
lh_stats.pod
lhash.pod
md5.pod
mdc2.pod
OBJ_nid2obj.pod
OCSP_cert_to_id.pod GH601: Various spelling fixes. 2016-02-05 15:25:50 -05:00
OCSP_request_add1_nonce.pod
OCSP_REQUEST_new.pod
OCSP_response_find_status.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
OCSP_response_status.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
OCSP_sendreq_new.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
OpenSSL_add_all_algorithms.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
OPENSSL_Applink.pod
OPENSSL_config.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
OPENSSL_ia32cap.pod
OPENSSL_init_crypto.pod Change names of ordinals and libs, libeay => libcrypto and ssleay => libssl 2016-03-05 09:02:33 +01:00
OPENSSL_instrument_bus.pod
OPENSSL_load_builtin_modules.pod
OPENSSL_malloc.pod RT4351: Update doc for OPENSSL_cleanse 2016-02-28 09:40:41 -05:00
OPENSSL_secure_malloc.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
OPENSSL_VERSION_NUMBER.pod Make it possible to get ENGINESDIR info from OpenSSL_versions 2016-02-10 19:36:48 +01:00
PEM_write_bio_CMS_stream.pod
PEM_write_bio_PKCS7_stream.pod
pem.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
PKCS5_PBKDF2_HMAC.pod
PKCS7_decrypt.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
PKCS7_encrypt.pod
PKCS7_sign_add_signer.pod
PKCS7_sign.pod
PKCS7_verify.pod Add PKCS7_NO_DUAL_CONTENT flag 2016-02-23 08:42:03 -05:00
PKCS12_create.pod
PKCS12_parse.pod
RAND_add.pod
RAND_bytes.pod Backwards-compatibility subject to OPENSSL_API_COMPAT 2016-01-07 20:53:18 -05:00
RAND_cleanup.pod
RAND_egd.pod
RAND_load_file.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
RAND_set_rand_method.pod
rand.pod
rc4.pod
ripemd.pod
RSA_blinding_on.pod
RSA_check_key.pod
RSA_generate_key.pod Backwards-compatibility subject to OPENSSL_API_COMPAT 2016-01-07 20:53:18 -05:00
RSA_new.pod
RSA_padding_add_PKCS1_type_1.pod
RSA_print.pod
RSA_private_encrypt.pod
RSA_public_encrypt.pod
RSA_set_method.pod documentation: RSA_new_method argument 2016-02-18 17:16:42 -05:00
RSA_sign_ASN1_OCTET_STRING.pod
RSA_sign.pod
RSA_size.pod
rsa.pod
sha.pod
sk_X509_num.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
SMIME_read_CMS.pod
SMIME_read_PKCS7.pod
SMIME_write_CMS.pod
SMIME_write_PKCS7.pod
threads.pod Implement new multi-threading API 2016-02-26 10:00:36 +00:00
ui.pod
x509.pod
X509_check_ca.pod
X509_check_host.pod Add X509_CHECK_FLAG_NEVER_CHECK_SUBJECT flag 2016-03-09 20:41:28 -05:00
X509_check_issued.pod
X509_CRL_get0_by_serial.pod
X509_EXTENSION_set_object.pod Add extension utility documentation. 2015-12-12 14:11:20 +00:00
X509_get0_signature.pod
X509_get0_uids.pod
X509_get_extension_flags.pod
X509_get_pubkey.pod New function X509_get0_pubkey 2015-12-14 23:06:14 +00:00
X509_get_serialNumber.pod Document X509_get_serialNumber and X509_set_serialNumber. 2016-03-14 00:23:13 +00:00
X509_get_subject_name.pod
X509_get_version.pod
X509_LOOKUP_hash_dir.pod Correct faulty L<> links in .pods 2016-03-19 11:39:47 +01:00
X509_NAME_add_entry_by_txt.pod
X509_NAME_ENTRY_get_object.pod
X509_NAME_get_index_by_NID.pod
X509_NAME_print_ex.pod
X509_new.pod Add documenation for X509_chain_up_ref() 2016-02-06 18:18:28 +00:00
X509_sign.pod Various RT doc fixes 2016-02-05 11:10:55 -05:00
X509_STORE_CTX_get_error.pod
X509_STORE_CTX_new.pod
X509_STORE_CTX_set_verify_cb.pod
X509_STORE_new.pod Convert CRYPTO_LOCK_X509_* to new multi-threading API 2016-03-08 11:10:34 -05:00
X509_STORE_set_verify_cb_func.pod
X509_verify_cert.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00
X509_VERIFY_PARAM_set_flags.pod Deprecate the -issuer_checks debugging option 2016-02-10 12:34:06 -05:00
X509v3_get_ext_by_NID.pod extension documentation 2015-12-12 14:11:20 +00:00
X509V3_get_d2i.pod Correct another batch of typos 2016-03-22 21:57:26 -04:00