[svn] GnuPG - r4051 - trunk/g10

svn author dshaw cvs at cvs.gnupg.org
Thu Mar 9 02:15:20 CET 2006


Author: dshaw
Date: 2006-03-09 02:15:18 +0100 (Thu, 09 Mar 2006)
New Revision: 4051

Modified:
   trunk/g10/ChangeLog
   trunk/g10/build-packet.c
   trunk/g10/keygen.c
   trunk/g10/packet.h
Log:
* packet.h, build-packet.c (sig_to_notation), keygen.c
(keygen_add_notations): Provide printable text for non-human-readable
notation values.


Modified: trunk/g10/ChangeLog
===================================================================
--- trunk/g10/ChangeLog	2006-03-08 23:42:45 UTC (rev 4050)
+++ trunk/g10/ChangeLog	2006-03-09 01:15:18 UTC (rev 4051)
@@ -1,6 +1,10 @@
 2006-03-08  David Shaw  <dshaw at jabberwocky.com>
 
 	* packet.h, build-packet.c (sig_to_notation), keygen.c
+	(keygen_add_notations): Provide printable text for
+	non-human-readable notation values.
+	
+	* packet.h, build-packet.c (sig_to_notation), keygen.c
 	(keygen_add_notations): Tweak to handle non-human-readable
 	notation values.
 

Modified: trunk/g10/build-packet.c
===================================================================
--- trunk/g10/build-packet.c	2006-03-08 23:42:45 UTC (rev 4050)
+++ trunk/g10/build-packet.c	2006-03-09 01:15:18 UTC (rev 4051)
@@ -1000,18 +1000,22 @@
 
       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(n2);
+	  n->bdat=xmalloc(n2);
 	  n->blen=n2;
+	  memcpy(n->bdat,&p[8+n1],n2);
+
+	  n->value=xmalloc(2+strlen(_("not human readable"))+2+1);
+	  strcpy(n->value,"[ ");
+	  strcat(n->value,_("not human readable"));
+	  strcat(n->value," ]");
 	}
 
-      memcpy(n->value,&p[8+n1],n2);
-
       n->flags.critical=crit;
 
       n->next=list;
@@ -1030,6 +1034,8 @@
 
       xfree(n->name);
       xfree(n->value);
+      xfree(n->altvalue);
+      xfree(n->bdat);
       notation=n->next;
       xfree(n);
     }

Modified: trunk/g10/keygen.c
===================================================================
--- trunk/g10/keygen.c	2006-03-08 23:42:45 UTC (rev 4050)
+++ trunk/g10/keygen.c	2006-03-09 01:15:18 UTC (rev 4051)
@@ -708,7 +708,7 @@
 	n1=strlen(notation->name);
 	if(notation->altvalue)
 	  n2=strlen(notation->altvalue);
-	else if(!notation->flags.human)
+	else if(notation->bdat)
 	  n2=notation->blen;
 	else
 	  n2=strlen(notation->value);
@@ -716,7 +716,7 @@
 	buf = xmalloc( 8 + n1 + n2 );
 
 	/* human readable or not */
-	buf[0] = notation->flags.human?0x80:0;
+	buf[0] = notation->bdat?0:0x80;
 	buf[1] = buf[2] = buf[3] = 0;
 	buf[4] = n1 >> 8;
 	buf[5] = n1;
@@ -725,6 +725,8 @@
 	memcpy(buf+8, notation->name, n1 );
 	if(notation->altvalue)
 	  memcpy(buf+8+n1, notation->altvalue, n2 );
+	else if(notation->bdat)
+	  memcpy(buf+8+n1, notation->bdat, n2 );
 	else
 	  memcpy(buf+8+n1, notation->value, n2 );
 	build_sig_subpkt( sig, SIGSUBPKT_NOTATION |

Modified: trunk/g10/packet.h
===================================================================
--- trunk/g10/packet.h	2006-03-08 23:42:45 UTC (rev 4050)
+++ trunk/g10/packet.h	2006-03-09 01:15:18 UTC (rev 4051)
@@ -411,12 +411,12 @@
 {
   char *name;
   char *value;
+  char *altvalue;
+  unsigned char *bdat;
   size_t blen;
-  char *altvalue;
   struct
   {
     unsigned int critical:1;
-    unsigned int human:1;
     unsigned int ignore:1;
   } flags;
   struct notation *next;




More information about the Gnupg-commits mailing list