diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2013-03-08 18:40:06 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2013-03-08 18:40:06 +0100 |
commit | a4c86ab155a7388136759b2a4e557c359ffd21f7 (patch) | |
tree | 00768071f80bc96e66df3a7c856b70f4472fa2ff /lib | |
parent | 3e4a7a0f800c5c218058e1ca19b97d765d03c004 (diff) | |
download | gnutls-a4c86ab155a7388136759b2a4e557c359ffd21f7.tar.gz |
return unimplemented feature on encounter of a known but unsupported url
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gnutls_privkey.c | 10 | ||||
-rw-r--r-- | lib/gnutls_pubkey.c | 10 | ||||
-rw-r--r-- | lib/gnutls_x509.c | 7 |
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) |