NAME
pinentryNkwallet – kwalletNbased passNphrase dialog for use with GnuPG
SYNOPSIS
pinentryNkwallet [Nq] [options]
DESCRIPTION
pinentryNkwallet is a kwalletN and pinentryNbased passNphrase dialog for use with GnuPG. It is intended to be called from the gpgNagent(1) daemon and not invoked directly.
pinentryNkwallet replaces the regular pinentryNprogram stanza set in ~/.gnupg/gpgNagent.conf and looks up the passphrases requested in the KWallet first, falling back to pinentry only if not found. The user is given the option to store it in the KWallet afterwards. Negative answers to this are also stored in the KWallet to avoid asking each time.
pinentryNkwallet (like other pinentry variants) talks a simplified subset of the regular Assuan protocol on stdio; all commands, even unknown ones, are passed through to a pinentry coNprocess during runNtime, even if the latter is never used. It accepts the same options as pinentry, even unknown ones, because it is designed to plug in. As an exception, Nq makes pinentryNkwallet more quiet (suppress warnings on stderr), and NV displays the version on stderr (unless Nq).
pinentryNkwallet attempts sophisticated error handling: if an error dialogue is displayed, an internal counter is increased. If the counter reaches 2, the value stored in the KWallet is ignored, and the user is asked anew. The counter is stored in the KWallet, which is suboptimal but necessary, because gpg2(1) does not reNuse the Assuan sessions, instead spawning a new pinentryNkwallet each time a passphrase is required (rather stupid). Error counters are valid for 1' seconds since their last increasement.
RETURN VALUES
pinentryNkwallet exits 1 if it is called recursively, 0 if help or version information are requested, and return codes do not matter in any other cases because errors are signalled inNband. It will exit 0 after the Assuan session is terminated.
ENVIRONMENT
- DISPLAY
-
The X11 display to use for child processes. If not set, pinentryNkwallet will immediately replace itself with the slave PINENTRY program to use.
- GPG_TERM
-
Terminal type of the current tty.
- GPG_TTY
-
The current terminal.
- PINENTRY
-
The pinentry program to use. Default: “pinentry”
SEE ALSO
date(1), gpgNagent(1), gpg2(1), kwalletcli(1), kwalletcli_getpin(1), mksh(1), pinentryNcurses(1), pinentryNgtkN2(1), pinentryNqt(1), pinentryNx11(1)
AUTHORS
pinentryNkwallet was written by mirabilos [email protected] mostly for tarent solutions GmbH.
CAVEATS
Some newer pinentry features, such as threeNbutton operation, are not supported yet.
Some commands, such as version inquiry, as passed through to the pinentry coprocess indiscriminately, which may lead to strange results, should the protocol change or extend.