]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Return proper also when loading a private key.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 8 Mar 2013 17:53:10 +0000 (18:53 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 8 Mar 2013 17:53:38 +0000 (18:53 +0100)
lib/gnutls_ui.c
lib/gnutls_x509.c
lib/gnutls_x509.h

index 5eae2c2f791fe8efba9c27ae6bdf8b826631d018..321b2f724e3edc69645ffb34df9d0bbdcd7e8651 100644 (file)
@@ -809,32 +809,6 @@ size_t len;
   return 0;
 }
 
-/**
- * gnutls_url_is_supported:
- * @url: A PKCS 11 url
- *
- * Check whether url is supported.  Depending on the system libraries
- * GnuTLS may support pkcs11 or tpmkey URLs.
- *
- * Returns: return non-zero if the given URL is supported, and zero if
- * it is not known.
- *
- * Since: 3.1.0
- **/
-int
-gnutls_url_is_supported (const char* url)
-{
-#ifdef ENABLE_PKCS11
-  if (strstr(url, "pkcs11:") != NULL)
-    return 1;
-#endif
-#ifdef HAVE_TROUSERS
-  if (strstr(url, "tpmkey:") != NULL)
-    return 1;
-#endif
-  return 0;
-}
-
 /**
  * gnutls_ocsp_status_request_is_checked:
  * @session: is a gnutls session
index 8a7cbbb6d6648f871ba7f461ce621c937562a26f..9dbee218c72447e08b6c32ac733d48cb32905986 100644 (file)
@@ -919,9 +919,10 @@ read_key_file (gnutls_certificate_credentials_t res,
   char *data;
 
   if (gnutls_url_is_supported(keyfile))
-    {
-      return read_key_url (res, keyfile);
-    }
+    return read_key_url (res, keyfile);
+
+  if (_gnutls_url_is_known(keyfile))
+    return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
 
   data = read_binary_file (keyfile, &size);
 
@@ -2150,3 +2151,41 @@ void gnutls_certificate_set_pin_function (gnutls_certificate_credentials_t cred,
   cred->pin.cb = fn;
   cred->pin.data = userdata;
 }
+
+/**
+ * gnutls_url_is_supported:
+ * @url: A PKCS 11 url
+ *
+ * Check whether url is supported.  Depending on the system libraries
+ * GnuTLS may support pkcs11 or tpmkey URLs.
+ *
+ * Returns: return non-zero if the given URL is supported, and zero if
+ * it is not known.
+ *
+ * Since: 3.1.0
+ **/
+int
+gnutls_url_is_supported (const char* url)
+{
+#ifdef ENABLE_PKCS11
+  if (strstr(url, "pkcs11:") != NULL)
+    return 1;
+#endif
+#ifdef HAVE_TROUSERS
+  if (strstr(url, "tpmkey:") != NULL)
+    return 1;
+#endif
+  return 0;
+}
+
+int
+_gnutls_url_is_known (const char* url)
+{
+  if (strstr(url, "pkcs11:") != NULL)
+    return 1;
+  else if (strstr(url, "tpmkey:") != NULL)
+    return 1;
+  else
+    return 0;
+}
+
index 8e12f3d802c4c513c987acb1b50a2dbff8ab6881..b7c33debfd28980018a5561834628b5875e0d507 100644 (file)
@@ -32,8 +32,7 @@ int _gnutls_x509_cert_verify_peers (gnutls_session_t session,
 
 #define PEM_CRL_SEP "-----BEGIN X509 CRL"
 
-#define PEM_KEY_RSA_SEP "-----BEGIN RSA"
-#define PEM_KEY_DSA_SEP "-----BEGIN DSA"
+int _gnutls_url_is_known (const char* url);
 
 int _gnutls_check_key_usage (const gnutls_pcert_st* cert,
                              gnutls_kx_algorithm_t alg);