summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2013-03-08 18:40:06 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2013-03-08 18:40:06 +0100
commita4c86ab155a7388136759b2a4e557c359ffd21f7 (patch)
tree00768071f80bc96e66df3a7c856b70f4472fa2ff /lib
parent3e4a7a0f800c5c218058e1ca19b97d765d03c004 (diff)
downloadgnutls-a4c86ab155a7388136759b2a4e557c359ffd21f7.tar.gz
return unimplemented feature on encounter of a known but unsupported url
Diffstat (limited to 'lib')
-rw-r--r--lib/gnutls_privkey.c10
-rw-r--r--lib/gnutls_pubkey.c10
-rw-r--r--lib/gnutls_x509.c7
3 files changed, 19 insertions, 8 deletions
diff --git a/lib/gnutls_privkey.c b/lib/gnutls_privkey.c
index 07882be022..6d7bfedb7a 100644
--- a/lib/gnutls_privkey.c
+++ b/lib/gnutls_privkey.c
@@ -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);
}
diff --git a/lib/gnutls_pubkey.c b/lib/gnutls_pubkey.c
index 8cd74de74d..d8e44afe7b 100644
--- a/lib/gnutls_pubkey.c
+++ b/lib/gnutls_pubkey.c
@@ -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);
}
diff --git a/lib/gnutls_x509.c b/lib/gnutls_x509.c
index d23f464cd8..8a7cbbb6d6 100644
--- a/lib/gnutls_x509.c
+++ b/lib/gnutls_x509.c
@@ -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)