core: Check for unsupported export mode flags
src/engine-gpgsm.c (gpgsm_export, gpgsm_export_ext): Return error if an unsupported mode flag is set. -- The minimal mode flag has no effect for X.509 certificates, but we still treat it as supported (as documented in the API documentation). GnuPG-bug-id: 5757
This commit is contained in:
parent
c0581adabe
commit
c710af223c
@ -1512,6 +1512,12 @@ gpgsm_export (void *engine, const char *pattern, gpgme_export_mode_t mode,
|
|||||||
if (!gpgsm)
|
if (!gpgsm)
|
||||||
return gpg_error (GPG_ERR_INV_VALUE);
|
return gpg_error (GPG_ERR_INV_VALUE);
|
||||||
|
|
||||||
|
if ((mode & ~(GPGME_EXPORT_MODE_SECRET
|
||||||
|
|GPGME_EXPORT_MODE_MINIMAL
|
||||||
|
|GPGME_EXPORT_MODE_RAW
|
||||||
|
|GPGME_EXPORT_MODE_PKCS12)))
|
||||||
|
return gpg_error (GPG_ERR_NOT_SUPPORTED);
|
||||||
|
|
||||||
if (!pattern)
|
if (!pattern)
|
||||||
pattern = "";
|
pattern = "";
|
||||||
|
|
||||||
@ -1559,6 +1565,12 @@ gpgsm_export_ext (void *engine, const char *pattern[], gpgme_export_mode_t mode,
|
|||||||
if (!gpgsm)
|
if (!gpgsm)
|
||||||
return gpg_error (GPG_ERR_INV_VALUE);
|
return gpg_error (GPG_ERR_INV_VALUE);
|
||||||
|
|
||||||
|
if ((mode & ~(GPGME_EXPORT_MODE_SECRET
|
||||||
|
|GPGME_EXPORT_MODE_MINIMAL
|
||||||
|
|GPGME_EXPORT_MODE_RAW
|
||||||
|
|GPGME_EXPORT_MODE_PKCS12)))
|
||||||
|
return gpg_error (GPG_ERR_NOT_SUPPORTED);
|
||||||
|
|
||||||
if (pattern && *pattern)
|
if (pattern && *pattern)
|
||||||
{
|
{
|
||||||
const char **pat = pattern;
|
const char **pat = pattern;
|
||||||
|
Loading…
Reference in New Issue
Block a user