* configure.ac: Required newer versions of some libraries. V1-9-1
authorWerner Koch <wk@gnupg.org>
Sat, 6 Sep 2003 13:23:48 +0000 (13:23 +0000)
committerWerner Koch <wk@gnupg.org>
Sat, 6 Sep 2003 13:23:48 +0000 (13:23 +0000)
* misc.c (openpgp_pk_algo_usage): Allow AUTH where SIGN is allowed.

* keygen.c (ask_passphrase): No need to allocated S2K in secure
memory.

* scdaemon.c (main): --pcsc-driver again defaults to pcsclite.
David Corcoran was so kind to remove the GPL incompatible
advertisng clause from pcsclite.
* apdu.c (apdu_open_reader): Actually make pcsc-driver option work.

ChangeLog
NEWS
configure.ac
g10/ChangeLog
g10/keygen.c
g10/misc.c
scd/ChangeLog
scd/apdu.c
scd/ccid-driver.c
scd/scdaemon.c

index 6ac146e..6d11d8c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-09-06  Werner Koch  <wk@gnupg.org>
+
+       Released 1.9.1.
+       
+       * configure.ac: Required newer versions of some libraries.
+
 2003-09-02  Werner Koch  <wk@gnupg.org>
 
        * configure.ac (HAVE_LIBUSB): Added a simple test for libusb.
diff --git a/NEWS b/NEWS
index 14722fb..9dc066a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,15 @@
-Noteworthy changes in version 1.9.1 (unreleased)
+Noteworthy changes in version 1.9.1 (2003-09-06)
 ------------------------------------------------
 
- * Support for OpenSC is back. scdaemon support a --disable-opensc to
+ * Support for OpenSC is back. scdaemon supports a --disable-opensc to
    disable OpenSC use at runtime, so that PC/SC or ct-API can still be
    used directly.
 
+ * Rudimentary support for the SCR335 smartcard reader using an
+   internal driver.  Requires current libusb from CVS.
+
+ * Bug fixes.
+
 
 Noteworthy changes in version 1.9.0 (2003-08-05)
 ------------------------------------------------
index 591d5df..4d651d3 100644 (file)
 AC_PREREQ(2.52)
 # Version number: Remember to change it immediately *after* a release.
 #                 Add a "-cvs" prefix for non-released code.
-AC_INIT(gnupg, 1.9.1-cvs, gnupg-devel@gnupg.org)
+AC_INIT(gnupg, 1.9.1, gnupg-devel@gnupg.org)
 # Set development_version to yes if the minor number is odd or you
 # feel that the default check for a development version is not
 # sufficient.
 development_version=yes
-NEED_GPG_ERROR_VERSION=0.2
-NEED_LIBGCRYPT_VERSION=1.1.42
+NEED_GPG_ERROR_VERSION=0.4
+NEED_LIBGCRYPT_VERSION=1.1.43
 NEED_LIBASSUAN_VERSION=0.6.0
 NEED_KSBA_VERSION=0.4.6
-NEED_OPENSC_VERSION=0.7.0
+NEED_OPENSC_VERSION=0.8.0
 
 
 PACKAGE=$PACKAGE_NAME
@@ -378,10 +378,10 @@ AM_PATH_KSBA("$NEED_KSBA_VERSION",have_ksba=yes,have_ksba=no)
 
 #
 # libusb allows us to use the integrated CCID smartcard reader driver.
-
+#
 # Note, that we need the CVS version.  FIXME: libusb should have a
 # regular check as the other libraries do.
