mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
agent: Move a typedef to common and provide parse_pinentry_mode.
* common/agent-opt.c: New. * common/shareddefs.h: New. * common/Makefile.am: Add new files. * agent/agent.h: Include shareddefs.h. (pinentry_mode_t): Factor out to shareddefs.h. * agent/command.c (option_handler): Use parse_pinentry_mode.
This commit is contained in:
parent
4483a4f0ea
commit
8b2b8dfe5c
5 changed files with 128 additions and 24 deletions
|
@ -2548,21 +2548,13 @@ option_handler (assuan_context_t ctx, const char *key, const char *value)
|
|||
ctrl->server_local->allow_pinentry_notify = 1;
|
||||
else if (!strcmp (key, "pinentry-mode"))
|
||||
{
|
||||
if (!strcmp (value, "ask") || !strcmp (value, "default"))
|
||||
ctrl->pinentry_mode = PINENTRY_MODE_ASK;
|
||||
else if (!strcmp (value, "cancel"))
|
||||
ctrl->pinentry_mode = PINENTRY_MODE_CANCEL;
|
||||
else if (!strcmp (value, "error"))
|
||||
ctrl->pinentry_mode = PINENTRY_MODE_ERROR;
|
||||
else if (!strcmp (value, "loopback"))
|
||||
{
|
||||
if (opt.allow_loopback_pinentry)
|
||||
ctrl->pinentry_mode = PINENTRY_MODE_LOOPBACK;
|
||||
else
|
||||
err = gpg_error (GPG_ERR_NOT_SUPPORTED);
|
||||
}
|
||||
else
|
||||
int tmp = parse_pinentry_mode (value);
|
||||
if (tmp == -1)
|
||||
err = gpg_error (GPG_ERR_INV_VALUE);
|
||||
else if (tmp == PINENTRY_MODE_LOOPBACK && !opt.allow_loopback_pinentry)
|
||||
err = gpg_error (GPG_ERR_NOT_SUPPORTED);
|
||||
else
|
||||
ctrl->pinentry_mode = tmp;
|
||||
}
|
||||
else if (!strcmp (key, "cache-ttl-opt-preset"))
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue