mirror of
git://git.gnupg.org/gnupg.git
synced 2025-05-24 16:43:28 +02:00
Allow requesting only an IPGP certtype with dns_cert().
* util/cert.c (get_cert): Add arg want_ipgp. Change callers. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
0d286a11c8
commit
d2323ce6fd
@ -2164,7 +2164,7 @@ keyserver_import_cert(const char *name,unsigned char **fpr,size_t *fpr_len)
|
|||||||
if(domain)
|
if(domain)
|
||||||
*domain='.';
|
*domain='.';
|
||||||
|
|
||||||
type=get_cert(look,max_cert_size,&key,fpr,fpr_len,&url);
|
type = get_cert (look, 0, max_cert_size, &key, fpr, fpr_len, &url);
|
||||||
if(type==1)
|
if(type==1)
|
||||||
{
|
{
|
||||||
int armor_status=opt.no_armor;
|
int armor_status=opt.no_armor;
|
||||||
|
@ -244,8 +244,8 @@ char *xtryvasprintf (const char *fmt, va_list arg_ptr);
|
|||||||
char *get_pka_info (const char *address, unsigned char *fpr);
|
char *get_pka_info (const char *address, unsigned char *fpr);
|
||||||
|
|
||||||
/*-- cert.c --*/
|
/*-- cert.c --*/
|
||||||
int get_cert(const char *name,size_t max_size,IOBUF *iobuf,
|
int get_cert (const char *name, int want_ipgp, size_t max_size, IOBUF *iobuf,
|
||||||
unsigned char **fpr,size_t *fpr_len,char **url);
|
unsigned char **fpr,size_t *fpr_len,char **url);
|
||||||
|
|
||||||
/*-- convert.c --*/
|
/*-- convert.c --*/
|
||||||
int hex2bin (const char *string, void *buffer, size_t length);
|
int hex2bin (const char *string, void *buffer, size_t length);
|
||||||
|
10
util/cert.c
10
util/cert.c
@ -48,8 +48,8 @@
|
|||||||
/* Returns -1 on error, 0 for no answer, 1 for PGP provided and 2 for
|
/* Returns -1 on error, 0 for no answer, 1 for PGP provided and 2 for
|
||||||
IPGP provided. */
|
IPGP provided. */
|
||||||
int
|
int
|
||||||
get_cert(const char *name,size_t max_size,IOBUF *iobuf,
|
get_cert (const char *name, int want_ipgp, size_t max_size,IOBUF *iobuf,
|
||||||
unsigned char **fpr,size_t *fpr_len,char **url)
|
unsigned char **fpr, size_t *fpr_len, char **url)
|
||||||
{
|
{
|
||||||
unsigned char *answer;
|
unsigned char *answer;
|
||||||
int r,ret=-1;
|
int r,ret=-1;
|
||||||
@ -140,7 +140,9 @@ get_cert(const char *name,size_t max_size,IOBUF *iobuf,
|
|||||||
|
|
||||||
/* 15 bytes takes us to here */
|
/* 15 bytes takes us to here */
|
||||||
|
|
||||||
if(ctype==3 && iobuf && dlen)
|
if (want_ipgp && ctype != 6)
|
||||||
|
; /* Skip non IPGP cert records. */
|
||||||
|
else if (ctype==3 && iobuf && dlen)
|
||||||
{
|
{
|
||||||
/* PGP type */
|
/* PGP type */
|
||||||
*iobuf=iobuf_temp_with_content((char *)pt,dlen);
|
*iobuf=iobuf_temp_with_content((char *)pt,dlen);
|
||||||
@ -216,7 +218,7 @@ main(int argc,char *argv[])
|
|||||||
|
|
||||||
printf("CERT lookup on %s\n",argv[1]);
|
printf("CERT lookup on %s\n",argv[1]);
|
||||||
|
|
||||||
rc=get_cert(argv[1],16384,&iobuf,&fpr,&fpr_len,&url);
|
rc=get_cert (argv[1], 0, 16384, &iobuf, &fpr, &fpr_len, &url);
|
||||||
if(rc==-1)
|
if(rc==-1)
|
||||||
printf("error\n");
|
printf("error\n");
|
||||||
else if(rc==0)
|
else if(rc==0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user