diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2001-08-05 20:40:11 +0000 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2001-08-05 20:40:11 +0000 |
commit | 8fa8ed88631f45c133308f6db731520830713fb9 (patch) | |
tree | 14420c4d1933724c25ed2ef815d7b7d71c2521f2 /lib/gnutls_cert.c | |
parent | 93330469787a8b39a6f8c82f65305c7625487806 (diff) | |
download | gnutls-8fa8ed88631f45c133308f6db731520830713fb9.tar.gz |
several cleanups and updates in the handshake protocol implementation
iolaiiiiiCVS: ----------------------------------------------------------------------
Diffstat (limited to 'lib/gnutls_cert.c')
-rw-r--r-- | lib/gnutls_cert.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/lib/gnutls_cert.c b/lib/gnutls_cert.c index 8a66fb4528..81604fa1ac 100644 --- a/lib/gnutls_cert.c +++ b/lib/gnutls_cert.c @@ -825,7 +825,7 @@ int _gnutls_cert_supported_kx(gnutls_cert * cert, KXAlgorithm ** alg, return 0; } -/* finds a certificate in the cert list that contains +/* finds a certificate in the cert lists that contains * common_name (or subjectAltName) field similar to name */ gnutls_cert *_gnutls_find_cert(gnutls_cert ** cert_list, @@ -835,7 +835,7 @@ gnutls_cert *_gnutls_find_cert(gnutls_cert ** cert_list, int i; for (i = 0; i < cert_list_length; i++) { - if (cert_list[i][0].cert_info.common_name[0] != 0) { + if (cert_list[i][0].cert_info.common_name[0] != 0 || cert_list[i][0].subjectAltName[0]!=0) { if (strcasecmp(cert_list[i][0].cert_info.common_name, name) == 0 || strcasecmp(cert_list[i][0].subjectAltName, name) == 0) { cert = &cert_list[i][0]; break; @@ -845,3 +845,23 @@ gnutls_cert *_gnutls_find_cert(gnutls_cert ** cert_list, return cert; } +/* finds the index of a certificate in the cert lists that contains + * common_name (or subjectAltName) field similar to name + */ +int _gnutls_find_cert_list_index(gnutls_cert ** cert_list, + int cert_list_length, char *name) +{ + int index = 0; + int i; + + for (i = 0; i < cert_list_length; i++) { + if (cert_list[i][0].cert_info.common_name[0] != 0 || cert_list[i][0].subjectAltName[0]!=0) { + if (strcasecmp(cert_list[i][0].cert_info.common_name, name) == 0 || strcasecmp(cert_list[i][0].subjectAltName, name) == 0) { + index = i; + break; + } + } + } + return index; +} + |