diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib/libcrypto/x509v3/v3_addr.c | 106 |
1 files changed, 101 insertions, 5 deletions
diff --git a/src/lib/libcrypto/x509v3/v3_addr.c b/src/lib/libcrypto/x509v3/v3_addr.c index 40efb1b9ac..4073aeeaa6 100644 --- a/src/lib/libcrypto/x509v3/v3_addr.c +++ b/src/lib/libcrypto/x509v3/v3_addr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_addr.c,v 1.14 2014/11/18 03:28:05 tedu Exp $ */ | 1 | /* $OpenBSD: v3_addr.c,v 1.15 2015/02/09 16:03:11 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Contributed to the OpenSSL Project by the American Registry for | 3 | * Contributed to the OpenSSL Project by the American Registry for |
4 | * Internet Numbers ("ARIN"). | 4 | * Internet Numbers ("ARIN"). |
@@ -102,10 +102,106 @@ ASN1_ITEM_TEMPLATE(IPAddrBlocks) = | |||
102 | IPAddrBlocks, IPAddressFamily) | 102 | IPAddrBlocks, IPAddressFamily) |
103 | ASN1_ITEM_TEMPLATE_END(IPAddrBlocks) | 103 | ASN1_ITEM_TEMPLATE_END(IPAddrBlocks) |
104 | 104 | ||
105 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressRange) | 105 | |
106 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressOrRange) | 106 | IPAddressRange * |
107 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressChoice) | 107 | d2i_IPAddressRange(IPAddressRange **a, const unsigned char **in, long len) |
108 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressFamily) | 108 | { |
109 | return (IPAddressRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
110 | &IPAddressRange_it); | ||
111 | } | ||
112 | |||
113 | int | ||
114 | i2d_IPAddressRange(IPAddressRange *a, unsigned char **out) | ||
115 | { | ||
116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressRange_it); | ||
117 | } | ||
118 | |||
119 | IPAddressRange * | ||
120 | IPAddressRange_new(void) | ||
121 | { | ||
122 | return (IPAddressRange *)ASN1_item_new(&IPAddressRange_it); | ||
123 | } | ||
124 | |||
125 | void | ||
126 | IPAddressRange_free(IPAddressRange *a) | ||
127 | { | ||
128 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressRange_it); | ||
129 | } | ||
130 | |||
131 | IPAddressOrRange * | ||
132 | d2i_IPAddressOrRange(IPAddressOrRange **a, const unsigned char **in, long len) | ||
133 | { | ||
134 | return (IPAddressOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
135 | &IPAddressOrRange_it); | ||
136 | } | ||
137 | |||
138 | int | ||
139 | i2d_IPAddressOrRange(IPAddressOrRange *a, unsigned char **out) | ||
140 | { | ||
141 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressOrRange_it); | ||
142 | } | ||
143 | |||
144 | IPAddressOrRange * | ||
145 | IPAddressOrRange_new(void) | ||
146 | { | ||
147 | return (IPAddressOrRange *)ASN1_item_new(&IPAddressOrRange_it); | ||
148 | } | ||
149 | |||
150 | void | ||
151 | IPAddressOrRange_free(IPAddressOrRange *a) | ||
152 | { | ||
153 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressOrRange_it); | ||
154 | } | ||
155 | |||
156 | IPAddressChoice * | ||
157 | d2i_IPAddressChoice(IPAddressChoice **a, const unsigned char **in, long len) | ||
158 | { | ||
159 | return (IPAddressChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
160 | &IPAddressChoice_it); | ||
161 | } | ||
162 | |||
163 | int | ||
164 | i2d_IPAddressChoice(IPAddressChoice *a, unsigned char **out) | ||
165 | { | ||
166 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressChoice_it); | ||
167 | } | ||
168 | |||
169 | IPAddressChoice * | ||
170 | IPAddressChoice_new(void) | ||
171 | { | ||
172 | return (IPAddressChoice *)ASN1_item_new(&IPAddressChoice_it); | ||
173 | } | ||
174 | |||
175 | void | ||
176 | IPAddressChoice_free(IPAddressChoice *a) | ||
177 | { | ||
178 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressChoice_it); | ||
179 | } | ||
180 | |||
181 | IPAddressFamily * | ||
182 | d2i_IPAddressFamily(IPAddressFamily **a, const unsigned char **in, long len) | ||
183 | { | ||
184 | return (IPAddressFamily *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
185 | &IPAddressFamily_it); | ||
186 | } | ||
187 | |||
188 | int | ||
189 | i2d_IPAddressFamily(IPAddressFamily *a, unsigned char **out) | ||
190 | { | ||
191 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressFamily_it); | ||
192 | } | ||
193 | |||
194 | IPAddressFamily * | ||
195 | IPAddressFamily_new(void) | ||
196 | { | ||
197 | return (IPAddressFamily *)ASN1_item_new(&IPAddressFamily_it); | ||
198 | } | ||
199 | |||
200 | void | ||
201 | IPAddressFamily_free(IPAddressFamily *a) | ||
202 | { | ||
203 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressFamily_it); | ||
204 | } | ||
109 | 205 | ||
110 | /* | 206 | /* |
111 | * How much buffer space do we need for a raw address? | 207 | * How much buffer space do we need for a raw address? |