[openssl-commits] [openssl] master update

Rich Salz rsalz at openssl.org
Mon Nov 30 21:10:35 UTC 2015


The branch master has been updated
       via  d59c7c81e3850dc667d61047850c3b6936eb5fca (commit)
      from  30c7fea496083d41b809db0041e6dfd3ea9cb858 (commit)


- Log -----------------------------------------------------------------
commit d59c7c81e3850dc667d61047850c3b6936eb5fca
Author: Rich Salz <rsalz at akamai.com>
Date:   Sat Nov 21 08:27:46 2015 -0500

    Remove BN_init
    
    Rename it to be an internal function bn_init.
    
    Reviewed-by: Tim Hudson <tjh at openssl.org>

-----------------------------------------------------------------------

Summary of changes:
 crypto/bn/bn_ctx.c    |  2 +-
 crypto/bn/bn_gcd.c    |  4 ++--
 crypto/bn/bn_lcl.h    |  2 +-
 crypto/bn/bn_lib.c    |  6 ++++--
 crypto/bn/bn_mont.c   |  8 ++++----
 crypto/bn/bn_recp.c   |  4 ++--
 doc/crypto/BN_new.pod | 22 ++--------------------
 7 files changed, 16 insertions(+), 32 deletions(-)

diff --git a/crypto/bn/bn_ctx.c b/crypto/bn/bn_ctx.c
index 19ff68e..be7a20d 100644
--- a/crypto/bn/bn_ctx.c
+++ b/crypto/bn/bn_ctx.c
@@ -365,7 +365,7 @@ static BIGNUM *BN_POOL_get(BN_POOL *p, int flag)
         if (item == NULL)
             return NULL;
         for (loop = 0, bn = item->vals; loop++ < BN_CTX_POOL_SIZE; bn++) {
-            BN_init(bn);
+            bn_init(bn);
             if ((flag & BN_FLG_SECURE) != 0)
                 BN_set_flags(bn, BN_FLG_SECURE);
         }
diff --git a/crypto/bn/bn_gcd.c b/crypto/bn/bn_gcd.c
index d243606..84d1df5 100644
--- a/crypto/bn/bn_gcd.c
+++ b/crypto/bn/bn_gcd.c
@@ -598,7 +598,7 @@ static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in,
          */
          {
             BIGNUM local_B;
-            BN_init(&local_B);
+            bn_init(&local_B);
             BN_with_flags(&local_B, B, BN_FLG_CONSTTIME);
             if (!BN_nnmod(B, &local_B, A, ctx))
                 goto err;
@@ -629,7 +629,7 @@ static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in,
          */
         {
             BIGNUM local_A;
-            BN_init(&local_A);
+            bn_init(&local_A);
             BN_with_flags(&local_A, A, BN_FLG_CONSTTIME);
 
             /* (D, M) := (A/B, A%B) ... */
diff --git a/crypto/bn/bn_lcl.h b/crypto/bn/bn_lcl.h
index 1a75c10..e4281a3 100644
--- a/crypto/bn/bn_lcl.h
+++ b/crypto/bn/bn_lcl.h
@@ -638,10 +638,10 @@ unsigned __int64 _umul128(unsigned __int64 a, unsigned __int64 b,
         }
 # endif                         /* !BN_LLONG */
 
-void BN_init(BIGNUM *a);
 void BN_RECP_CTX_init(BN_RECP_CTX *recp);
 void BN_MONT_CTX_init(BN_MONT_CTX *ctx);
 
+void bn_init(BIGNUM *a);
 void bn_mul_normal(BN_ULONG *r, BN_ULONG *a, int na, BN_ULONG *b, int nb);
 void bn_mul_comba8(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b);
 void bn_mul_comba4(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b);
diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c
index 4a6480b..b9e96b5 100644
--- a/crypto/bn/bn_lib.c
+++ b/crypto/bn/bn_lib.c
@@ -265,9 +265,11 @@ void BN_free(BIGNUM *a)
     }
 }
 
-void BN_init(BIGNUM *a)
+void bn_init(BIGNUM *a)
 {
-    memset(a, 0, sizeof(*a));
+    static BIGNUM nilbn;
+
+    *a = nilbn;
     bn_check_top(a);
 }
 
diff --git a/crypto/bn/bn_mont.c b/crypto/bn/bn_mont.c
index bda2157..90c718b 100644
--- a/crypto/bn/bn_mont.c
+++ b/crypto/bn/bn_mont.c
@@ -327,9 +327,9 @@ BN_MONT_CTX *BN_MONT_CTX_new(void)
 void BN_MONT_CTX_init(BN_MONT_CTX *ctx)
 {
     ctx->ri = 0;
-    BN_init(&(ctx->RR));
-    BN_init(&(ctx->N));
-    BN_init(&(ctx->Ni));
+    bn_init(&(ctx->RR));
+    bn_init(&(ctx->N));
+    bn_init(&(ctx->Ni));
     ctx->n0[0] = ctx->n0[1] = 0;
     ctx->flags = 0;
 }
@@ -367,7 +367,7 @@ int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx)
         BIGNUM tmod;
         BN_ULONG buf[2];
 
-        BN_init(&tmod);
+        bn_init(&tmod);
         tmod.d = buf;
         tmod.dmax = 2;
         tmod.neg = 0;
diff --git a/crypto/bn/bn_recp.c b/crypto/bn/bn_recp.c
index 39eed8b..ef23a8c 100644
--- a/crypto/bn/bn_recp.c
+++ b/crypto/bn/bn_recp.c
@@ -61,8 +61,8 @@
 
 void BN_RECP_CTX_init(BN_RECP_CTX *recp)
 {
-    BN_init(&(recp->N));
-    BN_init(&(recp->Nr));
+    bn_init(&(recp->N));
+    bn_init(&(recp->Nr));
     recp->num_bits = 0;
     recp->flags = 0;
 }
diff --git a/doc/crypto/BN_new.pod b/doc/crypto/BN_new.pod
index 0629b19..22596dc 100644
--- a/doc/crypto/BN_new.pod
+++ b/doc/crypto/BN_new.pod
@@ -2,7 +2,7 @@
 
 =head1 NAME
 
-BN_new, BN_init, BN_clear, BN_free, BN_clear_free - allocate and free BIGNUMs
+BN_new, BN_clear, BN_free, BN_clear_free - allocate and free BIGNUMs
 
 =head1 SYNOPSIS
 
@@ -37,30 +37,12 @@ by L<ERR_get_error(3)>.
 
 BN_clear(), BN_free() and BN_clear_free() have no return values.
 
-=head1 REMOVED FUNCTIONALITY
-
- void BN_init(BIGNUM *);
-
-BN_init() is no longer available as of OpenSSL 1.1.0. It was used to initialize
-an existing uninitialized B<BIGNUM>. Typically this would be done as follows:
-
- BIGNUM a;
- BN_init(&a);
-
-Applications should replace use of BN_init with BN_new instead:
-
- BIGNUM *a;
- a = BN_new();
- if(!a) /* Handle error */
- ...
- BN_free(a);
-
 =head1 SEE ALSO
 
 L<bn(3)>, L<ERR_get_error(3)>
 
 =head1 HISTORY
 
-BN_init() was removed in OpenSSL 1.1.0.
+BN_init() was removed in OpenSSL 1.1.0; use BN_new() instead.
 
 =cut


More information about the openssl-commits mailing list