Avoid the " map_to_assuan_status called with no error source" diagnostic.
authorWerner Koch <wk@gnupg.org>
Sat, 18 Dec 2004 10:22:10 +0000 (10:22 +0000)
committerWerner Koch <wk@gnupg.org>
Sat, 18 Dec 2004 10:22:10 +0000 (10:22 +0000)
18 files changed:
agent/ChangeLog
agent/agent.h
common/ChangeLog
common/asshelp.c
common/asshelp.h
common/maperror.c
common/util.h
g10/ChangeLog
g10/Makefile.am
g10/call-agent.c
g10/gpg.h
kbx/ChangeLog
kbx/keybox-defs.h
scd/ChangeLog
scd/scdaemon.h
sm/ChangeLog
sm/call-agent.c
sm/gpgsm.h

index 81c9794..b22241b 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-18  Werner Koch  <wk@g10code.com>
+
+       * agent.h (map_assuan_err): Define in terms of
+       map_assuan_err_with_source.
+
 2004-12-17  Moritz Schulte  <moritz@g10code.com>
 
        * query.c: Undo change from 2004-12-05.
index 8112c25..7ff6925 100644 (file)
@@ -26,6 +26,8 @@
 #endif
 #define GPG_ERR_SOURCE_DEFAULT  GPG_ERR_SOURCE_GPGAGENT
 #include <gpg-error.h>
+#define map_assuan_err(a) \
+        map_assuan_err_with_source (GPG_ERR_SOURCE_DEFAULT, (a))
 #include <errno.h>
 
 #include <gcrypt.h>
index 3115ad8..9b048ae 100644 (file)
@@ -1,3 +1,10 @@
+2004-12-18  Werner Koch  <wk@g10code.com>
+
+       * maperror.c (map_assuan_err): Renamed to ..
+       (map_assuan_err_with_source): .. this and add arg SOURCE.c
+       * asshelp.c (send_pinentry_environment, send_one_option): Add arg
+       ERRSOURCE.
+
 2004-12-15  Werner Koch  <wk@g10code.com>
 
        * sysutils.h [W32]: Prototypes for registry functions.
index 243d6b9..efaf71e 100644 (file)
@@ -34,7 +34,8 @@
 
 
 static gpg_error_t
-send_one_option (assuan_context_t ctx, const char *name, const char *value)
+send_one_option (assuan_context_t ctx, gpg_err_source_t errsource,
+                 const char *name, const char *value)
 {
   gpg_error_t err;
   char *optstr;
@@ -48,7 +49,7 @@ send_one_option (assuan_context_t ctx, const char *name, const char *value)
       assuan_error_t ae;
 
       ae = assuan_transact (ctx, optstr, NULL, NULL, NULL, NULL, NULL, NULL);
-      err = ae? map_assuan_err (ae) : 0;
+      err = ae? map_assuan_err_with_source (errsource, ae) : 0;
       free (optstr);
     }
 
