summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2003-09-06 15:23:48 +0200
committerWerner Koch <wk@gnupg.org>2003-09-06 15:23:48 +0200
commitbe034cf34c3c5bc7787d9b2f8d4c7b6b948d4e2f (patch)
treea35573c9fe82e0b9e5ce804b344a984f901e17ea
parent* ccid-driver.c: More work, data can now actually be retrieved. (diff)
downloadgnupg2-6dd85ee8c79b7eb1cfc4b40d2c9cc28b632fc0f5.tar.xz
gnupg2-6dd85ee8c79b7eb1cfc4b40d2c9cc28b632fc0f5.zip
* configure.ac: Required newer versions of some libraries.V1-9-1
* 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.
-rw-r--r--ChangeLog6
-rw-r--r--NEWS9
-rw-r--r--configure.ac12
-rw-r--r--g10/ChangeLog7
-rw-r--r--g10/keygen.c2
-rw-r--r--g10/misc.c6
-rw-r--r--scd/ChangeLog7
-rw-r--r--scd/apdu.c18
-rw-r--r--scd/ccid-driver.c26
-rw-r--r--scd/scdaemon.c3
10 files changed, 58 insertions, 38 deletions
diff --git a/ChangeLog b/ChangeLog
index 6ac146eec..6d11d8ca6 100644
--- 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 14722fbd9..9dc066a9f 100644
--- 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)
------------------------------------------------
diff --git a/configure.ac b/configure.ac
index 591d5df53..4d651d380 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,16 +22,16 @@
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,
diff --git a/g10/ChangeLog b/g10/ChangeLog
index afc16cb94..ae602ebdc 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -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)
diff --git a/g10/keygen.c b/g10/keygen.c
index 84857ae62..3dbd9b402 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -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;
diff --git a/g10/misc.c b/g10/misc.c
index ad04ce76f..4abe75661 100644
--- a/g10/misc.c
+++ b/g10/misc.c
@@ -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;
diff --git a/scd/ChangeLog b/scd/ChangeLog
index 5ffad3440..1c785b215 100644
--- a/scd/ChangeLog
+++ b/scd/ChangeLog
@@ -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.
diff --git a/scd/apdu.c b/scd/apdu.c
index 4867f10ff..d5f64c6d8 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -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;
}
diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c
index b18b055b0..6f469de6a 100644
--- a/scd/ccid-driver.c
+++ b/scd/ccid-driver.c
@@ -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. */
diff --git a/scd/scdaemon.c b/scd/scdaemon.c
index fda0bed6f..89be04ab5 100644
--- a/scd/scdaemon.c
+++ b/scd/scdaemon.c
@@ -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");