Loading crypto/evp/encode.c +18 −2 Original line number Diff line number Diff line Loading @@ -60,9 +60,9 @@ #include "internal/cryptlib.h" #include <openssl/evp.h> static unsigned char conv_ascii2bin(unsigned char a); #ifndef CHARSET_EBCDIC # define conv_bin2ascii(a) (data_bin2ascii[(a)&0x3f]) # define conv_ascii2bin(a) (data_ascii2bin[(a)&0x7f]) #else /* * We assume that PEM encoded files are EBCDIC files (i.e., printable text Loading @@ -71,7 +71,6 @@ * as the underlying textstring data_bin2ascii[] is already EBCDIC) */ # define conv_bin2ascii(a) (data_bin2ascii[(a)&0x3f]) # define conv_ascii2bin(a) (data_ascii2bin[os_toascii[a]&0x7f]) #endif /*- Loading Loading @@ -124,6 +123,23 @@ static const unsigned char data_ascii2bin[128] = { 0x31, 0x32, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, }; #ifndef CHARSET_EBCDIC static unsigned char conv_ascii2bin(unsigned char a) { if (a & 0x80) return B64_ERROR; return data_ascii2bin[a]; } #else static unsigned char conv_ascii2bin(unsigned char a) { a = os_toascii[a]; if (a & 0x80) return B64_ERROR; return data_ascii2bin[a]; } #endif void EVP_EncodeInit(EVP_ENCODE_CTX *ctx) { ctx->length = 48; Loading test/evptests.txt +6 −0 Original line number Diff line number Diff line Loading @@ -2690,6 +2690,12 @@ Output = 61475600736247383d0a Encoding = invalid Output = 61475601736247383d0a Encoding = invalid Output = 61475680736247383d0a Encoding = invalid Output = e14756736247383d0a Encoding = canonical Input = "OpenSSLOpenSSL\n" Output = "T3BlblNTTE9wZW5TU0wK\n" Loading Loading
crypto/evp/encode.c +18 −2 Original line number Diff line number Diff line Loading @@ -60,9 +60,9 @@ #include "internal/cryptlib.h" #include <openssl/evp.h> static unsigned char conv_ascii2bin(unsigned char a); #ifndef CHARSET_EBCDIC # define conv_bin2ascii(a) (data_bin2ascii[(a)&0x3f]) # define conv_ascii2bin(a) (data_ascii2bin[(a)&0x7f]) #else /* * We assume that PEM encoded files are EBCDIC files (i.e., printable text Loading @@ -71,7 +71,6 @@ * as the underlying textstring data_bin2ascii[] is already EBCDIC) */ # define conv_bin2ascii(a) (data_bin2ascii[(a)&0x3f]) # define conv_ascii2bin(a) (data_ascii2bin[os_toascii[a]&0x7f]) #endif /*- Loading Loading @@ -124,6 +123,23 @@ static const unsigned char data_ascii2bin[128] = { 0x31, 0x32, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, }; #ifndef CHARSET_EBCDIC static unsigned char conv_ascii2bin(unsigned char a) { if (a & 0x80) return B64_ERROR; return data_ascii2bin[a]; } #else static unsigned char conv_ascii2bin(unsigned char a) { a = os_toascii[a]; if (a & 0x80) return B64_ERROR; return data_ascii2bin[a]; } #endif void EVP_EncodeInit(EVP_ENCODE_CTX *ctx) { ctx->length = 48; Loading
test/evptests.txt +6 −0 Original line number Diff line number Diff line Loading @@ -2690,6 +2690,12 @@ Output = 61475600736247383d0a Encoding = invalid Output = 61475601736247383d0a Encoding = invalid Output = 61475680736247383d0a Encoding = invalid Output = e14756736247383d0a Encoding = canonical Input = "OpenSSLOpenSSL\n" Output = "T3BlblNTTE9wZW5TU0wK\n" Loading