[git commit] tls: code shrink

Denys Vlasenko vda.linux at googlemail.com
Sun Nov 4 23:19:15 UTC 2018


commit: https://git.busybox.net/busybox/commit/?id=084bac472b02f307a093f56a262312accd6fb014
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
tls_handshake                                       1643    1619     -24

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/tls.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/networking/tls.c b/networking/tls.c
index 7cd6a61ba..0f637a3d7 100644
--- a/networking/tls.c
+++ b/networking/tls.c
@@ -1115,8 +1115,6 @@ static void find_key_in_der_cert(tls_state_t *tls, uint8_t *der, int len)
  * We need Certificate.tbsCertificate.subjectPublicKeyInfo.publicKey
  */
 	uint8_t *end = der + len;
-	uint8_t tag_class, pc, tag_number;
-	int version_present;
 
 	/* enter "Certificate" item: [der, end) will be only Cert */
 	der = enter_der_item(der, &end);
@@ -1133,13 +1131,11 @@ static void find_key_in_der_cert(tls_state_t *tls, uint8_t *der, int len)
 	 * (constructed), and a tag number of 0 (see ITU-T X.690 sections 8.1.2
 	 * and 8.14).
 	 */
-	tag_class = der[0] >> 6; /* bits 8-7 */
-	pc = (der[0] & 32) >> 5; /* bit 6 */
-	tag_number = der[0] & 31; /* bits 5-1 */
-	version_present = tag_class == 2 && pc == 1 && tag_number == 0;
-	if (version_present) {
+	/* bits 7-6: 10 */
+	/* bit 5: 1 */
+	/* bits 4-0: 00000 */
+	if (der[0] == 0xa0)
 		der = skip_der_item(der, end); /* version */
-	}
 
 	/* skip up to subjectPublicKeyInfo */
 	der = skip_der_item(der, end); /* serialNumber */


More information about the busybox-cvs mailing list