Remove redundant DH_num_bits API

This isn't actually an OpenSSL API. We added it back in
https://boringssl-review.googlesource.com/4813. OpenSSL later introduced
DH_bits. Code search suggests no one ever used DH_num_bits so let's just
standardize on DH_bits.

Update-Note: Users of DH_num_bits should switch to DH_bits. (None seem
to exist.)

Change-Id: Ie2dab37e5948944956b35fea7abd0f8c23d2386b
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/90247
Auto-Submit: David Benjamin <davidben@google.com>
Commit-Queue: Rudolf Polzer <rpolzer@google.com>
Reviewed-by: Rudolf Polzer <rpolzer@google.com>
diff --git a/crypto/fipsmodule/dh/dh.cc.inc b/crypto/fipsmodule/dh/dh.cc.inc
index 00c8a7f..dd75a35 100644
--- a/crypto/fipsmodule/dh/dh.cc.inc
+++ b/crypto/fipsmodule/dh/dh.cc.inc
@@ -395,11 +395,6 @@
   return BN_num_bytes(impl->p);
 }
 
-unsigned DH_num_bits(const DH *dh) {
-  auto *impl = FromOpaque(dh);
-  return BN_num_bits(impl->p);
-}
-
 int DH_up_ref(DH *dh) {
   auto *impl = FromOpaque(dh);
   impl->UpRefInternal();
diff --git a/include/openssl/dh.h b/include/openssl/dh.h
index 4a3fb98..acba59f 100644
--- a/include/openssl/dh.h
+++ b/include/openssl/dh.h
@@ -59,6 +59,9 @@
 // DH_bits returns the size of |dh|'s group modulus, in bits.
 OPENSSL_EXPORT unsigned DH_bits(const DH *dh);
 
+// DH_size returns the number of bytes in the DH group's prime.
+OPENSSL_EXPORT int DH_size(const DH *dh);
+
 // DH_get0_pub_key returns |dh|'s public key.
 OPENSSL_EXPORT const BIGNUM *DH_get0_pub_key(const DH *dh);
 
@@ -212,13 +215,6 @@
 
 // Utility functions.
 
-// DH_size returns the number of bytes in the DH group's prime.
-OPENSSL_EXPORT int DH_size(const DH *dh);
-
-// DH_num_bits returns the minimum number of bits needed to represent the
-// absolute value of the DH group's prime.
-OPENSSL_EXPORT unsigned DH_num_bits(const DH *dh);
-
 #define DH_CHECK_P_NOT_PRIME 0x01
 #define DH_CHECK_P_NOT_SAFE_PRIME 0x02
 #define DH_CHECK_UNABLE_TO_CHECK_GENERATOR 0x04
diff --git a/include/openssl/prefix_symbols.h b/include/openssl/prefix_symbols.h
index 8a14395..bf94685 100644
--- a/include/openssl/prefix_symbols.h
+++ b/include/openssl/prefix_symbols.h
@@ -688,7 +688,6 @@
 #pragma redefine_extname DH_get_rfc7919_2048 BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(DH_get_rfc7919_2048))
 #pragma redefine_extname DH_marshal_parameters BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(DH_marshal_parameters))
 #pragma redefine_extname DH_new BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(DH_new))
-#pragma redefine_extname DH_num_bits BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(DH_num_bits))
 #pragma redefine_extname DH_parse_parameters BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(DH_parse_parameters))
 #pragma redefine_extname DH_set0_key BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(DH_set0_key))
 #pragma redefine_extname DH_set0_pqg BORINGSSL_SYMBOL(BORINGSSL_ADD_PREFIX(DH_set0_pqg))
@@ -3750,7 +3749,6 @@
 #define DH_get_rfc7919_2048 BORINGSSL_ADD_PREFIX(DH_get_rfc7919_2048)
 #define DH_marshal_parameters BORINGSSL_ADD_PREFIX(DH_marshal_parameters)
 #define DH_new BORINGSSL_ADD_PREFIX(DH_new)
-#define DH_num_bits BORINGSSL_ADD_PREFIX(DH_num_bits)
 #define DH_parse_parameters BORINGSSL_ADD_PREFIX(DH_parse_parameters)
 #define DH_set0_key BORINGSSL_ADD_PREFIX(DH_set0_key)
 #define DH_set0_pqg BORINGSSL_ADD_PREFIX(DH_set0_pqg)