@@ -61,6 +62,7 @@ send_one_option (assuan_context_t ctx, const char *name, const char *value)
    defaults taken from the current locale. */
 gpg_error_t
 send_pinentry_environment (assuan_context_t ctx,
+                           gpg_err_source_t errsource,
                            const char *opt_display,
                            const char *opt_ttyname,
                            const char *opt_ttytype,
@@ -78,7 +80,7 @@ send_pinentry_environment (assuan_context_t ctx,
   dft_display = getenv ("DISPLAY");
   if (opt_display || dft_display)
     {
-      err = send_one_option (ctx, "display", 
+      err = send_one_option (ctx, errsource, "display", 
                              opt_display ? opt_display : dft_display);
       if (err)
         return err;
@@ -93,7 +95,7 @@ send_pinentry_environment (assuan_context_t ctx,
     }
   if (opt_ttyname || dft_ttyname)
     {
-      err = send_one_option (ctx, "ttyname", 
+      err = send_one_option (ctx, errsource, "ttyname", 
                              opt_ttyname ? opt_ttyname : dft_ttyname);
       if (err)
         return err;
@@ -103,7 +105,7 @@ send_pinentry_environment (assuan_context_t ctx,
   dft_ttytype = getenv ("TERM");
   if (opt_ttytype || (dft_ttyname && dft_ttytype))
     {
-      err = send_one_option (ctx, "ttytype", 
+      err = send_one_option (ctx, errsource, "ttytype", 
                              opt_ttyname ? opt_ttytype : dft_ttytype);
       if (err)
         return err;
@@ -122,7 +124,7 @@ send_pinentry_environment (assuan_context_t ctx,
 #endif
   if (opt_lc_ctype || (dft_ttyname && dft_lc))
     {
-      err = send_one_option (ctx, "lc-ctype", 
+      err = send_one_option (ctx, errsource, "lc-ctype", 
                              opt_lc_ctype ? opt_lc_ctype : dft_lc);
     }
 #if defined(HAVE_SETLOCALE) && defined(LC_CTYPE)
@@ -148,7 +150,7 @@ send_pinentry_environment (assuan_context_t ctx,
 #endif
   if (opt_lc_messages || (dft_ttyname && dft_lc))
     {
-      err = send_one_option (ctx, "display", 
+      err = send_one_option (ctx, errsource, "display", 
                              opt_lc_messages ? opt_lc_messages : dft_lc);
     }
 #if defined(HAVE_SETLOCALE) && defined(LC_MESSAGES)
index 9935948..2d6dc79 100644 (file)
@@ -26,6 +26,7 @@
 
 gpg_error_t
 send_pinentry_environment (assuan_context_t ctx,
+                           gpg_err_source_t errsource,
                            const char *opt_display,
                            const char *opt_ttyname,
                            const char *opt_ttytype,
index 89ecee9..9173146 100644 (file)
@@ -38,7 +38,7 @@
    simple: All errors with a gpg_err_source of UNKNOWN are genuine
    Assuan codes all others are passed verbatim through. */
 gpg_error_t
-map_assuan_err (int err)
+map_assuan_err_with_source (int err, int source)
 {
   gpg_err_code_t ec;
 
@@ -77,7 +77,7 @@ map_assuan_err (int err)
       ec = err < 100? GPG_ERR_ASSUAN_SERVER_FAULT : GPG_ERR_ASSUAN;
       break;
     }
-  return gpg_err_make (GPG_ERR_SOURCE_UNKNOWN, ec);
+  return gpg_err_make (source, ec);
 }
 
 /* Map GPG_xERR_xx error codes to Assuan status codes */
index 0b9357d..835be4e 100644 (file)
@@ -61,7 +61,7 @@ typedef char gnupg_isotime_t[16];
 
 /*-- maperror.c --*/
 int map_kbx_err (int err);
-gpg_error_t map_assuan_err (int err);
+gpg_error_t map_assuan_err_with_source (int source, int err);
 int map_to_assuan_status (int rc);
 
 /*-- gettime.c --*/
index 01bbf64..6966bbd 100644 (file)
@@ -1,3 +1,12 @@
+2004-12-18  Werner Koch  <wk@g10code.com>
+
+       * gpg.h (map_assuan_err): Define in terms of
+       map_assuan_err_with_source.
+
+2004-12-15  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (LDADD): Remove ZLIBS.
+
 2004-10-22  Werner Koch  <wk@g10code.com>
 
        * g10.c (main): Display a bit fat warning that this gpg should not
index aa7833f..8e63e93 100644 (file)
@@ -108,7 +108,7 @@ gpgv2_SOURCES = gpgv.c           \
 #             ks-db.h \
 #             $(common_source)
 
-LDADD =  $(needed_libs) @LIBINTL@ @CAPLIBS@ @ZLIBS@ @W32LIBS@
+LDADD =  $(needed_libs) @LIBINTL@ @CAPLIBS@ @W32LIBS@
 gpg2_LDADD = $(LIBGCRYPT_LIBS) $(LDADD) -lassuan -lgpg-error
 gpgv2_LDADD = $(LIBGCRYPT_LIBS) $(LDADD) -lassuan -lgpg-error
 
index 473b382..9c7f840 100644 (file)
@@ -171,7 +171,9 @@ start_agent (void)
   if (rc)
     return map_assuan_err (rc);
 
+#ifdef __GNUC__
 #warning put this code into common/asshelp.c
+#endif
 
   dft_display = getenv ("DISPLAY");
   if (opt.display || dft_display)
index bf61411..42c9cc6 100644 (file)
--- a/g10/gpg.h
+++ b/g10/gpg.h
@@ -29,6 +29,8 @@
 #error GPG_ERR_SOURCE_DEFAULT already defined
 #endif
 #define GPG_ERR_SOURCE_DEFAULT  GPG_ERR_SOURCE_GPG
+#define map_assuan_err(a) \
+        map_assuan_err_with_source (GPG_ERR_SOURCE_DEFAULT, (a))
 #include <gpg-error.h>
 
 
index d757002..3688174 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-18  Werner Koch  <wk@g10code.com>
+
+       * keybox-defs.h (map_assuan_err): Define in terms of
+       map_assuan_err_with_source.
+
 2004-12-07  Werner Koch  <wk@g10code.com>
 
        * keybox-init.c (keybox_release): Close the file pointer.
index 5724b85..b582944 100644 (file)
 #error GPG_ERR_SOURCE_DEFAULT already defined
 #endif
 #define GPG_ERR_SOURCE_DEFAULT  GPG_ERR_SOURCE_KEYBOX
-
 #include <gpg-error.h>
+#define map_assuan_err(a) \
+        map_assuan_err_with_source (GPG_ERR_SOURCE_DEFAULT, (a))
+
 #include <sys/types.h> /* off_t */
 
 /* We include the type defintions from jnlib instead of defining our
index fe3b3f6..87328f6 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-18  Werner Koch  <wk@g10code.com>
+
+       * scdaemon.h (map_assuan_err): Define in terms of
+       map_assuan_err_with_source.
+
 2004-12-15  Werner Koch  <wk@g10code.com>
 
        * scdaemon.c [W32]: Various hacks to make it run under W32.
index c8d78c8..c598794 100644 (file)
@@ -26,6 +26,9 @@
 #endif
 #define GPG_ERR_SOURCE_DEFAULT  GPG_ERR_SOURCE_SCD
 #include <gpg-error.h>
+#define map_assuan_err(a) \
+        map_assuan_err_with_source (GPG_ERR_SOURCE_DEFAULT, (a))
+
 #include <errno.h>
 
 #include <time.h>
index b28c45a..167ec87 100644 (file)
@@ -1,3 +1,10 @@
+2004-12-18  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.h (map_assuan_err): Define in terms of
+       map_assuan_err_with_source.
+       * call-agent.c (start_agent): Pass error source to
+       send_pinentry_environment.
+
 2004-12-17  Werner Koch  <wk@g10code.com>
 
        * call-dirmngr.c (isvalid_status_cb, lookup_status_cb)
index 3ea1c45..0d15a55 100644 (file)
@@ -168,7 +168,7 @@ start_agent (ctrl_t ctrl)
   if (rc)
     return map_assuan_err (rc);
 
-  return send_pinentry_environment (agent_ctx,
+  return send_pinentry_environment (agent_ctx, GPG_ERR_SOURCE_DEFAULT,
                                     opt.display, opt.ttyname, opt.ttytype,
                                     opt.lc_ctype, opt.lc_messages);
 }
index fe4e939..17ad21e 100644 (file)
@@ -26,6 +26,9 @@
 #endif
 #define GPG_ERR_SOURCE_DEFAULT  GPG_ERR_SOURCE_GPGSM
 #include <gpg-error.h>
+#define map_assuan_err(a) \
+        map_assuan_err_with_source (GPG_ERR_SOURCE_DEFAULT, (a))
+
 
 #include <ksba.h>
 #include "../common/util.h"