mirror of
git://git.gnupg.org/gnupg.git
synced 2025-04-17 15:44:34 +02:00
gpg,sm: Avoid useless ASFW diagnostic in loopback mode.
* common/sysutils.c (inhibit_set_foregound_window): New var. (gnupg_inhibit_set_foregound_window): New func. (gnupg_allow_set_foregound_window): Use var. * g10/gpg.c (main): Inhibit in loopback mode. * sm/gpgsm.c (main): Ditto. -- Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
2b843be5ac
commit
14aa797bb8
@ -87,6 +87,11 @@
|
|||||||
* an explanation of these file names. */
|
* an explanation of these file names. */
|
||||||
static int allow_special_filenames;
|
static int allow_special_filenames;
|
||||||
|
|
||||||
|
#ifdef HAVE_W32_SYSTEM
|
||||||
|
/* State of gnupg_inhibit_set_foregound_window. */
|
||||||
|
static int inhibit_set_foregound_window;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static GPGRT_INLINE gpg_error_t
|
static GPGRT_INLINE gpg_error_t
|
||||||
my_error_from_syserror (void)
|
my_error_from_syserror (void)
|
||||||
@ -612,6 +617,20 @@ gnupg_reopen_std (const char *pgmname)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Inhibit calls to AllowSetForegroundWindow on Windows. Calling this
|
||||||
|
* with YES set to true calls to gnupg_allow_set_foregound_window are
|
||||||
|
* shunted. */
|
||||||
|
void
|
||||||
|
gnupg_inhibit_set_foregound_window (int yes)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_W32_SYSTEM
|
||||||
|
inhibit_set_foregound_window = yes;
|
||||||
|
#else
|
||||||
|
(void)yes;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Hack required for Windows. */
|
/* Hack required for Windows. */
|
||||||
void
|
void
|
||||||
gnupg_allow_set_foregound_window (pid_t pid)
|
gnupg_allow_set_foregound_window (pid_t pid)
|
||||||
@ -620,6 +639,8 @@ gnupg_allow_set_foregound_window (pid_t pid)
|
|||||||
log_info ("%s called with invalid pid %lu\n",
|
log_info ("%s called with invalid pid %lu\n",
|
||||||
"gnupg_allow_set_foregound_window", (unsigned long)pid);
|
"gnupg_allow_set_foregound_window", (unsigned long)pid);
|
||||||
#if defined(HAVE_W32_SYSTEM) && !defined(HAVE_W32CE_SYSTEM)
|
#if defined(HAVE_W32_SYSTEM) && !defined(HAVE_W32CE_SYSTEM)
|
||||||
|
else if (inhibit_set_foregound_window)
|
||||||
|
;
|
||||||
else if (!AllowSetForegroundWindow ((pid_t)pid == (pid_t)(-1)?ASFW_ANY:pid))
|
else if (!AllowSetForegroundWindow ((pid_t)pid == (pid_t)(-1)?ASFW_ANY:pid))
|
||||||
log_info ("AllowSetForegroundWindow(%lu) failed: %s\n",
|
log_info ("AllowSetForegroundWindow(%lu) failed: %s\n",
|
||||||
(unsigned long)pid, w32_strerror (-1));
|
(unsigned long)pid, w32_strerror (-1));
|
||||||
|
@ -61,6 +61,7 @@ int translate_sys2libc_fd_int (int fd, int for_write);
|
|||||||
int check_special_filename (const char *fname, int for_write, int notranslate);
|
int check_special_filename (const char *fname, int for_write, int notranslate);
|
||||||
FILE *gnupg_tmpfile (void);
|
FILE *gnupg_tmpfile (void);
|
||||||
void gnupg_reopen_std (const char *pgmname);
|
void gnupg_reopen_std (const char *pgmname);
|
||||||
|
void gnupg_inhibit_set_foregound_window (int yes);
|
||||||
void gnupg_allow_set_foregound_window (pid_t pid);
|
void gnupg_allow_set_foregound_window (pid_t pid);
|
||||||
int gnupg_remove (const char *fname);
|
int gnupg_remove (const char *fname);
|
||||||
gpg_error_t gnupg_rename_file (const char *oldname, const char *newname,
|
gpg_error_t gnupg_rename_file (const char *oldname, const char *newname,
|
||||||
|
@ -4167,6 +4167,15 @@ main (int argc, char **argv)
|
|||||||
opt.passphrase_repeat = 0;
|
opt.passphrase_repeat = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If no pinentry is expected shunt
|
||||||
|
* gnupg_allow_set_foregound_window to avoid useless error
|
||||||
|
* messages on Windows. */
|
||||||
|
if (opt.pinentry_mode != PINENTRY_MODE_ASK)
|
||||||
|
{
|
||||||
|
gnupg_inhibit_set_foregound_window (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (cmd == aGPGConfTest)
|
if (cmd == aGPGConfTest)
|
||||||
g10_exit(0);
|
g10_exit(0);
|
||||||
|
|
||||||
|
@ -1737,6 +1737,14 @@ main ( int argc, char **argv)
|
|||||||
if (!cmd && opt.fingerprint && !with_fpr)
|
if (!cmd && opt.fingerprint && !with_fpr)
|
||||||
set_cmd (&cmd, aListKeys);
|
set_cmd (&cmd, aListKeys);
|
||||||
|
|
||||||
|
/* If no pinentry is expected shunt
|
||||||
|
* gnupg_allow_set_foregound_window to avoid useless error
|
||||||
|
* messages on Windows. */
|
||||||
|
if (opt.pinentry_mode != PINENTRY_MODE_ASK)
|
||||||
|
{
|
||||||
|
gnupg_inhibit_set_foregound_window (1);
|
||||||
|
}
|
||||||
|
|
||||||
/* Add default keybox. */
|
/* Add default keybox. */
|
||||||
if (!nrings && default_keyring)
|
if (!nrings && default_keyring)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user