]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
better usage of gnutls_openpgp_keyid_t
authorNikos <nmav@crystal.(none)>
Tue, 19 Feb 2008 20:20:18 +0000 (22:20 +0200)
committerNikos <nmav@crystal.(none)>
Tue, 19 Feb 2008 20:20:18 +0000 (22:20 +0200)
lib/auth_cert.c
lib/gnutls_cert.c
lib/gnutls_openpgp.c
lib/openpgp/gnutls_openpgp.h

index e30179ad77e2f293a4997ceb811de9c311dfe054..d4f55d0fb3fa7d5e1d2b23aa45eb489e69a60c25 100644 (file)
@@ -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;
index e6dfadbeef2118a3c72de89c0d283b110c8185bd..37ec1b852565b8389257c2bdec275bb795aed5c4 100644 (file)
@@ -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 ();
index 937d25f475c764aa5820f256013dd2f083d66ffe..e6b2b8e271e9044eaf5a4ca489ef3e803ead0b38 100644 (file)
@@ -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();
index 1b8f2b8722c2068987acb00b21c508c9bddf1728..9f1d9ec272a7bd27b3f67b4fc66c1544081f8408 100644 (file)
@@ -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,