Add features packet and fixes MIPS3.
authorWerner Koch <wk@gnupg.org>
Wed, 11 Oct 2000 17:26:49 +0000 (17:26 +0000)
committerWerner Koch <wk@gnupg.org>
Wed, 11 Oct 2000 17:26:49 +0000 (17:26 +0000)
12 files changed:
TODO
g10/ChangeLog
g10/build-packet.c
g10/keygen.c
g10/packet.h
g10/parse-packet.c
mpi/ChangeLog
mpi/config.links
mpi/generic/distfiles
mpi/generic/mpi-asm-defs.h [new file with mode: 0644]
mpi/mips3/distfiles
mpi/mips3/mpi-asm-defs.h [new file with mode: 0644]

diff --git a/TODO b/TODO
index da49089..30e27e7 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,5 +1,11 @@
 
-  * options.skel wird mit umaks von root installiert.
+  * Look at FEATURES packet to decide wether to use MDC.  We should
+    rethink the whole preference implementation and drop that ugly hamehash
+    stuff.  Is it possible to that in getkey?  We have to see whether we
+    realy lookit up by user name or whethre there is a double lookup,
+    first by userid and then later by keyid - which is bad.
+
+  * options.skel wird mit umask von root installiert.
 
   * See how we can handle the symlinks in ./gcrypt
 
index 6f73abf..4fb562f 100644 (file)
@@ -1,3 +1,11 @@
+2000-10-11  Werner Koch  <wk@gnupg.org>
+
+       * packet.h: Add features sig subpacket definition.
+       * parse-packet.c (dump_sig_subpkt,parse_one_sig_subpkt,
+       can_handle_critical): Implemented it here.
+       * build-packet.c (build_sig_subpkt): and here.
+       * keygen.c (keygen_add_std_prefs): Generate a features packet.
+       
 2000-10-09  Werner Koch  <wk@gnupg.org>
 
        * keygen.c (do_generate_keypair): Removed the keyblock locking.
index 7291f74..9338187 100644 (file)
@@ -702,6 +702,7 @@ build_sig_subpkt( PKT_signature *sig, sigsubpkttype_t type,
       case SIGSUBPKT_POLICY:
       case SIGSUBPKT_REVOC_REASON:
       case SIGSUBPKT_KEY_FLAGS:
+      case SIGSUBPKT_FEATURES:
               hashed = 1; break;
       default: hashed = 0; break;
     }
index 415c54a..790dd58 100644 (file)
@@ -148,6 +148,9 @@ keygen_add_std_prefs( PKT_signature *sig, void *opaque )
     buf[1] = 1;
     build_sig_subpkt( sig, SIGSUBPKT_PREF_COMPR, buf, 2 );
 
+    buf[0] = 1; /* supports MDC packets (15 + 16) */
+    build_sig_subpkt( sig, SIGSUBPKT_FEATURES, buf, 1 );
+
     buf[0] = 0x80; /* no modify - It is reasonable that a key holder
                    * has the possibility to reject signatures from users
                    * who are known to sign everything without any
index 33bcf79..2f7f16f 100644 (file)
@@ -275,6 +275,7 @@ typedef enum {
     SIGSUBPKT_KEY_FLAGS    =27, /* key flags */
     SIGSUBPKT_SIGNERS_UID  =28, /* signer's user id */
     SIGSUBPKT_REVOC_REASON =29, /* reason for revocation */
+    SIGSUBPKT_FEATURES     =30, /* feature flags */
     SIGSUBPKT_PRIV_ADD_SIG =101,/* signatur is also valid for this uid */
 
     SIGSUBPKT_FLAG_CRITICAL=128
index b22a599..691be66 100644 (file)
@@ -843,7 +843,12 @@ dump_sig_subpkt( int hashed, int type, int critical,
                printf("%02X", buffer[i] );
        }
         break;
-      case SIGSUBPKT_PRIV_ADD_SIG:
+      case SIGSUBPKT_FEATURES:
+        fputs ( "features:", stdout );
+        for( i=0; i < length; i++ )
+            printf(" %02X", buffer[i] );
+        break;
+      case SIGSUBPKT_PRIV_ADD_SIG:  /* gnupg private - to be removed */
        p = "signs additional user ID";
        break;
       default: p = "?"; break;
@@ -889,6 +894,7 @@ parse_one_sig_subpkt( const byte *buffer, size_t n, int type )
       case SIGSUBPKT_PREF_SYM:
       case SIGSUBPKT_PREF_HASH:
       case SIGSUBPKT_PREF_COMPR:
+      case SIGSUBPKT_FEATURES:
       case SIGSUBPKT_POLICY:
        return 0;
       case SIGSUBPKT_PRIMARY_UID:
@@ -925,6 +931,7 @@ can_handle_critical( const byte *buffer, size_t n, int type )
       case SIGSUBPKT_PREF_SYM:
       case SIGSUBPKT_PREF_HASH:
       case SIGSUBPKT_PREF_COMPR:
+      case SIGSUBPKT_FEATURES:
       case SIGSUBPKT_KEY_FLAGS:
        return 1;
 
index 97ae3cd..64b0b38 100644 (file)
@@ -1,3 +1,9 @@
+2000-10-11  Werner Koch  <wk@gnupg.org>
+
+       * generic/mpi-asm-defs.h: New.
+       * mips3/mpi-asm-defs.h: New.
+       * config.links: Create a link to one of the above files.
+
 Fri Jul 28 18:19:11 CEST 2000  Werner Koch  <wk@openit.de>
 
   * mpicoder.c (gcry_mpi_scan): Normalize the returned MPI.
index 6f6b276..2a261ed 100644 (file)
@@ -278,3 +278,14 @@ for fn in $mpi_ln_modules ; do
     done
 done
 
+# Same thing for the file which defines the limb size
+path="$path generic"
+for dir in $path ; do
+       rm -f $srcdir/mpi/mpi-asm-defs.h
+       if test -f $srcdir/mpi/$dir/mpi-asm-defs.h ; then
+           mpi_ln_src="$mpi_ln_src mpi/$dir/mpi-asm-defs.h"
+           mpi_ln_dst="$mpi_ln_dst mpi/mpi-asm-defs.h"
+           break;
+       fi
+done
+
index 0bf4600..649e829 100644 (file)
@@ -6,4 +6,5 @@ mpih-lshift.c
 mpih-rshift.c
 mpih-sub1.c
 udiv-w-sdiv.c
+mpi-asm-defs.h
 
diff --git a/mpi/generic/mpi-asm-defs.h b/mpi/generic/mpi-asm-defs.h
new file mode 100644 (file)
index 0000000..c25f966
--- /dev/null
@@ -0,0 +1,9 @@
+/* This file defines some basic constants for the MPI machinery.  We
+ * need to define the types on a per-CPU basis, so it is done with
+ * this file here.  */
+#define BYTES_PER_MPI_LIMB  (sizeof unsigned long)
+
+
+
+
+
index b88f4f8..85260fc 100644 (file)
@@ -6,4 +6,5 @@ mpih-mul2.S
 mpih-mul3.S
 mpih-lshift.S
 mpih-rshift.S
+mpi-asm-defs.h
 
diff --git a/mpi/mips3/mpi-asm-defs.h b/mpi/mips3/mpi-asm-defs.h
new file mode 100644 (file)
index 0000000..2d9a9c1
--- /dev/null
@@ -0,0 +1,10 @@
+/* This file defines some basic constants for the MPI machinery.  We
+ * need to define the types on a per-CPU basis, so it is done with
+ * this file here.  */
+#define BYTES_PER_MPI_LIMB  8
+
+
+
+
+
+