]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
return unimplemented feature on encounter of a known but unsupported url
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 8 Mar 2013 17:40:06 +0000 (18:40 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 8 Mar 2013 17:40:06 +0000 (18:40 +0100)
lib/gnutls_privkey.c
lib/gnutls_pubkey.c
lib/gnutls_x509.c

index 07882be0229cb1c71aeaec1e2bfe2be30e181248..6d7bfedb7abbcc7aac6ab740899720afc36ed4c7 100644 (file)
@@ -966,14 +966,20 @@ cleanup:
 int
 gnutls_privkey_import_url (gnutls_privkey_t key, const char *url, unsigned int flags)
 {
+  if (strncmp(url, "pkcs11:", 7) == 0)
 #ifdef ENABLE_PKCS11
-  if (strstr(url, "pkcs11:") != NULL)
     return gnutls_privkey_import_pkcs11_url(key, url);
+#else
+    return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
 #endif
+
+  if (strncmp(url, "tpmkey:", 7) == 0)
 #ifdef HAVE_TROUSERS
-  if (strstr(url, "tpmkey:") != NULL)
     return gnutls_privkey_import_tpm_url(key, url, NULL, NULL, 0);
+#else
+    return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
 #endif
+
   return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
 }
 
index 8cd74de74d3cc59f1a84b772c6bb254e08107679..d8e44afe7bf3cea037ddb92003c8c1126b67c36b 100644 (file)
@@ -1246,14 +1246,20 @@ int
 gnutls_pubkey_import_url (gnutls_pubkey_t key, const char *url,
                           unsigned int flags)
 {
+  if (strncmp(url, "pkcs11:", 7) == 0)
 #ifdef ENABLE_PKCS11
-  if (strstr(url, "pkcs11:") != NULL)
     return gnutls_pubkey_import_pkcs11_url(key, url, flags);
+#else
+    return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
 #endif
+
+  if (strncmp(url, "tpmkey:", 7) == 0)
 #ifdef HAVE_TROUSERS
-  if (strstr(url, "tpmkey:") != NULL)
     return gnutls_pubkey_import_tpm_url(key, url, NULL, 0);
+#else
+    return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
 #endif
+
   return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
 }
 
index d23f464cd825661912260297147901f1dce2782f..8a7cbbb6d6648f871ba7f461ce621c937562a26f 100644 (file)
@@ -870,6 +870,9 @@ cleanup:
   gnutls_free (ccert);
   return ret;
 }
+#else
+# define read_cert_url(x,y) gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE)
+# define read_cas_url(x,y) gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE)
 #endif
 
 /* Reads a certificate file
@@ -882,12 +885,10 @@ read_cert_file (gnutls_certificate_credentials_t res,
   size_t size;
   char *data;
 
-#ifdef ENABLE_PKCS11
   if (strncmp (certfile, "pkcs11:", 7) == 0)
     {
       return read_cert_url (res, certfile);
     }
-#endif /* ENABLE_PKCS11 */
 
   data = read_binary_file (certfile, &size);
 
@@ -1666,12 +1667,10 @@ gnutls_certificate_set_x509_trust_file (gnutls_certificate_credentials_t cred,
   gnutls_datum_t cas;
   size_t size;
 
-#ifdef ENABLE_PKCS11
   if (strncmp (cafile, "pkcs11:", 7) == 0)
     {
       return read_cas_url (cred, cafile);
     }
-#endif
 
   cas.data = (void*)read_binary_file (cafile, &size);
   if (cas.data == NULL)