From: Denys Vlasenko Date: Sun, 4 Nov 2018 23:18:18 +0000 (+0100) Subject: tls: code shrink X-Git-Tag: 1_30_0~405 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=084bac472b02f307a093f56a262312accd6fb014;p=oweals%2Fbusybox.git tls: code shrink function old new delta tls_handshake 1643 1619 -24 Signed-off-by: Denys Vlasenko --- 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 */