Module Name: src Committed By: christos Date: Mon Oct 5 14:34:04 UTC 2020
Modified Files: src/crypto/external/bsd/openssl/dist/crypto/bn: bn_print.c src/crypto/external/bsd/openssl/dist/include/openssl: bn.h src/crypto/external/bsd/openssl/lib/libcrypto: crypto.map Log Message: revert previous octal conversion code (broken and not worth it). To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/openssl/dist/crypto/bn/bn_print.c cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/openssl/dist/include/openssl/bn.h cvs rdiff -u -r1.10 -r1.11 \ src/crypto/external/bsd/openssl/lib/libcrypto/crypto.map Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/crypto/external/bsd/openssl/dist/crypto/bn/bn_print.c diff -u src/crypto/external/bsd/openssl/dist/crypto/bn/bn_print.c:1.2 src/crypto/external/bsd/openssl/dist/crypto/bn/bn_print.c:1.3 --- src/crypto/external/bsd/openssl/dist/crypto/bn/bn_print.c:1.2 Sun Oct 4 15:32:48 2020 +++ src/crypto/external/bsd/openssl/dist/crypto/bn/bn_print.c Mon Oct 5 10:34:03 2020 @@ -266,87 +266,6 @@ int BN_dec2bn(BIGNUM **bn, const char *a return 0; } -int BN_oct2bn(BIGNUM **bn, const char *a) -{ - BIGNUM *ret = NULL; - BN_ULONG l = 0; - int neg = 0, h, m, i, j, b, k, c, r; - int num; - - if (a == NULL || *a == '\0') - return 0; - - if (*a == '-') { - neg = 1; - a++; - } - - for (i = 0; i <= INT_MAX / 4 && ossl_isdigit(a[i]) && a[i] < '8'; i++) - continue; - - if (i == 0 || i > INT_MAX / 4) - goto err; - - num = i + neg; - if (bn == NULL) - return num; - - /* a is the start of the hex digits, and it is 'i' long */ - if (*bn == NULL) { - if ((ret = BN_new()) == NULL) - return 0; - } else { - ret = *bn; - BN_zero(ret); - } - - /* i is the number of hex digits */ - if (bn_expand(ret, i * 4) == NULL) - goto err; - - j = i; /* least significant 'oct' */ - h = 0; - b = 0; -#define M (BN_BYTES * 8 / 3) - while (j > 0) { - m = (M <= j) ? M : j; - while (m > 0) { - k = a[j - m] - '0'; - l = (l << 3) | k; - b += 3; - m--; - } - j -= M; - if (j <= 0) { - ret->d[h++] = l; - break; - } - b = BN_BYTES * 8 - b; - r = 3 - b; - k = a[j--] - '0'; - l = (l << r) | (k >> b); - ret->d[h++] = l; - l = k & ((2 << r) - 1); - if (j == 0) { - ret->d[h++] = l; - break; - } - } - ret->top = h; - bn_correct_top(ret); - - *bn = ret; - bn_check_top(ret); - /* Don't set the negative flag if it's zero. */ - if (ret->top != 0) - ret->neg = neg; - return num; - err: - if (*bn == NULL) - BN_free(ret); - return 0; -} - int BN_asc2bn(BIGNUM **bn, const char *a) { const char *p = a; @@ -354,14 +273,9 @@ int BN_asc2bn(BIGNUM **bn, const char *a if (*p == '-') p++; - if (p[0] == '0') { - if (p[1] == 'X' || p[1] == 'x') { - if (!BN_hex2bn(bn, p + 2)) - return 0; - } else { - if (!BN_oct2bn(bn, p + 1)) - return 0; - } + if (p[0] == '0' && (p[1] == 'X' || p[1] == 'x')) { + if (!BN_hex2bn(bn, p + 2)) + return 0; } else { if (!BN_dec2bn(bn, p)) return 0; Index: src/crypto/external/bsd/openssl/dist/include/openssl/bn.h diff -u src/crypto/external/bsd/openssl/dist/include/openssl/bn.h:1.2 src/crypto/external/bsd/openssl/dist/include/openssl/bn.h:1.3 --- src/crypto/external/bsd/openssl/dist/include/openssl/bn.h:1.2 Sun Oct 4 15:32:48 2020 +++ src/crypto/external/bsd/openssl/dist/include/openssl/bn.h Mon Oct 5 10:34:03 2020 @@ -310,7 +310,6 @@ char *BN_bn2hex(const BIGNUM *a); char *BN_bn2dec(const BIGNUM *a); int BN_hex2bn(BIGNUM **a, const char *str); int BN_dec2bn(BIGNUM **a, const char *str); -int BN_oct2bn(BIGNUM **a, const char *str); int BN_asc2bn(BIGNUM **a, const char *str); int BN_gcd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /* returns Index: src/crypto/external/bsd/openssl/lib/libcrypto/crypto.map diff -u src/crypto/external/bsd/openssl/lib/libcrypto/crypto.map:1.10 src/crypto/external/bsd/openssl/lib/libcrypto/crypto.map:1.11 --- src/crypto/external/bsd/openssl/lib/libcrypto/crypto.map:1.10 Mon Oct 5 07:29:36 2020 +++ src/crypto/external/bsd/openssl/lib/libcrypto/crypto.map Mon Oct 5 10:34:04 2020 @@ -552,7 +552,6 @@ OPENSSL_1_1_0 { BN_nnmod; BN_num_bits; BN_num_bits_word; - BN_oct2bn; BN_options; BN_print; BN_print_fp;