From: Nikos Date: Tue, 19 Feb 2008 20:20:18 +0000 (+0200) Subject: better usage of gnutls_openpgp_keyid_t X-Git-Tag: gnutls_2_3_1~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f44800b5d2b753c4f0394d85f459f3006ea3e8d;p=thirdparty%2Fgnutls.git better usage of gnutls_openpgp_keyid_t --- diff --git a/lib/auth_cert.c b/lib/auth_cert.c index e30179ad77..d4f55d0fb3 100644 --- a/lib/auth_cert.c +++ b/lib/auth_cert.c @@ -1051,7 +1051,7 @@ _gnutls_proc_openpgp_server_certificate (gnutls_session_t session, int peer_certificate_list_size = 0; gnutls_datum_t tmp, akey = { NULL, 0 }; gnutls_openpgp_keyid_t subkey_id; - void* selected_subkey = NULL; + unsigned int subkey_id_set = 0; cred = (gnutls_certificate_credentials_t) _gnutls_get_cred (session->key, GNUTLS_CRD_CERTIFICATE, NULL); @@ -1106,11 +1106,11 @@ _gnutls_proc_openpgp_server_certificate (gnutls_session_t session, p++; DECR_LEN (dsize, 1); memcpy( subkey_id, p, sizeof( subkey_id)); + + subkey_id_set = 1; p+= sizeof( subkey_id); DECR_LEN (dsize, sizeof( subkey_id)); - - selected_subkey = &subkey_id; } /* read the actual key or fingerprint */ @@ -1192,7 +1192,7 @@ _gnutls_proc_openpgp_server_certificate (gnutls_session_t session, if ((ret = _gnutls_openpgp_raw_crt_to_gcert (&peer_certificate_list[0], - &tmp, selected_subkey)) < 0) + &tmp, subkey_id_set?subkey_id:NULL)) < 0) { gnutls_assert (); goto cleanup; diff --git a/lib/gnutls_cert.c b/lib/gnutls_cert.c index e6dfadbeef..37ec1b8525 100644 --- a/lib/gnutls_cert.c +++ b/lib/gnutls_cert.c @@ -693,10 +693,7 @@ _gnutls_get_auth_info_gcert (gnutls_cert * gcert, return _gnutls_x509_raw_cert_to_gcert (gcert, &info->raw_certificate_list[0], flags); #ifdef ENABLE_OPENPGP case GNUTLS_CRT_OPENPGP: - if (info->use_subkey) - return _gnutls_openpgp_raw_crt_to_gcert (gcert, &info->raw_certificate_list[0], info->subkey_id); - else - return _gnutls_openpgp_raw_crt_to_gcert (gcert, &info->raw_certificate_list[0], NULL); + return _gnutls_openpgp_raw_crt_to_gcert (gcert, &info->raw_certificate_list[0], info->use_subkey?info->subkey_id:NULL); #endif default: gnutls_assert (); diff --git a/lib/gnutls_openpgp.c b/lib/gnutls_openpgp.c index 937d25f475..e6b2b8e271 100644 --- a/lib/gnutls_openpgp.c +++ b/lib/gnutls_openpgp.c @@ -91,7 +91,7 @@ _gnutls_map_cdk_rc (int rc) -*/ int _gnutls_openpgp_raw_crt_to_gcert (gnutls_cert * gcert, - const gnutls_datum_t * raw, const gnutls_openpgp_keyid_t *keyid) + const gnutls_datum_t * raw, const gnutls_openpgp_keyid_t keyid) { gnutls_openpgp_crt_t pcrt; int ret; @@ -113,7 +113,7 @@ _gnutls_openpgp_raw_crt_to_gcert (gnutls_cert * gcert, if (keyid != NULL) { - ret = gnutls_openpgp_crt_set_preferred_key_id( pcrt, *keyid); + ret = gnutls_openpgp_crt_set_preferred_key_id( pcrt, keyid); if (ret < 0) { gnutls_assert(); diff --git a/lib/openpgp/gnutls_openpgp.h b/lib/openpgp/gnutls_openpgp.h index 1b8f2b8722..9f1d9ec272 100644 --- a/lib/openpgp/gnutls_openpgp.h +++ b/lib/openpgp/gnutls_openpgp.h @@ -42,7 +42,7 @@ int gnutls_openpgp_recv_key (const char *host, /* internal */ int _gnutls_openpgp_raw_crt_to_gcert (gnutls_cert * cert, - const gnutls_datum_t * raw, const gnutls_openpgp_keyid_t*); + const gnutls_datum_t * raw, const gnutls_openpgp_keyid_t); int _gnutls_openpgp_raw_privkey_to_gkey (gnutls_privkey * pkey,