aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine-gpgsm.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2009-07-07 12:38:18 +0000
committerWerner Koch <[email protected]>2009-07-07 12:38:18 +0000
commit3bd2d764170d95cf154ec47d22101d46f68c92f5 (patch)
treeff6fb1bb4614b8266e350c3075b9345caca8cb1b /src/engine-gpgsm.c
parent2009-06-22 Marcus Brinkmann <[email protected]> (diff)
downloadgpgme-3bd2d764170d95cf154ec47d22101d46f68c92f5.tar.gz
gpgme-3bd2d764170d95cf154ec47d22101d46f68c92f5.zip
* engine-gpgsm.c (gpgsm_import): Return an error for unknown data
encodings.
Diffstat (limited to 'src/engine-gpgsm.c')
-rw-r--r--src/engine-gpgsm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/engine-gpgsm.c b/src/engine-gpgsm.c
index 71ef221b..52915d36 100644
--- a/src/engine-gpgsm.c
+++ b/src/engine-gpgsm.c
@@ -1544,6 +1544,7 @@ gpgsm_import (void *engine, gpgme_data_t keydata, gpgme_key_t *keyarray)
{
engine_gpgsm_t gpgsm = engine;
gpgme_error_t err;
+ gpgme_data_encoding_t dataenc;
if (!gpgsm)
return gpg_error (GPG_ERR_INV_VALUE);
@@ -1551,10 +1552,18 @@ gpgsm_import (void *engine, gpgme_data_t keydata, gpgme_key_t *keyarray)
if (keydata && keyarray)
gpg_error (GPG_ERR_INV_VALUE); /* Only one is allowed. */
+ dataenc = gpgme_data_get_encoding (keydata);
+
if (keyarray)
{
return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
}
+ else if (dataenc == GPGME_DATA_ENCODING_URL
+ || dataenc == GPGME_DATA_ENCODING_URL0
+ || dataenc == GPGME_DATA_ENCODING_URLESC)
+ {
+ return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
+ }
else
{
gpgsm->input_cb.data = keydata;