(setup_pinentry_env): Try hard to set a default for GPG_TTY.

This commit is contained in:
Werner Koch 2004-10-04 13:21:37 +00:00
parent 31cdfcafe4
commit ad5d5fce4f
2 changed files with 20 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2004-10-04 Werner Koch <wk@g10code.com>
* misc.c (setup_pinentry_env): Try hard to set a default for GPG_TTY.
2004-09-30 Werner Koch <wk@g10code.com>
* gpgsm.c (i18n_init): Always use LC_ALL.

View File

@ -30,7 +30,7 @@
#endif
#include "gpgsm.h"
#include "i18n.h"
/* Setup the environment so that the pinentry is able to get all
required information. This is used prior to an exec of the
@ -42,8 +42,23 @@ setup_pinentry_env (void)
if (opt.display)
setenv ("DISPLAY", opt.display, 1);
/* Try to make sure that GPG_TTY has been set. This is needed if we
call for example the protect-tools with redirected stdin and thus
it won't be able to ge a default by itself. Try to do it here
but print a warning. */
if (opt.ttyname)
setenv ("GPG_TTY", opt.ttyname, 1);
else if (!(lc=getenv ("GPG_TTY")) || !*lc)
{
log_error (_("GPG_TTY has not been set - "
"using maybe bogus default\n"));
lc = ttyname (0);
if (!lc)
lc = "/dev/tty";
setenv ("GPG_TTY", lc, 1);
}
if (opt.ttytype)
setenv ("TERM", opt.ttytype, 1);