1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-02-21 19:48:05 +01:00

* packet.h, build-packet.c (sig_to_notation), keygen.c

(keygen_add_notations): Tweak to handle non-human-readable notation
values.
This commit is contained in:
David Shaw 2006-03-08 23:42:45 +00:00
parent 4fea8fdbbb
commit 889c4afd78
4 changed files with 15 additions and 6 deletions

View File

@ -1,5 +1,9 @@
2006-03-08 David Shaw <dshaw@jabberwocky.com>
* packet.h, build-packet.c (sig_to_notation), keygen.c
(keygen_add_notations): Tweak to handle non-human-readable
notation values.
* options.h, sign.c (mk_notation_policy_etc), gpg.c
(add_notation_data): Use it here for the various notation
commands.

View File

@ -1000,18 +1000,18 @@ sig_to_notation(PKT_signature *sig)
if(p[0]&0x80)
{
n->flags.human=1;
n->value=xmalloc(n2+1);
memcpy(n->value,&p[8+n1],n2);
n->value[n2]='\0';
}
else
{
n->value=xmalloc(2+strlen(_("not human readable"))+2+1);
strcpy(n->value,"[ ");
strcat(n->value,_("not human readable"));
strcat(n->value," ]");
n->value=xmalloc(n2);
n->blen=n2;
}
memcpy(n->value,&p[8+n1],n2);
n->flags.critical=crit;
n->next=list;

View File

@ -708,12 +708,15 @@ keygen_add_notations(PKT_signature *sig,void *opaque)
n1=strlen(notation->name);
if(notation->altvalue)
n2=strlen(notation->altvalue);
else if(!notation->flags.human)
n2=notation->blen;
else
n2=strlen(notation->value);
buf = xmalloc( 8 + n1 + n2 );
buf[0] = 0x80; /* human readable */
/* human readable or not */
buf[0] = notation->flags.human?0x80:0;
buf[1] = buf[2] = buf[3] = 0;
buf[4] = n1 >> 8;
buf[5] = n1;

View File

@ -411,10 +411,12 @@ struct notation
{
char *name;
char *value;
size_t blen;
char *altvalue;
struct
{
unsigned int critical:1;
unsigned int human:1;
unsigned int ignore:1;
} flags;
struct notation *next;