Fixes to make inclusion of card raleted source files into 1.3 easier.
authorWerner Koch <wk@gnupg.org>
Thu, 2 Oct 2003 10:27:34 +0000 (10:27 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 2 Oct 2003 10:27:34 +0000 (10:27 +0000)
ChangeLog
configure.ac
g10/ChangeLog
g10/card-util.c
scd/ChangeLog
scd/apdu.c
scd/app-common.h
scd/app-openpgp.c
scd/ccid-driver.c
scd/iso7816.c
scd/iso7816.h

index ce3d769..d2e219c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2003-10-01  Werner Koch  <wk@gnupg.org>
+
+       * configure.ac (AH_BOTTOM): Define GNUPG_MAJOR_VERSION. 
+
 2003-09-23  Werner Koch  <wk@gnupg.org>
 
        Merged most of David Shaw's changes in 1.3 since 2003-06-03.
index 23baee4..12ff0d7 100644 (file)
@@ -238,6 +238,11 @@ AH_BOTTOM([
 /* Tell libgcrypt not to use its own libgpg-error implementation. */
 #define USE_LIBGPG_ERROR 1
 
+/* This is the major version number of GnuPG so that
+   source included files can test for this.  Note, that\
+   we use 2 here even for GnuPG 1.9.x. */
+#define GNUPG_MAJOR_VERSION 2
+
 #include "g10defs.h"
 
 ])
index 0e0e715..563c71e 100644 (file)
@@ -1,3 +1,7 @@
+2003-10-01  Werner Koch  <wk@gnupg.org>
+
+       * card-util.c: Tweaked to use this source also under 1.3. 
+
 2003-09-30  Werner Koch  <wk@gnupg.org>
 
        * keylist.c (print_card_serialno): New.
        * card-util.c (card_status): New.
        * call-agent.c (learn_status_cb): Parse more information.
 
-       * keylist.c (print_pubkey_info): Add FP arg for optinal printing
+       * keylist.c (print_pubkey_info): Add FP arg for optional printing
        to a stream.  Changed all callers.
 
 2003-07-23  Werner Koch  <wk@gnupg.org>
index 1028cd3..70518e9 100644 (file)
 #include <errno.h>
 #include <assert.h>
 
+#if GNUPG_MAJOR_VERSION != 1
 #include "gpg.h"
+#endif
 #include "util.h"
 #include "i18n.h"
 #include "ttyio.h"
 #include "status.h"
 #include "options.h"
 #include "main.h"
+#if GNUPG_MAJOR_VERSION == 1
+#include "cardglue.h"
+#else
 #include "call-agent.h"
+#endif
 
 #define CONTROL_D ('D' - 'A' + 1)
 
index 4363888..f090e34 100644 (file)
@@ -1,3 +1,14 @@
+2003-10-01  Werner Koch  <wk@gnupg.org>
+
+       * ccid-driver.c: Detect GnuPG 1.3 and include appropriate files.
+       * apdu.c: Ditto.
+       * app-openpgp.c: Ditto.
+       * iso7816.c: Ditto.
+       (generate_keypair): Renamed to ..
+       (do_generate_keypair): .. this.
+       * app-common.h [GNUPG_MAJOR_VERSION]: New.
+       * iso7816.h [GNUPG_MAJOR_VERSION]: Include cardglue.h
+
 2003-09-30  Werner Koch  <wk@gnupg.org>
 
        * command.c (cmd_getattr): New command GETATTR.
index d5f64c6..d5b93de 100644 (file)
 # include <opensc/opensc.h>
 #endif
 
+#if GNUPG_MAJOR_VERSION == 1
+/* This is used with GnuPG version < 1.9.  The code has been source
+   copied from the current GnuPG >= 1.9  and is maintained over
+   there. */
+#include "options.h"
+#include "errors.h"
+#include "memory.h"
+#include "util.h"
+#include "i18n.h"
+#include "cardglue.h"
+#else /* GNUPG_MAJOR_VERSION != 1 */
 #include "scdaemon.h"
+#endif /* GNUPG_MAJOR_VERSION != 1 */
+
 #include "apdu.h"
 #include "dynload.h"
 #include "ccid-driver.h"
index e4b9d2f..33f2312 100644 (file)
@@ -70,6 +70,10 @@ struct app_ctx_s {
 
 };
 
+#if GNUPG_MAJOR_VERSION == 1
+int app_select_openpgp (APP app, unsigned char **sn, size_t *snlen);
+int app_get_serial_and_stamp (APP app, char **serial, time_t *stamp);
+#else
 /*-- app.c --*/
 void app_set_default_reader_port (const char *portstr);
 APP select_application (void);
@@ -124,6 +128,8 @@ int app_openpgp_storekey (APP app, int keyno,
 int app_openpgp_readkey (APP app, int keyno,
                          unsigned char **m, size_t *mlen,
                          unsigned char **e, size_t *elen);
+#endif
+
 
 
 #endif /*GNUPG_SCD_APP_COMMON_H*/
index 3a31269..e8fe19e 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
-
+#include <time.h>
+
+#if GNUPG_MAJOR_VERSION == 1
+/* This is used with GnuPG version < 1.9.  The code has been source
+   copied from the current GnuPG >= 1.9  and is maintained over
+   there. */
+#include "options.h"
+#include "errors.h"
+#include "memory.h"
+#include "util.h"
+#include "i18n.h"
+#include "cardglue.h"
+#else /* GNUPG_MAJOR_VERSION != 1 */
 #include "scdaemon.h"
-#include "app-common.h"
+#endif /* GNUPG_MAJOR_VERSION != 1 */
+
 #include "iso7816.h"
+#include "app-common.h"
 
 
 
index e0b48f8..b4fbc0b 100644 (file)
 #define DRVNAME "ccid-driver: "
 
 
-#ifdef GNUPG_DEFAULT_SCDAEMON /* This source is used within the
-                                 gnupg>=1.9 source tree. */
-# include "scdaemon.h"
+#ifdef GNUPG_MAJOR_VERSION  /* This source is used within GnuPG. */
+
+# if GNUPG_MAJOR_VERSION == 1 /* GnuPG Version is < 1.9. */
+#  include "options.h"
+#  include "util.h"
+#  include "memory.h"
+#  include "cardglue.h"
+# else /* This is the modularized GnuPG 1.9 or later. */
+#  include "scdaemon.h"
+# endif
 
 # define DEBUGOUT(t)         do { if (DBG_CARD_IO) \
                                   log_debug (DRVNAME t); } while (0)
index 2b06103..f4aa18c 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
+#if GNUPG_MAJOR_VERSION == 1
+/* This is used with GnuPG version < 1.9.  The code has been source
+   copied from the current GnuPG >= 1.9  and is maintained over
+   there. */
+#include "options.h"
+#include "errors.h"
+#include "memory.h"
+#include "util.h"
+#include "i18n.h"
+#else /* GNUPG_MAJOR_VERSION != 1 */
 #include "scdaemon.h"
+#endif /* GNUPG_MAJOR_VERSION != 1 */
+
 #include "iso7816.h"
 #include "apdu.h"
-#include "dynload.h"
+
 
 #define CMD_SELECT_FILE 0xA4
 #define CMD_VERIFY      0x20
@@ -290,7 +302,7 @@ iso7816_internal_authenticate (int slot,
 
 
 static gpg_error_t
-generate_keypair (int slot, int readonly,
+do_generate_keypair (int slot, int readonly,
                   const unsigned char *data, size_t datalen,
                   unsigned char **result, size_t *resultlen)
 {
@@ -321,7 +333,7 @@ iso7816_generate_keypair (int slot,
                           const unsigned char *data, size_t datalen,
                           unsigned char **result, size_t *resultlen)
 {
-  return generate_keypair (slot, 0, data, datalen, result, resultlen);
+  return do_generate_keypair (slot, 0, data, datalen, result, resultlen);
 }
 
 
@@ -330,7 +342,7 @@ iso7816_read_public_key (int slot,
                           const unsigned char *data, size_t datalen,
                           unsigned char **result, size_t *resultlen)
 {
-  return generate_keypair (slot, 1, data, datalen, result, resultlen);
+  return do_generate_keypair (slot, 1, data, datalen, result, resultlen);
 }
 
 
index d7e77a1..26b8d6a 100644 (file)
 #ifndef ISO7816_H
 #define ISO7816_H
 
+#if GNUPG_MAJOR_VERSION == 1
+#include "cardglue.h"
+#endif
+
 gpg_error_t iso7816_select_application (int slot,
                                         const char *aid, size_t aidlen);
 gpg_error_t iso7816_verify (int slot,