mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-23 10:29:58 +01:00
gpgconf: --show-configs now prints a bunch of Registry entries.
* tools/gpgconf.c (show_other_registry_entries): New. (show_configs): Call it. Minor reformatting. --
This commit is contained in:
parent
58652f4c0b
commit
7f31891ab1
114
tools/gpgconf.c
114
tools/gpgconf.c
@ -1252,6 +1252,95 @@ show_configs_one_file (const char *fname, int global, estream_t outfp,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef HAVE_W32_SYSTEM
|
||||||
|
/* Print registry entries relevant to the GnuPG system and related
|
||||||
|
* software. */
|
||||||
|
static void
|
||||||
|
show_other_registry_entries (estream_t outfp)
|
||||||
|
{
|
||||||
|
static struct {
|
||||||
|
int group;
|
||||||
|
const char *name;
|
||||||
|
} names[] =
|
||||||
|
{
|
||||||
|
{ 1, "HKLM\\Software\\Gpg4win:Install Directory" },
|
||||||
|
{ 1, "HKLM\\Software\\Gpg4win:Desktop-Version" },
|
||||||
|
{ 1, "HKLM\\Software\\Gpg4win:VS-Desktop-Version" },
|
||||||
|
{ 2, "Software\\Microsoft\\Office\\Outlook\\Addins\\GNU.GpgOL"
|
||||||
|
":LoadBehavior" },
|
||||||
|
{ 2, "HKCU\\Software\\Microsoft\\Office\\16.0\\Outlook\\Options\\Mail:"
|
||||||
|
"ReadAsPlain" },
|
||||||
|
{ 2, "HKCU\\Software\\Policies\\Microsoft\\Office\\16.0\\Outlook\\"
|
||||||
|
"Options\\Mail:ReadAsPlain" },
|
||||||
|
{ 3, "logFile" },
|
||||||
|
{ 3, "enableDebug" },
|
||||||
|
{ 3, "searchSmimeServers" },
|
||||||
|
{ 3, "smimeInsecureReplyAllowed" },
|
||||||
|
{ 3, "enableSmime" },
|
||||||
|
{ 3, "preferSmime" },
|
||||||
|
{ 3, "encryptDefault" },
|
||||||
|
{ 3, "signDefault" },
|
||||||
|
{ 3, "inlinePGP" },
|
||||||
|
{ 3, "replyCrypt" },
|
||||||
|
{ 3, "autoresolve" },
|
||||||
|
{ 3, "autoretrieve" },
|
||||||
|
{ 3, "automation" },
|
||||||
|
{ 3, "autosecure" },
|
||||||
|
{ 3, "autotrust" },
|
||||||
|
{ 3, "autoencryptUntrusted" },
|
||||||
|
{ 3, "autoimport" },
|
||||||
|
{ 3, "splitBCCMails" },
|
||||||
|
{ 3, "combinedOpsEnabled" },
|
||||||
|
{ 3, "encryptSubject" },
|
||||||
|
{ 0, NULL }
|
||||||
|
};
|
||||||
|
int idx;
|
||||||
|
int group = 0;
|
||||||
|
char *namebuf = NULL;
|
||||||
|
const char *name;
|
||||||
|
|
||||||
|
for (idx=0; (name = names[idx].name); idx++)
|
||||||
|
{
|
||||||
|
char *value;
|
||||||
|
|
||||||
|
if (names[idx].group == 3)
|
||||||
|
{
|
||||||
|
xfree (namebuf);
|
||||||
|
namebuf = xstrconcat ("\\Software\\GNU\\GpgOL", ":",
|
||||||
|
names[idx].name, NULL);
|
||||||
|
name = namebuf;
|
||||||
|
}
|
||||||
|
|
||||||
|
value = read_w32_reg_string (name);
|
||||||
|
if (!value)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (names[idx].group != group)
|
||||||
|
{
|
||||||
|
group = names[idx].group;
|
||||||
|
es_fprintf (outfp, "###\n### %s related:\n",
|
||||||
|
group == 1 ? "GnuPG Desktop" :
|
||||||
|
group == 2 ? "Outlook" :
|
||||||
|
group == 3 ? "\\Software\\GNU\\GpgOL"
|
||||||
|
: "System" );
|
||||||
|
}
|
||||||
|
|
||||||
|
if (group == 3)
|
||||||
|
es_fprintf (outfp, "### %s=%s\n", names[idx].name, value);
|
||||||
|
else
|
||||||
|
es_fprintf (outfp, "### %s\n### ->%s<-\n", name, value);
|
||||||
|
|
||||||
|
/* FIXME: We may want to add an indiction whethe found via HKLM
|
||||||
|
* or HKCU. */
|
||||||
|
|
||||||
|
xfree (value);
|
||||||
|
}
|
||||||
|
|
||||||
|
es_fprintf (outfp, "###\n");
|
||||||
|
xfree (namebuf);
|
||||||
|
}
|
||||||
|
#endif /*HAVE_W32_SYSTEM*/
|
||||||
|
|
||||||
/* Show all config files. */
|
/* Show all config files. */
|
||||||
static void
|
static void
|
||||||
show_configs (estream_t outfp)
|
show_configs (estream_t outfp)
|
||||||
@ -1267,6 +1356,8 @@ show_configs (estream_t outfp)
|
|||||||
size_t n;
|
size_t n;
|
||||||
int any;
|
int any;
|
||||||
strlist_t list = NULL;
|
strlist_t list = NULL;
|
||||||
|
strlist_t sl;
|
||||||
|
const char *s;
|
||||||
|
|
||||||
es_fprintf (outfp, "### Dump of all standard config files\n");
|
es_fprintf (outfp, "### Dump of all standard config files\n");
|
||||||
show_version_gnupg (outfp, "### ");
|
show_version_gnupg (outfp, "### ");
|
||||||
@ -1288,9 +1379,6 @@ show_configs (estream_t outfp)
|
|||||||
/* Print the encountered registry values and envvars. */
|
/* Print the encountered registry values and envvars. */
|
||||||
if (list)
|
if (list)
|
||||||
{
|
{
|
||||||
strlist_t sl;
|
|
||||||
const char *s;
|
|
||||||
|
|
||||||
any = 0;
|
any = 0;
|
||||||
for (sl = list; sl; sl = sl->next)
|
for (sl = list; sl; sl = sl->next)
|
||||||
if (!(sl->flags & 1))
|
if (!(sl->flags & 1))
|
||||||
@ -1309,8 +1397,13 @@ show_configs (estream_t outfp)
|
|||||||
}
|
}
|
||||||
if (any)
|
if (any)
|
||||||
es_fprintf (outfp, "###\n");
|
es_fprintf (outfp, "###\n");
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_W32_SYSTEM
|
#ifdef HAVE_W32_SYSTEM
|
||||||
any = 0;
|
es_fprintf (outfp, "###\n### Registry entries:\n");
|
||||||
|
any = 0;
|
||||||
|
if (list)
|
||||||
|
{
|
||||||
for (sl = list; sl; sl = sl->next)
|
for (sl = list; sl; sl = sl->next)
|
||||||
if ((sl->flags & 1))
|
if ((sl->flags & 1))
|
||||||
{
|
{
|
||||||
@ -1319,9 +1412,7 @@ show_configs (estream_t outfp)
|
|||||||
if (!any)
|
if (!any)
|
||||||
{
|
{
|
||||||
any = 1;
|
any = 1;
|
||||||
es_fprintf (outfp,
|
es_fprintf (outfp, "###\n### Encountered in config files:\n");
|
||||||
"###\n"
|
|
||||||
"### List of encountered registry entries:\n");
|
|
||||||
}
|
}
|
||||||
if ((p = read_w32_reg_string (sl->d)))
|
if ((p = read_w32_reg_string (sl->d)))
|
||||||
es_fprintf (outfp, "### %s ->%s<-\n", sl->d, p);
|
es_fprintf (outfp, "### %s ->%s<-\n", sl->d, p);
|
||||||
@ -1329,12 +1420,13 @@ show_configs (estream_t outfp)
|
|||||||
es_fprintf (outfp, "### %s [not set]\n", sl->d);
|
es_fprintf (outfp, "### %s [not set]\n", sl->d);
|
||||||
xfree (p);
|
xfree (p);
|
||||||
}
|
}
|
||||||
if (any)
|
|
||||||
es_fprintf (outfp, "###\n");
|
|
||||||
#endif
|
|
||||||
free_strlist (list);
|
|
||||||
}
|
}
|
||||||
|
if (!any)
|
||||||
|
es_fprintf (outfp, "###\n");
|
||||||
|
show_other_registry_entries (outfp);
|
||||||
|
#endif /*HAVE_W32_SYSTEM*/
|
||||||
|
|
||||||
|
free_strlist (list);
|
||||||
|
|
||||||
/* Check for uncommon files in the home directory. */
|
/* Check for uncommon files in the home directory. */
|
||||||
dir = gnupg_opendir (gnupg_homedir ());
|
dir = gnupg_opendir (gnupg_homedir ());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user