1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-29 02:22:45 +02:00

* gpg.c (print_algo_names): New. (list_config): Use it here for the

"ciphername" and "digestname" config items so we can get a
script-parseable list of the names.
This commit is contained in:
David Shaw 2007-11-28 15:09:52 +00:00
parent e60684e3d8
commit c756a493c9
2 changed files with 41 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2007-11-28 David Shaw <dshaw@jabberwocky.com>
* gpg.c (print_algo_names): New.
(list_config): Use it here for the "ciphername" and "digestname"
config items so we can get a script-parseable list of the names.
2007-11-19 Werner Koch <wk@g10code.com> 2007-11-19 Werner Koch <wk@g10code.com>
* keyedit.c (keyedit_menu): String grammar fix. * keyedit.c (keyedit_menu): String grammar fix.

View File

@ -1324,7 +1324,6 @@ check_permissions(const char *path,int item)
return 0; return 0;
} }
static void static void
print_algo_numbers(int (*checker)(int)) print_algo_numbers(int (*checker)(int))
{ {
@ -1343,6 +1342,23 @@ print_algo_numbers(int (*checker)(int))
} }
} }
static void
print_algo_names(int (*checker)(int),const char *(*mapper)(int))
{
int i,first=1;
for(i=0;i<=110;i++)
{
if(!checker(i))
{
if(first)
first=0;
else
printf(";");
printf("%s",mapper(i));
}
}
}
/* In the future, we can do all sorts of interesting configuration /* In the future, we can do all sorts of interesting configuration
output here. For now, just give "group" as the Enigmail folks need output here. For now, just give "group" as the Enigmail folks need
@ -1410,6 +1426,14 @@ list_config(char *items)
any=1; any=1;
} }
if(show_all || ascii_strcasecmp(name,"ciphername")==0)
{
printf("cfg:ciphername:");
print_algo_names(check_cipher_algo,cipher_algo_to_string);
printf("\n");
any=1;
}
if(show_all if(show_all
|| ascii_strcasecmp(name,"digest")==0 || ascii_strcasecmp(name,"digest")==0
|| ascii_strcasecmp(name,"hash")==0) || ascii_strcasecmp(name,"hash")==0)
@ -1420,6 +1444,16 @@ list_config(char *items)
any=1; any=1;
} }
if(show_all
|| ascii_strcasecmp(name,"digestname")==0
|| ascii_strcasecmp(name,"hashname")==0)
{
printf("cfg:digestname:");
print_algo_names(check_digest_algo,digest_algo_to_string);
printf("\n");
any=1;
}
if(show_all || ascii_strcasecmp(name,"compress")==0) if(show_all || ascii_strcasecmp(name,"compress")==0)
{ {
printf("cfg:compress:"); printf("cfg:compress:");