X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=doc%2Fcrypto%2FBN_CTX_new.pod;h=958e551467574c0bce22d011b1a29470852afe9c;hp=37a188e3c3d643def02fb846c28dd4b6f275f55a;hb=74924dcb3802640d7e2ae2e80ca6515d0a53de7a;hpb=15701211b57b63f1f91a9c3781ea91c019b1dc1d;ds=sidebyside diff --git a/doc/crypto/BN_CTX_new.pod b/doc/crypto/BN_CTX_new.pod index 37a188e3c3..958e551467 100644 --- a/doc/crypto/BN_CTX_new.pod +++ b/doc/crypto/BN_CTX_new.pod @@ -2,7 +2,7 @@ =head1 NAME -BN_CTX_new, BN_CTX_init, BN_CTX_free - allocate and free BN_CTX structures +BN_CTX_new, BN_CTX_secure_new, BN_CTX_init, BN_CTX_free - allocate and free BN_CTX structures =head1 SYNOPSIS @@ -10,7 +10,7 @@ BN_CTX_new, BN_CTX_init, BN_CTX_free - allocate and free BN_CTX structures BN_CTX *BN_CTX_new(void); - void BN_CTX_init(BN_CTX *c); + BN_CTX *BN_CTX_secure_new(void); void BN_CTX_free(BN_CTX *c); @@ -21,28 +21,49 @@ library functions. Since dynamic memory allocation to create Bs is rather expensive when used in conjunction with repeated subroutine calls, the B structure is used. -BN_CTX_new() allocates and initializes a B -structure. BN_CTX_init() initializes an existing uninitialized -B. +BN_CTX_new() allocates and initializes a B structure. +BN_CTX_secure_new() allocates and initializes a B structure +but uses the secure heap (see L) to hold the +Bs. BN_CTX_free() frees the components of the B, and if it was created by BN_CTX_new(), also the structure itself. +If L has been used on the B, +L must be called before the B +may be freed by BN_CTX_free(). +If B is NULL, nothing is done. =head1 RETURN VALUES -BN_CTX_new() returns a pointer to the B. If the allocation fails, -it returns B and sets an error code that can be obtained by +BN_CTX_new() and BN_CTX_secure_new() return a pointer to the B. +If the allocation fails, +they return B and sets an error code that can be obtained by L. -BN_CTX_init() and BN_CTX_free() have no return values. +BN_CTX_free() has no return values. + +=head1 REMOVED FUNCTIONALITY + + void BN_CTX_init(BN_CTX *c); + +BN_CTX_init() is no longer available as of OpenSSL 1.1.0. Applications should +replace use of BN_CTX_init with BN_CTX_new instead: + + BN_CTX *ctx; + ctx = BN_CTX_new(); + if(!ctx) /* Handle error */ + ... + BN_CTX_free(ctx); =head1 SEE ALSO -L, L, L +L, L, L, +L =head1 HISTORY BN_CTX_new() and BN_CTX_free() are available in all versions on SSLeay -and OpenSSL. BN_CTX_init() was added in SSLeay 0.9.1b. +and OpenSSL. BN_CTX_init() was added in SSLeay 0.9.1b and removed in OpenSSL +1.1.0. =cut