diff options
author | beck <> | 1999-09-29 04:37:45 +0000 |
---|---|---|
committer | beck <> | 1999-09-29 04:37:45 +0000 |
commit | de8f24ea083384bb66b32ec105dc4743c5663cdf (patch) | |
tree | 1412176ae62a3cab2cf2b0b92150fcbceaac6092 /src/lib/libcrypto/asn1/a_print.c | |
parent | cb929d29896bcb87c2a97417fbd03e50078fc178 (diff) | |
download | openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.gz openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.bz2 openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.zip |
OpenSSL 0.9.4 merge
Diffstat (limited to 'src/lib/libcrypto/asn1/a_print.c')
-rw-r--r-- | src/lib/libcrypto/asn1/a_print.c | 70 |
1 files changed, 37 insertions, 33 deletions
diff --git a/src/lib/libcrypto/asn1/a_print.c b/src/lib/libcrypto/asn1/a_print.c index 3023361dee..cdec7a1561 100644 --- a/src/lib/libcrypto/asn1/a_print.c +++ b/src/lib/libcrypto/asn1/a_print.c | |||
@@ -58,49 +58,32 @@ | |||
58 | 58 | ||
59 | #include <stdio.h> | 59 | #include <stdio.h> |
60 | #include "cryptlib.h" | 60 | #include "cryptlib.h" |
61 | #include "asn1.h" | 61 | #include <openssl/asn1.h> |
62 | 62 | ||
63 | /* ASN1err(ASN1_F_D2I_ASN1_PRINT_TYPE,ASN1_R_WRONG_PRINTABLE_TYPE); | 63 | int i2d_ASN1_IA5STRING(ASN1_IA5STRING *a, unsigned char **pp) |
64 | * ASN1err(ASN1_F_D2I_ASN1_PRINT_TYPE,ASN1_R_TAG_VALUE_TOO_HIGH); | ||
65 | */ | ||
66 | |||
67 | int i2d_ASN1_IA5STRING(a,pp) | ||
68 | ASN1_IA5STRING *a; | ||
69 | unsigned char **pp; | ||
70 | { return(M_i2d_ASN1_IA5STRING(a,pp)); } | 64 | { return(M_i2d_ASN1_IA5STRING(a,pp)); } |
71 | 65 | ||
72 | ASN1_IA5STRING *d2i_ASN1_IA5STRING(a,pp,l) | 66 | ASN1_IA5STRING *d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, unsigned char **pp, |
73 | ASN1_IA5STRING **a; | 67 | long l) |
74 | unsigned char **pp; | ||
75 | long l; | ||
76 | { return(M_d2i_ASN1_IA5STRING(a,pp,l)); } | 68 | { return(M_d2i_ASN1_IA5STRING(a,pp,l)); } |
77 | 69 | ||
78 | ASN1_T61STRING *d2i_ASN1_T61STRING(a,pp,l) | 70 | ASN1_T61STRING *d2i_ASN1_T61STRING(ASN1_T61STRING **a, unsigned char **pp, |
79 | ASN1_T61STRING **a; | 71 | long l) |
80 | unsigned char **pp; | ||
81 | long l; | ||
82 | { return(M_d2i_ASN1_T61STRING(a,pp,l)); } | 72 | { return(M_d2i_ASN1_T61STRING(a,pp,l)); } |
83 | 73 | ||
84 | ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(a,pp,l) | 74 | ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, |
85 | ASN1_PRINTABLESTRING **a; | 75 | unsigned char **pp, long l) |
86 | unsigned char **pp; | 76 | { return(M_d2i_ASN1_PRINTABLESTRING(a,pp, |
87 | long l; | 77 | l)); } |
88 | { return(M_d2i_ASN1_PRINTABLESTRING(a,pp,l)); } | ||
89 | 78 | ||
90 | int i2d_ASN1_PRINTABLE(a,pp) | 79 | int i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **pp) |
91 | ASN1_STRING *a; | ||
92 | unsigned char **pp; | ||
93 | { return(M_i2d_ASN1_PRINTABLE(a,pp)); } | 80 | { return(M_i2d_ASN1_PRINTABLE(a,pp)); } |
94 | 81 | ||
95 | ASN1_STRING *d2i_ASN1_PRINTABLE(a,pp,l) | 82 | ASN1_STRING *d2i_ASN1_PRINTABLE(ASN1_STRING **a, unsigned char **pp, |
96 | ASN1_STRING **a; | 83 | long l) |
97 | unsigned char **pp; | ||
98 | long l; | ||
99 | { return(M_d2i_ASN1_PRINTABLE(a,pp,l)); } | 84 | { return(M_d2i_ASN1_PRINTABLE(a,pp,l)); } |
100 | 85 | ||
101 | int ASN1_PRINTABLE_type(s,len) | 86 | int ASN1_PRINTABLE_type(unsigned char *s, int len) |
102 | unsigned char *s; | ||
103 | int len; | ||
104 | { | 87 | { |
105 | int c; | 88 | int c; |
106 | int ia5=0; | 89 | int ia5=0; |
@@ -112,6 +95,7 @@ int len; | |||
112 | while ((*s) && (len-- != 0)) | 95 | while ((*s) && (len-- != 0)) |
113 | { | 96 | { |
114 | c= *(s++); | 97 | c= *(s++); |
98 | #ifndef CHARSET_EBCDIC | ||
115 | if (!( ((c >= 'a') && (c <= 'z')) || | 99 | if (!( ((c >= 'a') && (c <= 'z')) || |
116 | ((c >= 'A') && (c <= 'Z')) || | 100 | ((c >= 'A') && (c <= 'Z')) || |
117 | (c == ' ') || | 101 | (c == ' ') || |
@@ -125,14 +109,20 @@ int len; | |||
125 | ia5=1; | 109 | ia5=1; |
126 | if (c&0x80) | 110 | if (c&0x80) |
127 | t61=1; | 111 | t61=1; |
112 | #else | ||
113 | if (!isalnum(c) && (c != ' ') && | ||
114 | strchr("'()+,-./:=?", c) == NULL) | ||
115 | ia5=1; | ||
116 | if (os_toascii[c] & 0x80) | ||
117 | t61=1; | ||
118 | #endif | ||
128 | } | 119 | } |
129 | if (t61) return(V_ASN1_T61STRING); | 120 | if (t61) return(V_ASN1_T61STRING); |
130 | if (ia5) return(V_ASN1_IA5STRING); | 121 | if (ia5) return(V_ASN1_IA5STRING); |
131 | return(V_ASN1_PRINTABLESTRING); | 122 | return(V_ASN1_PRINTABLESTRING); |
132 | } | 123 | } |
133 | 124 | ||
134 | int ASN1_UNIVERSALSTRING_to_string(s) | 125 | int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s) |
135 | ASN1_UNIVERSALSTRING *s; | ||
136 | { | 126 | { |
137 | int i; | 127 | int i; |
138 | unsigned char *p; | 128 | unsigned char *p; |
@@ -159,3 +149,17 @@ ASN1_UNIVERSALSTRING *s; | |||
159 | return(1); | 149 | return(1); |
160 | } | 150 | } |
161 | 151 | ||
152 | |||
153 | int i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **pp) | ||
154 | { return(M_i2d_DIRECTORYSTRING(a,pp)); } | ||
155 | |||
156 | ASN1_STRING *d2i_DIRECTORYSTRING(ASN1_STRING **a, unsigned char **pp, | ||
157 | long l) | ||
158 | { return(M_d2i_DIRECTORYSTRING(a,pp,l)); } | ||
159 | |||
160 | int i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **pp) | ||
161 | { return(M_i2d_DISPLAYTEXT(a,pp)); } | ||
162 | |||
163 | ASN1_STRING *d2i_DISPLAYTEXT(ASN1_STRING **a, unsigned char **pp, | ||
164 | long l) | ||
165 | { return(M_d2i_DISPLAYTEXT(a,pp,l)); } | ||