Loading CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,10 @@ Changes between 0.9.5a and 0.9.6 [xx XXX 2000] *) Add a few more EBCDIC conditionals that make `req' and `x509' work better on such systems. [Martin Kraemer <Martin.Kraemer@MchP.Siemens.De>] *) Add two demo programs for PKCS12_parse() and PKCS12_create(). Update PKCS12_parse() so it copies the friendlyName and the keyid to the certificates aux info. Loading apps/req.c +7 −0 Original line number Diff line number Diff line Loading @@ -1139,7 +1139,11 @@ static int auto_info(X509_REQ *req, STACK_OF(CONF_VALUE) *dn_sk, * multiple instances */ for(p = v->name; *p ; p++) #ifndef CHARSET_EBCDIC if ((*p == ':') || (*p == ',') || (*p == '.')) { #else if ((*p == os_toascii[':']) || (*p == os_toascii[',']) || (*p == os_toascii['.'])) { #endif p++; if(*p) type = p; break; Loading Loading @@ -1255,6 +1259,9 @@ start: return(0); } buf[--i]='\0'; #ifdef CHARSET_EBCDIC ebcdic2ascii(buf, buf, i); #endif if(!req_check_len(i, min, max)) goto start; if(!X509_REQ_add1_attr_by_NID(req, nid, MBSTRING_ASC, Loading crypto/asn1/a_mbstr.c +7 −0 Original line number Diff line number Diff line Loading @@ -385,9 +385,16 @@ static int is_printable(unsigned long value) /* Note: we can't use 'isalnum' because certain accented * characters may count as alphanumeric in some environments. */ #ifndef CHARSET_EBCDIC if((ch >= 'a') && (ch <= 'z')) return 1; if((ch >= 'A') && (ch <= 'Z')) return 1; if((ch >= '0') && (ch <= '9')) return 1; if ((ch == ' ') || strchr("'()+,-./:=?", ch)) return 1; #else /*CHARSET_EBCDIC*/ if((ch >= os_toascii['a']) && (ch <= os_toascii['z'])) return 1; if((ch >= os_toascii['A']) && (ch <= os_toascii['Z'])) return 1; if((ch >= os_toascii['0']) && (ch <= os_toascii['9'])) return 1; if ((ch == os_toascii[' ']) || strchr("'()+,-./:=?", os_toebcdic[ch])) return 1; #endif /*CHARSET_EBCDIC*/ return 0; } crypto/x509v3/v3_utl.c +11 −0 Original line number Diff line number Diff line Loading @@ -331,6 +331,7 @@ static char *strip_spaces(char *name) /* Given a buffer of length 'len' return a OPENSSL_malloc'ed string with its * hex representation * @@@ (Contents of buffer are always kept in ASCII, also on EBCDIC machines) */ char *hex_to_string(unsigned char *buffer, long len) Loading @@ -351,6 +352,10 @@ char *hex_to_string(unsigned char *buffer, long len) *q++ = ':'; } q[-1] = 0; #ifdef CHARSET_EBCDIC ebcdic2ascii(tmp, tmp, q - tmp - 1); #endif return tmp; } Loading @@ -369,8 +374,14 @@ unsigned char *string_to_hex(char *str, long *len) if(!(hexbuf = OPENSSL_malloc(strlen(str) >> 1))) goto err; for(p = (unsigned char *)str, q = hexbuf; *p;) { ch = *p++; #ifdef CHARSET_EBCDIC ch = os_toebcdic[ch]; #endif if(ch == ':') continue; cl = *p++; #ifdef CHARSET_EBCDIC cl = os_toebcdic[cl]; #endif if(!cl) { X509V3err(X509V3_F_STRING_TO_HEX,X509V3_R_ODD_NUMBER_OF_DIGITS); OPENSSL_free(hexbuf); Loading doc/crypto/bio.pod +1 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ if it is being read from. BIOs can be joined together to form a chain (a single BIO is a chain with one component). A chain normally consist of one source/sink BIO and one or more filter BIOs. Data read from or written to the end BIO then traverses the chain to the end (normally a source/sink first BIO then traverses the chain to the end (normally a source/sink BIO). =head1 SEE ALSO Loading Loading
CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,10 @@ Changes between 0.9.5a and 0.9.6 [xx XXX 2000] *) Add a few more EBCDIC conditionals that make `req' and `x509' work better on such systems. [Martin Kraemer <Martin.Kraemer@MchP.Siemens.De>] *) Add two demo programs for PKCS12_parse() and PKCS12_create(). Update PKCS12_parse() so it copies the friendlyName and the keyid to the certificates aux info. Loading
apps/req.c +7 −0 Original line number Diff line number Diff line Loading @@ -1139,7 +1139,11 @@ static int auto_info(X509_REQ *req, STACK_OF(CONF_VALUE) *dn_sk, * multiple instances */ for(p = v->name; *p ; p++) #ifndef CHARSET_EBCDIC if ((*p == ':') || (*p == ',') || (*p == '.')) { #else if ((*p == os_toascii[':']) || (*p == os_toascii[',']) || (*p == os_toascii['.'])) { #endif p++; if(*p) type = p; break; Loading Loading @@ -1255,6 +1259,9 @@ start: return(0); } buf[--i]='\0'; #ifdef CHARSET_EBCDIC ebcdic2ascii(buf, buf, i); #endif if(!req_check_len(i, min, max)) goto start; if(!X509_REQ_add1_attr_by_NID(req, nid, MBSTRING_ASC, Loading
crypto/asn1/a_mbstr.c +7 −0 Original line number Diff line number Diff line Loading @@ -385,9 +385,16 @@ static int is_printable(unsigned long value) /* Note: we can't use 'isalnum' because certain accented * characters may count as alphanumeric in some environments. */ #ifndef CHARSET_EBCDIC if((ch >= 'a') && (ch <= 'z')) return 1; if((ch >= 'A') && (ch <= 'Z')) return 1; if((ch >= '0') && (ch <= '9')) return 1; if ((ch == ' ') || strchr("'()+,-./:=?", ch)) return 1; #else /*CHARSET_EBCDIC*/ if((ch >= os_toascii['a']) && (ch <= os_toascii['z'])) return 1; if((ch >= os_toascii['A']) && (ch <= os_toascii['Z'])) return 1; if((ch >= os_toascii['0']) && (ch <= os_toascii['9'])) return 1; if ((ch == os_toascii[' ']) || strchr("'()+,-./:=?", os_toebcdic[ch])) return 1; #endif /*CHARSET_EBCDIC*/ return 0; }
crypto/x509v3/v3_utl.c +11 −0 Original line number Diff line number Diff line Loading @@ -331,6 +331,7 @@ static char *strip_spaces(char *name) /* Given a buffer of length 'len' return a OPENSSL_malloc'ed string with its * hex representation * @@@ (Contents of buffer are always kept in ASCII, also on EBCDIC machines) */ char *hex_to_string(unsigned char *buffer, long len) Loading @@ -351,6 +352,10 @@ char *hex_to_string(unsigned char *buffer, long len) *q++ = ':'; } q[-1] = 0; #ifdef CHARSET_EBCDIC ebcdic2ascii(tmp, tmp, q - tmp - 1); #endif return tmp; } Loading @@ -369,8 +374,14 @@ unsigned char *string_to_hex(char *str, long *len) if(!(hexbuf = OPENSSL_malloc(strlen(str) >> 1))) goto err; for(p = (unsigned char *)str, q = hexbuf; *p;) { ch = *p++; #ifdef CHARSET_EBCDIC ch = os_toebcdic[ch]; #endif if(ch == ':') continue; cl = *p++; #ifdef CHARSET_EBCDIC cl = os_toebcdic[cl]; #endif if(!cl) { X509V3err(X509V3_F_STRING_TO_HEX,X509V3_R_ODD_NUMBER_OF_DIGITS); OPENSSL_free(hexbuf); Loading
doc/crypto/bio.pod +1 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ if it is being read from. BIOs can be joined together to form a chain (a single BIO is a chain with one component). A chain normally consist of one source/sink BIO and one or more filter BIOs. Data read from or written to the end BIO then traverses the chain to the end (normally a source/sink first BIO then traverses the chain to the end (normally a source/sink BIO). =head1 SEE ALSO Loading