summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/a_print.c
diff options
context:
space:
mode:
authorbeck <>1999-09-29 04:37:45 +0000
committerbeck <>1999-09-29 04:37:45 +0000
commitde8f24ea083384bb66b32ec105dc4743c5663cdf (patch)
tree1412176ae62a3cab2cf2b0b92150fcbceaac6092 /src/lib/libcrypto/asn1/a_print.c
parentcb929d29896bcb87c2a97417fbd03e50078fc178 (diff)
downloadopenbsd-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.c70
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); 63int 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
67int i2d_ASN1_IA5STRING(a,pp)
68ASN1_IA5STRING *a;
69unsigned char **pp;
70 { return(M_i2d_ASN1_IA5STRING(a,pp)); } 64 { return(M_i2d_ASN1_IA5STRING(a,pp)); }
71 65
72ASN1_IA5STRING *d2i_ASN1_IA5STRING(a,pp,l) 66ASN1_IA5STRING *d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, unsigned char **pp,
73ASN1_IA5STRING **a; 67 long l)
74unsigned char **pp;
75long l;
76 { return(M_d2i_ASN1_IA5STRING(a,pp,l)); } 68 { return(M_d2i_ASN1_IA5STRING(a,pp,l)); }
77 69
78ASN1_T61STRING *d2i_ASN1_T61STRING(a,pp,l) 70ASN1_T61STRING *d2i_ASN1_T61STRING(ASN1_T61STRING **a, unsigned char **pp,
79ASN1_T61STRING **a; 71 long l)
80unsigned char **pp;
81long l;
82 { return(M_d2i_ASN1_T61STRING(a,pp,l)); } 72 { return(M_d2i_ASN1_T61STRING(a,pp,l)); }
83 73
84ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(a,pp,l) 74ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a,
85ASN1_PRINTABLESTRING **a; 75 unsigned char **pp, long l)
86unsigned char **pp; 76 { return(M_d2i_ASN1_PRINTABLESTRING(a,pp,
87long l; 77 l)); }
88 { return(M_d2i_ASN1_PRINTABLESTRING(a,pp,l)); }
89 78
90int i2d_ASN1_PRINTABLE(a,pp) 79int i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **pp)
91ASN1_STRING *a;
92unsigned char **pp;
93 { return(M_i2d_ASN1_PRINTABLE(a,pp)); } 80 { return(M_i2d_ASN1_PRINTABLE(a,pp)); }
94 81
95ASN1_STRING *d2i_ASN1_PRINTABLE(a,pp,l) 82ASN1_STRING *d2i_ASN1_PRINTABLE(ASN1_STRING **a, unsigned char **pp,
96ASN1_STRING **a; 83 long l)
97unsigned char **pp;
98long l;
99 { return(M_d2i_ASN1_PRINTABLE(a,pp,l)); } 84 { return(M_d2i_ASN1_PRINTABLE(a,pp,l)); }
100 85
101int ASN1_PRINTABLE_type(s,len) 86int ASN1_PRINTABLE_type(unsigned char *s, int len)
102unsigned char *s;
103int 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
134int ASN1_UNIVERSALSTRING_to_string(s) 125int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s)
135ASN1_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
153int i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **pp)
154 { return(M_i2d_DIRECTORYSTRING(a,pp)); }
155
156ASN1_STRING *d2i_DIRECTORYSTRING(ASN1_STRING **a, unsigned char **pp,
157 long l)
158 { return(M_d2i_DIRECTORYSTRING(a,pp,l)); }
159
160int i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **pp)
161 { return(M_i2d_DISPLAYTEXT(a,pp)); }
162
163ASN1_STRING *d2i_DISPLAYTEXT(ASN1_STRING **a, unsigned char **pp,
164 long l)
165 { return(M_d2i_DISPLAYTEXT(a,pp,l)); }