diff options
Diffstat (limited to 'src/lib/libcrypto/x509v3/v3_addr.c')
| -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? |
