diff options
author | Martin Willi <martin@revosec.ch> | 2010-06-24 11:59:20 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2010-06-24 12:01:18 +0200 |
commit | 7a74295e425583f4271855ec7bc42076219b4340 (patch) | |
tree | 1e373e5ea40ad55e130ba2bc0d4bee98500cf783 /src | |
parent | 9eb7f46b3d8ed0f1a5d5ffd600c633760c2a1c04 (diff) | |
download | strongswan-7a74295e425583f4271855ec7bc42076219b4340.tar.bz2 strongswan-7a74295e425583f4271855ec7bc42076219b4340.tar.xz |
Select subjectAltName address family using address length in x509 plugin
Diffstat (limited to 'src')
-rw-r--r-- | src/libstrongswan/plugins/x509/x509_cert.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/libstrongswan/plugins/x509/x509_cert.c b/src/libstrongswan/plugins/x509/x509_cert.c index 7b362b962..8a164f1bd 100644 --- a/src/libstrongswan/plugins/x509/x509_cert.c +++ b/src/libstrongswan/plugins/x509/x509_cert.c @@ -366,7 +366,17 @@ static identification_t *parse_generalName(chunk_t blob, int level0) id_type = ID_DER_ASN1_DN; break; case GN_OBJ_IP_ADDRESS: - id_type = ID_IPV4_ADDR; + switch (object.len) + { + case 4: + id_type = ID_IPV4_ADDR; + break; + case 16: + id_type = ID_IPV6_ADDR; + break; + default: + break; + } break; case GN_OBJ_OTHER_NAME: if (!parse_otherName(object, parser->get_level(parser)+1)) |