-
+#
 AC_CHECK_LIB(usb, usb_find_device,
               [ LIBUSB_LIBS="$LIBUSB_LIBS -lusb"
                 AC_DEFINE(HAVE_LIBUSB,1,
index afc16cb..ae602eb 100644 (file)
@@ -1,3 +1,10 @@
+2003-09-06  Werner Koch  <wk@gnupg.org>
+
+       * misc.c (openpgp_pk_algo_usage): Allow AUTH where SIGN is allowed.
+
+       * keygen.c (ask_passphrase): No need to allocated S2K in secure
+       memory.
+
 2003-09-04  Werner Koch  <wk@gnupg.org>
 
        * keygen.c (do_add_key_flags, parse_parameter_usage) 
index 84857ae..3dbd9b4 100644 (file)
@@ -1629,7 +1629,7 @@ ask_passphrase( STRING2KEY **ret_s2k )
 
     tty_printf(_("You need a Passphrase to protect your secret key.\n\n") );
 
-    s2k = xmalloc_secure ( sizeof *s2k );
+    s2k = xmalloc ( sizeof *s2k );
     for(;;) {
        s2k->mode = opt.s2k_mode;
        s2k->hash_algo = opt.s2k_digest_algo;
index ad04ce7..4abe756 100644 (file)
@@ -260,7 +260,7 @@ openpgp_pk_algo_usage ( int algo )
     /* they are hardwired in gpg 1.0 */
     switch ( algo ) {    
       case PUBKEY_ALGO_RSA:
-          use = PUBKEY_USAGE_SIG | PUBKEY_USAGE_ENC;
+          use = PUBKEY_USAGE_SIG | PUBKEY_USAGE_ENC | PUBKEY_USAGE_AUTH;
           break;
       case PUBKEY_ALGO_RSA_E:
           use = PUBKEY_USAGE_ENC;
@@ -272,10 +272,10 @@ openpgp_pk_algo_usage ( int algo )
           use = PUBKEY_USAGE_ENC;
           break;
       case PUBKEY_ALGO_DSA:  
-          use = PUBKEY_USAGE_SIG;
+          use = PUBKEY_USAGE_SIG | PUBKEY_USAGE_AUTH;
           break;
       case PUBKEY_ALGO_ELGAMAL:
-          use = PUBKEY_USAGE_SIG | PUBKEY_USAGE_ENC;
+          use = PUBKEY_USAGE_SIG | PUBKEY_USAGE_ENC | PUBKEY_USAGE_AUTH;
           break;
       default:
           break;
index 5ffad34..1c785b2 100644 (file)
@@ -1,3 +1,10 @@
+2003-09-06  Werner Koch  <wk@gnupg.org>
+
+       * scdaemon.c (main): --pcsc-driver again defaults to pcsclite.
+       David Corcoran was so kind to remove the GPL incompatible
+       advertisng clause from pcsclite.
+       * apdu.c (apdu_open_reader): Actually make pcsc-driver option work.
+
 2003-09-05  Werner Koch  <wk@gnupg.org>
 
        * ccid-driver.c: More work, data can now actually be retrieved.
index 4867f10..d5f64c6 100644 (file)
@@ -823,8 +823,8 @@ osc_send_apdu (int slot, unsigned char *apdu, size_t apdulen,
 
 /* Open the reader and return an internal slot number or -1 on
    error. If PORTSTR is NULL we default to a suitable port (for ctAPI:
-   the first USB reader.  For PC/SC the first listed reader).  IF
-   OpenSC support is cmpiled in, we first try to use OpenSC. */
+   the first USB reader.  For PC/SC the first listed reader).  If
+   OpenSC support is compiled in, we first try to use OpenSC. */
 int
 apdu_open_reader (const char *portstr)
 {
@@ -839,7 +839,7 @@ apdu_open_reader (const char *portstr)
       if (slot != -1)
         return slot; /* got one */
     }
-#endif
+#endif /* HAVE_LIBUSB */
 
 #ifdef HAVE_OPENSC
   if (!opt.disable_opensc)
@@ -886,17 +886,11 @@ apdu_open_reader (const char *portstr)
     {
       void *handle;
 
-      if (!opt.pcsc_driver || !*opt.pcsc_driver)
-        {
-          log_error ("no PC/SC driver has been specified\n");
-          return -1;
-        }
-
-      handle = dlopen ("libpcsclite.so", RTLD_LAZY);
+      handle = dlopen (opt.pcsc_driver, RTLD_LAZY);
       if (!handle)
         {
-          log_error ("apdu_open_reader: failed to open driver: %s",
-                     dlerror ());
+          log_error ("apdu_open_reader: failed to open driver `%s': %s",
+                     opt.pcsc_driver, dlerror ());
           return -1;
         }
 
index b18b055..6f469de 100644 (file)
@@ -286,7 +286,9 @@ bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length,
   rc = usb_bulk_read (handle->idev, 
                       0x82,
                       buffer, length,
-                      1000 /* ms timeout */ );
+                      10000 /* ms timeout */ );
+  /* Fixme: instead of using a 10 second timeout we should better
+     handle the timeout here and retry if appropriate.  */
   if (rc < 0)
     {
       DEBUGOUT_1 ("usb_bulk_read error: %s\n", strerror (errno));
@@ -556,10 +558,10 @@ ccid_transceive (ccid_driver_t handle,
         DEBUGOUT_CONT_1 (" %02X", msg[i]);
       DEBUGOUT_LF ();
       
-      fprintf (stderr, "T1: put %c-block seq=%d\n",
-               ((msg[11] & 0xc0) == 0x80)? 'R' :
-               (msg[11] & 0x80)? 'S' : 'I',
-        ((msg[11] & 0x80)? !!(msg[11]& 0x10) : !!(msg[11] & 0x40)));
+/*       fprintf (stderr, "T1: put %c-block seq=%d\n", */
+/*                ((msg[11] & 0xc0) == 0x80)? 'R' : */
+/*                (msg[11] & 0x80)? 'S' : 'I', */
+/*         ((msg[11] & 0x80)? !!(msg[11]& 0x10) : !!(msg[11] & 0x40))); */
   
       rc = bulk_out (handle, msg, msglen);
       if (rc)
@@ -576,16 +578,16 @@ ccid_transceive (ccid_driver_t handle,
       
       if (tpdulen < 4) 
         {
-          DEBUGOUT ("cannot yet handle short block!!\n");
+          DEBUGOUT ("cannot yet handle short blocks!\n");
           return -1; 
         }
 
-      fprintf (stderr, "T1: got %c-block seq=%d err=%d\n",
-               ((msg[11] & 0xc0) == 0x80)? 'R' :
-               (msg[11] & 0x80)? 'S' : 'I',
-        ((msg[11] & 0x80)? !!(msg[11]& 0x10) : !!(msg[11] & 0x40)),
-               ((msg[11] & 0xc0) == 0x80)? (msg[11] & 0x0f) : 0
-               );
+/*       fprintf (stderr, "T1: got %c-block seq=%d err=%d\n", */
+/*                ((msg[11] & 0xc0) == 0x80)? 'R' : */
+/*                (msg[11] & 0x80)? 'S' : 'I', */
+/*         ((msg[11] & 0x80)? !!(msg[11]& 0x10) : !!(msg[11] & 0x40)), */
+/*                ((msg[11] & 0xc0) == 0x80)? (msg[11] & 0x0f) : 0 */
+/*                ); */
 
       if (!(tpdu[1] & 0x80))
         { /* This is an I-block. */
index fda0bed..89be04a 100644 (file)
@@ -277,8 +277,7 @@ main (int argc, char **argv )
   may_coredump = disable_core_dumps ();
 
   /* Set default options. */
-  opt.pcsc_driver = NULL; /* We can't use libpcsclite due to license
-                             conflicts. */
+  opt.pcsc_driver = "libpcsclite.so"; 
 
 
   shell = getenv ("SHELL");