[git] GPGME - branch, master, updated. gpgme-1.5.5-22-gff91e69

by Werner Koch cvs at cvs.gnupg.org
Tue Aug 25 20:45:49 CEST 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnuPG Made Easy".

The branch, master has been updated
       via  ff91e699f7c14ea6cbc27b487cb40e9f6bd58901 (commit)
       via  028a0ef3336c5180797fb247448683195376c007 (commit)
       via  97f1f3e883808743da5ee144abab25de062f34ac (commit)
      from  8ddc5801ade02297924447df5745c8877a96e5e3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit ff91e699f7c14ea6cbc27b487cb40e9f6bd58901
Author: Werner Koch <wk at gnupg.org>
Date:   Tue Aug 25 20:40:06 2015 +0200

    Add configure option --enable-build-timestamp.
    
    * configure.ac (BUILD_TIMESTAMP): Set to "<none>" by default.
    --
    
    This is based on
    libgpg-error commit d620005fd1a655d591fccb44639e22ea445e4554
    but changed to be disbaled by default.  Check there for some
    background.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/configure.ac b/configure.ac
index be36a42..a1973e7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -260,11 +260,21 @@ changequote([,])dnl
 BUILD_FILEVERSION="${BUILD_FILEVERSION}mym4_revision_dec"
 AC_SUBST(BUILD_FILEVERSION)
 
-BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
+AC_ARG_ENABLE([build-timestamp],
+  AC_HELP_STRING([--enable-build-timestamp],
+                 [set an explicit build timestamp for reproducibility.
+                  (default is the current time in ISO-8601 format)]),
+     [if test "$enableval" = "yes"; then
+        BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
+      else
+        BUILD_TIMESTAMP="$enableval"
+      fi],
+     [BUILD_TIMESTAMP="<none>"])
 AC_SUBST(BUILD_TIMESTAMP)
 AC_DEFINE_UNQUOTED(BUILD_TIMESTAMP, "$BUILD_TIMESTAMP",
                    [The time this package was configured for a build])
 
+
 #
 # Options to disable some regression tests
 #

commit 028a0ef3336c5180797fb247448683195376c007
Author: Daiki Ueno <ueno at gnu.org>
Date:   Mon Jul 27 16:19:52 2015 +0900

    Relax ttyname_r error checks
    
    * src/engine-assuan.c (llass_new): Don't treat ttyname_r error as
    fatal.
    * src/engine-g13.c (g13_new): Likewise.
    * src/engine-gpg.c (gpg_new): Likewise.
    * src/engine-gpgsm.c (gpgsm_new): Likewise.
    * src/engine-uiserver.c (uiserver_new): Likewise.
    
    --
    Even though isatty() returns 1, ttyname_r() may fail in many ways, e.g.,
    when /dev/pts is not accessible under chroot.  Since all our uses of
    ttyname_r() require that the function works, we can treat the failure as
    if isatty() fails.
    
    Signed-off-by: Daiki Ueno <ueno at gnu.org>

diff --git a/src/engine-assuan.c b/src/engine-assuan.c
index 663b2ea..9902467 100644
--- a/src/engine-assuan.c
+++ b/src/engine-assuan.c
@@ -282,12 +282,10 @@ llass_new (void **engine, const char *file_name, const char *home_dir)
       char *dft_ttytype = NULL;
 
       rc = ttyname_r (1, dft_ttyname, sizeof (dft_ttyname));
-      if (rc)
-	{
-	  err = gpg_error_from_errno (rc);
-	  goto leave;
-	}
-      else
+
+      /* Even though isatty() returns 1, ttyname_r() may fail in many
+	 ways, e.g., when /dev/pts is not accessible under chroot.  */
+      if (!rc)
 	{
 	  if (asprintf (&optstr, "OPTION ttyname=%s", dft_ttyname) < 0)
 	    {
diff --git a/src/engine-g13.c b/src/engine-g13.c
index a9717ee..4a7b75c 100644
--- a/src/engine-g13.c
+++ b/src/engine-g13.c
@@ -286,12 +286,10 @@ g13_new (void **engine, const char *file_name, const char *home_dir)
       int rc;
 
       rc = ttyname_r (1, dft_ttyname, sizeof (dft_ttyname));
-      if (rc)
-	{
-	  err = gpg_error_from_errno (rc);
-	  goto leave;
-	}
-      else
+
+      /* Even though isatty() returns 1, ttyname_r() may fail in many
+	 ways, e.g., when /dev/pts is not accessible under chroot.  */
+      if (!rc)
 	{
 	  if (asprintf (&optstr, "OPTION ttyname=%s", dft_ttyname) < 0)
 	    {
diff --git a/src/engine-gpg.c b/src/engine-gpg.c
index ffae2fe..9efced2 100644
--- a/src/engine-gpg.c
+++ b/src/engine-gpg.c
@@ -513,6 +513,8 @@ gpg_new (void **engine, const char *file_name, const char *home_dir)
 	rc = add_arg (gpg, dft_display);
 
       free (dft_display);
+      if (rc)
+	goto leave;
     }
 
   if (isatty (1))
@@ -520,9 +522,10 @@ gpg_new (void **engine, const char *file_name, const char *home_dir)
       int err;
 
       err = ttyname_r (1, dft_ttyname, sizeof (dft_ttyname));
-      if (err)
-	rc = gpg_error_from_errno (err);
-      else
+
+      /* Even though isatty() returns 1, ttyname_r() may fail in many
+	 ways, e.g., when /dev/pts is not accessible under chroot.  */
+      if (!err)
 	{
           if (*dft_ttyname)
             {
@@ -547,9 +550,9 @@ gpg_new (void **engine, const char *file_name, const char *home_dir)
 
 	      free (dft_ttytype);
 	    }
+	  if (rc)
+	    goto leave;
 	}
-      if (rc)
-	goto leave;
     }
 
  leave:
diff --git a/src/engine-gpgsm.c b/src/engine-gpgsm.c
index 24d3b2a..476e9ef 100644
--- a/src/engine-gpgsm.c
+++ b/src/engine-gpgsm.c
@@ -408,12 +408,10 @@ gpgsm_new (void **engine, const char *file_name, const char *home_dir)
       int rc;
 
       rc = ttyname_r (1, dft_ttyname, sizeof (dft_ttyname));
-      if (rc)
-	{
-	  err = gpg_error_from_errno (rc);
-	  goto leave;
-	}
-      else
+
+      /* Even though isatty() returns 1, ttyname_r() may fail in many
+	 ways, e.g., when /dev/pts is not accessible under chroot.  */
+      if (!rc)
 	{
 	  if (asprintf (&optstr, "OPTION ttyname=%s", dft_ttyname) < 0)
 	    {
diff --git a/src/engine-uiserver.c b/src/engine-uiserver.c
index a7184b7..e4fd47c 100644
--- a/src/engine-uiserver.c
+++ b/src/engine-uiserver.c
@@ -326,12 +326,10 @@ uiserver_new (void **engine, const char *file_name, const char *home_dir)
       int rc;
 
       rc = ttyname_r (1, dft_ttyname, sizeof (dft_ttyname));
-      if (rc)
-	{
-	  err = gpg_error_from_errno (rc);
-	  goto leave;
-	}
-      else
+
+      /* Even though isatty() returns 1, ttyname_r() may fail in many
+	 ways, e.g., when /dev/pts is not accessible under chroot.  */
+      if (!rc)
 	{
 	  if (asprintf (&optstr, "OPTION ttyname=%s", dft_ttyname) < 0)
 	    {

commit 97f1f3e883808743da5ee144abab25de062f34ac
Author: Werner Koch <wk at gnupg.org>
Date:   Tue Aug 25 18:06:24 2015 +0200

    Cleanup layout of gpgme.h
    
    * src/gpgme.h.in: Reorder prototypes.  Chnage some comments.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/src/gpgme.h.in b/src/gpgme.h.in
index 432d18a..8876646 100644
--- a/src/gpgme.h.in
+++ b/src/gpgme.h.in
@@ -1,24 +1,24 @@
 /* gpgme.h - Public interface to GnuPG Made Easy.                   -*- c -*-
-   Copyright (C) 2000 Werner Koch (dd9jn)
-   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2009
-                 2010, 2011, 2012, 2013, 2014 g10 Code GmbH
-
-   This file is part of GPGME.
-
-   GPGME is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as
-   published by the Free Software Foundation; either version 2.1 of
-   the License, or (at your option) any later version.
-
-   GPGME is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this program; if not, see <http://www.gnu.org/licenses/>.
-
-   Generated from gpgme.h.in for @GPGME_CONFIG_HOST at .  */
+ * Copyright (C) 2000 Werner Koch (dd9jn)
+ * Copyright (C) 2001-2015 g10 Code GmbH
+ *
+ * This file is part of GPGME.
+ *
+ * GPGME is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * GPGME is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Generated from gpgme.h.in for @GPGME_CONFIG_HOST at .
+ */
 
 #ifndef GPGME_H
 #define GPGME_H
@@ -46,7 +46,10 @@ extern "C" {
 @INSERT__TYPEDEFS_FOR_GPGME_H@
 
 
-/* Check for compiler features.  */
+/*
+ * Check for compiler features.
+ */
+
 #if __GNUC__
 #define _GPGME_GCC_VERSION (__GNUC__ * 10000 \
                             + __GNUC_MINOR__ * 100 \
@@ -69,7 +72,7 @@ extern "C" {
 #define _GPGME_DEPRECATED_OUTSIDE_GPGME _GPGME_DEPRECATED
 #endif
 
-
+
 /* The version of this header should match the one of the library.  Do
    not use this symbol in your application, use gpgme_check_version
    instead.  The purpose of this macro is to let autoconf (using the
@@ -94,7 +97,9 @@ extern "C" {
 
 
 
-/* Some opaque data types used by GPGME.  */
+/*
+ * Some opaque data types used by GPGME.
+ */
 
 /* The context holds some global state and configuration options, as
    well as the results of a crypto operation.  */
@@ -105,8 +110,11 @@ typedef struct gpgme_context *gpgme_ctx_t;
 struct gpgme_data;
 typedef struct gpgme_data *gpgme_data_t;
 
+
 
-/* Wrappers for the libgpg-error library.  */
+/*
+ * Wrappers for the libgpg-error library.
+ */
 
 typedef gpg_error_t gpgme_error_t;
 typedef gpg_err_code_t gpgme_err_code_t;
@@ -196,7 +204,12 @@ gpgme_error_from_syserror (void)
   return gpgme_error (gpgme_err_code_from_syserror ());
 }
 
+
 
+/*
+ * Various constants and types
+ */
+
 /* The possible encoding mode of gpgme_data_t objects.  */
 typedef enum
   {
@@ -210,6 +223,7 @@ typedef enum
   }
 gpgme_data_encoding_t;
 
+
 /* Known data types.  */
 typedef enum
   {
@@ -226,7 +240,7 @@ typedef enum
   }
 gpgme_data_type_t;
 
-
+
 /* Public key algorithms.  */
 typedef enum
   {
@@ -264,7 +278,7 @@ typedef enum
   }
 gpgme_hash_algo_t;
 
-
+
 /* The possible signature stati.  Deprecated, use error value in sig
    status.  */
 typedef enum
@@ -292,7 +306,7 @@ typedef enum
   }
 gpgme_sig_mode_t;
 
-
+
 /* The available key and signature attributes.  Deprecated, use the
    individual result structures instead.  */
 typedef enum
@@ -333,7 +347,7 @@ typedef enum
 _gpgme_attr_t;
 typedef _gpgme_attr_t gpgme_attr_t _GPGME_DEPRECATED;
 
-
+
 /* The available validities for a trust item or key.  */
 typedef enum
   {
@@ -346,7 +360,7 @@ typedef enum
   }
 gpgme_validity_t;
 
-
+
 /* The available protocols.  */
 typedef enum
   {
@@ -364,7 +378,7 @@ gpgme_protocol_t;
 /* Convenience macro for the surprisingly mixed spelling.  */
 #define GPGME_PROTOCOL_OPENPGP GPGME_PROTOCOL_OpenPGP
 
-
+
 /* The available keylist mode flags.  */
 #define GPGME_KEYLIST_MODE_LOCAL		1
 #define GPGME_KEYLIST_MODE_EXTERN		2
@@ -376,7 +390,7 @@ gpgme_protocol_t;
 
 typedef unsigned int gpgme_keylist_mode_t;
 
-
+
 /* The pinentry modes. */
 typedef enum
   {
@@ -388,7 +402,7 @@ typedef enum
   }
 gpgme_pinentry_mode_t;
 
-
+
 /* The available export mode flags.  */
 #define GPGME_EXPORT_MODE_EXTERN                2
 #define GPGME_EXPORT_MODE_MINIMAL               4
@@ -398,52 +412,11 @@ gpgme_pinentry_mode_t;
 
 typedef unsigned int gpgme_export_mode_t;
 
-
+
 /* Flags for the audit log functions.  */
 #define GPGME_AUDITLOG_HTML      1
 #define GPGME_AUDITLOG_WITH_HELP 128
 
-
-/* Signature notations.  */
-
-/* The available signature notation flags.  */
-#define GPGME_SIG_NOTATION_HUMAN_READABLE	1
-#define GPGME_SIG_NOTATION_CRITICAL		2
-
-typedef unsigned int gpgme_sig_notation_flags_t;
-
-struct _gpgme_sig_notation
-{
-  struct _gpgme_sig_notation *next;
-
-  /* If NAME is a null pointer, then VALUE contains a policy URL
-     rather than a notation.  */
-  char *name;
-
-  /* The value of the notation data.  */
-  char *value;
-
-  /* The length of the name of the notation data.  */
-  int name_len;
-
-  /* The length of the value of the notation data.  */
-  int value_len;
-
-  /* The accumulated flags.  */
-  gpgme_sig_notation_flags_t flags;
-
-  /* Notation data is human-readable.  */
-  unsigned int human_readable : 1;
-
-  /* Notation data is critical.  */
-  unsigned int critical : 1;
-
-  /* Internal to GPGME, do not use.  */
-  int _unused : 30;
-};
-typedef struct _gpgme_sig_notation *gpgme_sig_notation_t;
-
-
 /* The possible stati for the edit operation.  */
 typedef enum
   {
@@ -553,7 +526,50 @@ typedef enum
   }
 gpgme_status_code_t;
 
+
+/* The available signature notation flags.  */
+#define GPGME_SIG_NOTATION_HUMAN_READABLE	1
+#define GPGME_SIG_NOTATION_CRITICAL		2
+
+typedef unsigned int gpgme_sig_notation_flags_t;
+
+struct _gpgme_sig_notation
+{
+  struct _gpgme_sig_notation *next;
+
+  /* If NAME is a null pointer, then VALUE contains a policy URL
+     rather than a notation.  */
+  char *name;
+
+  /* The value of the notation data.  */
+  char *value;
+
+  /* The length of the name of the notation data.  */
+  int name_len;
+
+  /* The length of the value of the notation data.  */
+  int value_len;
+
+  /* The accumulated flags.  */
+  gpgme_sig_notation_flags_t flags;
+
+  /* Notation data is human-readable.  */
+  unsigned int human_readable : 1;
+
+  /* Notation data is critical.  */
+  unsigned int critical : 1;
+
+  /* Internal to GPGME, do not use.  */
+  int _unused : 30;
+};
+typedef struct _gpgme_sig_notation *gpgme_sig_notation_t;
+
+
 
+/*
+ * Public structures.
+ */
+
 /* The engine information structure.  */
 struct _gpgme_engine_info
 {
@@ -576,7 +592,7 @@ struct _gpgme_engine_info
 };
 typedef struct _gpgme_engine_info *gpgme_engine_info_t;
 
-
+
 /* A subkey from a key.  */
 struct _gpgme_subkey
 {
@@ -831,8 +847,20 @@ struct _gpgme_key
 typedef struct _gpgme_key *gpgme_key_t;
 
 
+/* An invalid key object.  */
+struct _gpgme_invalid_key
+{
+  struct _gpgme_invalid_key *next;
+  char *fpr;
+  gpgme_error_t reason;
+};
+typedef struct _gpgme_invalid_key *gpgme_invalid_key_t;
+
+
 
-/* Types for callback functions.  */
+/*
+ * Types for callback functions.
+ */
 
 /* Request a passphrase from the user.  */
 typedef gpgme_error_t (*gpgme_passphrase_cb_t) (void *hook,
@@ -857,7 +885,9 @@ typedef gpgme_error_t (*gpgme_edit_cb_t) (void *opaque,
 
 
 
-/* Context management functions.  */
+/*
+ * Context management functions.
+ */
 
 /* Create a new context and return it in CTX.  */
 gpgme_error_t gpgme_new (gpgme_ctx_t *ctx);
@@ -973,16 +1003,6 @@ gpgme_error_t gpgme_ctx_set_engine_info (gpgme_ctx_t ctx,
 					 const char *file_name,
 					 const char *home_dir);
 
-
-/* Return a statically allocated string with the name of the public
-   key algorithm ALGO, or NULL if that name is not known.  */
-const char *gpgme_pubkey_algo_name (gpgme_pubkey_algo_t algo);
-
-/* Return a statically allocated string with the name of the hash
-   algorithm ALGO, or NULL if that name is not known.  */
-const char *gpgme_hash_algo_name (gpgme_hash_algo_t algo);
-
-
 /* Delete all signers from CTX.  */
 void gpgme_signers_clear (gpgme_ctx_t ctx);
 
@@ -1021,7 +1041,7 @@ const char *gpgme_get_sig_string_attr (gpgme_ctx_t c, int idx,
 gpgme_error_t gpgme_get_sig_key (gpgme_ctx_t ctx, int idx, gpgme_key_t *r_key)
      _GPGME_DEPRECATED;
 
-
+
 /* Clear all notation data from the context.  */
 void gpgme_sig_notation_clear (gpgme_ctx_t ctx);
 
@@ -1037,8 +1057,11 @@ gpgme_error_t gpgme_sig_notation_add (gpgme_ctx_t ctx, const char *name,
 /* Get the sig notations for this context.  */
 gpgme_sig_notation_t gpgme_sig_notation_get (gpgme_ctx_t ctx);
 
+
 
-/* Run control.  */
+/*
+ * Run control.
+ */
 
 /* The type of an I/O callback function.  */
 typedef gpgme_error_t (*gpgme_io_cb_t) (void *data, int fd);
@@ -1111,8 +1134,17 @@ gpgme_ctx_t gpgme_wait (gpgme_ctx_t ctx, gpgme_error_t *status, int hang);
 gpgme_ctx_t gpgme_wait_ext (gpgme_ctx_t ctx, gpgme_error_t *status,
 			    gpgme_error_t *op_err, int hang);
 
+/* Cancel a pending asynchronous operation.  */
+gpgme_error_t gpgme_cancel (gpgme_ctx_t ctx);
+
+/* Cancel a pending operation asynchronously.  */
+gpgme_error_t gpgme_cancel_async (gpgme_ctx_t ctx);
+
+
 
-/* Functions to handle data objects.  */
+/*
+ * Functions to handle data objects.
+ */
 
 /* Read up to SIZE bytes into buffer BUFFER from the data object with
    the handle HANDLE.  Return the number of characters read, 0 on EOF
@@ -1235,14 +1267,20 @@ gpgme_error_t gpgme_data_new_from_filepart (gpgme_data_t *r_dh,
    gpgme_data_seek instead.  */
 gpgme_error_t gpgme_data_rewind (gpgme_data_t dh) _GPGME_DEPRECATED;
 
+
 
-/* Key and trust functions.  */
+/*
+ * Key and trust functions.
+ */
 
 /* Get the key with the fingerprint FPR from the crypto backend.  If
    SECRET is true, get the secret key.  */
 gpgme_error_t gpgme_get_key (gpgme_ctx_t ctx, const char *fpr,
 			     gpgme_key_t *r_key, int secret);
 
+/* Create a dummy key to specify an email address.  */
+gpgme_error_t gpgme_key_from_uid (gpgme_key_t *key, const char *name);
+
 /* Acquire a reference to KEY.  */
 void gpgme_key_ref (gpgme_key_t key);
 
@@ -1285,26 +1323,12 @@ unsigned long gpgme_key_sig_get_ulong_attr (gpgme_key_t key, int uid_idx,
 					    const void *reserved, int idx)
      _GPGME_DEPRECATED;
 
-
-/* Crypto Operations.  */
-
-/* Cancel a pending asynchronous operation.  */
-gpgme_error_t gpgme_cancel (gpgme_ctx_t ctx);
-
-/* Cancel a pending operation asynchronously.  */
-gpgme_error_t gpgme_cancel_async (gpgme_ctx_t ctx);
 
 
-struct _gpgme_invalid_key
-{
-  struct _gpgme_invalid_key *next;
-  char *fpr;
-  gpgme_error_t reason;
-};
-typedef struct _gpgme_invalid_key *gpgme_invalid_key_t;
+/*
+ * Encryption.
+ */
 
-
-/* Encryption.  */
 struct _gpgme_op_encrypt_result
 {
   /* The list of invalid recipients.  */
@@ -1348,7 +1372,9 @@ gpgme_error_t gpgme_op_encrypt_sign (gpgme_ctx_t ctx, gpgme_key_t recp[],
 				     gpgme_data_t plain, gpgme_data_t cipher);
 
 
-/* Decryption.  */
+/*
+ * Decryption.
+ */
 
 struct _gpgme_recipient
 {
@@ -1405,7 +1431,10 @@ gpgme_error_t gpgme_op_decrypt_verify (gpgme_ctx_t ctx, gpgme_data_t cipher,
 				       gpgme_data_t plain);
 
 
-/* Signing.  */
+/*
+ * Signing.
+ */
+
 struct _gpgme_new_signature
 {
   struct _gpgme_new_signature *next;
@@ -1461,7 +1490,9 @@ gpgme_error_t gpgme_op_sign (gpgme_ctx_t ctx,
 			     gpgme_sig_mode_t mode);
 
 
-/* Verify.  */
+/*
+ * Verify.
+ */
 
 /* Flags used for the SUMMARY field in a gpgme_signature_t.  */
 typedef enum
@@ -1550,22 +1581,15 @@ gpgme_error_t gpgme_op_verify (gpgme_ctx_t ctx, gpgme_data_t sig,
 			       gpgme_data_t plaintext);
 
 
-/* Import.  */
-
-/* The key was new.  */
-#define GPGME_IMPORT_NEW	1
-
-/* The key contained new user IDs.  */
-#define GPGME_IMPORT_UID	2
-
-/* The key contained new signatures.  */
-#define GPGME_IMPORT_SIG	4
-
-/* The key contained new sub keys.  */
-#define GPGME_IMPORT_SUBKEY	8
+/*
+ * Import/Export
+ */
 
-/* The key contained a secret key.  */
-#define GPGME_IMPORT_SECRET	16
+#define GPGME_IMPORT_NEW	1  /* The key was new.  */
+#define GPGME_IMPORT_UID	2  /* The key contained new user IDs.  */
+#define GPGME_IMPORT_SIG	4  /* The key contained new signatures.  */
+#define GPGME_IMPORT_SUBKEY	8  /* The key contained new sub keys.  */
+#define GPGME_IMPORT_SECRET    16  /* The key contained a secret key.  */
 
 
 struct _gpgme_import_status
@@ -1586,7 +1610,7 @@ struct _gpgme_import_status
 };
 typedef struct _gpgme_import_status *gpgme_import_status_t;
 
-/* Import.  */
+/* Import result object.  */
 struct _gpgme_op_import_result
 {
   /* Number of considered keys.  */
@@ -1650,7 +1674,6 @@ gpgme_error_t gpgme_op_import_keys_start (gpgme_ctx_t ctx, gpgme_key_t keys[]);
 gpgme_error_t gpgme_op_import_keys (gpgme_ctx_t ctx, gpgme_key_t keys[]);
 
 
-
 /* Export the keys found by PATTERN into KEYDATA.  */
 gpgme_error_t gpgme_op_export_start (gpgme_ctx_t ctx, const char *pattern,
 				     gpgme_export_mode_t mode,
@@ -1679,7 +1702,10 @@ gpgme_error_t gpgme_op_export_keys (gpgme_ctx_t ctx,
 
 
 
-/* Key generation.  */
+/*
+ * Key generation.
+ */
+
 struct _gpgme_op_genkey_result
 {
   /* A primary key was generated.  */
@@ -1707,7 +1733,7 @@ gpgme_error_t gpgme_op_genkey (gpgme_ctx_t ctx, const char *parms,
 /* Retrieve a pointer to the result of the genkey operation.  */
 gpgme_genkey_result_t gpgme_op_genkey_result (gpgme_ctx_t ctx);
 
-
+
 /* Delete KEY from the keyring.  If ALLOW_SECRET is non-zero, secret
    keys are also deleted.  */
 gpgme_error_t gpgme_op_delete_start (gpgme_ctx_t ctx, const gpgme_key_t key,
@@ -1715,7 +1741,12 @@ gpgme_error_t gpgme_op_delete_start (gpgme_ctx_t ctx, const gpgme_key_t key,
 gpgme_error_t gpgme_op_delete (gpgme_ctx_t ctx, const gpgme_key_t key,
 			       int allow_secret);
 
+
 
+/*
+ * Key Edit interface
+ */
+
 /* Edit the key KEY.  Send status and command requests to FNC and
    output of edit commands to OUT.  */
 gpgme_error_t gpgme_op_edit_start (gpgme_ctx_t ctx, gpgme_key_t key,
@@ -1735,27 +1766,11 @@ gpgme_error_t gpgme_op_card_edit (gpgme_ctx_t ctx, gpgme_key_t key,
 				  gpgme_data_t out);
 
 
-/* Flags for the spawn operations.  */
-#define GPGME_SPAWN_DETACHED      1
-#define GPGME_SPAWN_ALLOW_SET_FG  2
-
-
-/* Run the command FILE with the arguments in ARGV.  Connect stdin to
-   DATAIN, stdout to DATAOUT, and STDERR to DATAERR.  If one the data
-   streams is NULL, connect to /dev/null instead.  */
-gpgme_error_t gpgme_op_spawn_start (gpgme_ctx_t ctx,
-                                    const char *file, const char *argv[],
-                                    gpgme_data_t datain,
-                                    gpgme_data_t dataout, gpgme_data_t dataerr,
-                                    unsigned int flags);
-gpgme_error_t gpgme_op_spawn (gpgme_ctx_t ctx,
-                              const char *file, const char *argv[],
-                              gpgme_data_t datain,
-                              gpgme_data_t dataout, gpgme_data_t dataerr,
-                              unsigned int flags);
-
 
-/* Key management functions.  */
+/*
+ * Key listing
+ */
+
 struct _gpgme_op_keylist_result
 {
   unsigned int truncated : 1;
@@ -1792,7 +1807,9 @@ gpgme_error_t gpgme_op_passwd (gpgme_ctx_t ctx, gpgme_key_t key,
 
 
 
-/* Trust items and operations.  */
+/*
+ * Trust items and operations.
+ */
 
 struct _gpgme_trust_item
 {
@@ -1867,7 +1884,12 @@ int gpgme_trust_item_get_int_attr (gpgme_trust_item_t item, _gpgme_attr_t what,
 				   const void *reserved, int idx)
      _GPGME_DEPRECATED;
 
+
 
+/*
+ * Audit log
+ */
+
 /* Return the auditlog for the current session.  This may be called
    after a successful or failed operation.  If no audit log is
    available GPG_ERR_NO_DATA is returned.  */
@@ -1878,7 +1900,33 @@ gpgme_error_t gpgme_op_getauditlog (gpgme_ctx_t ctx, gpgme_data_t output,
 
 
 
-/* Low-level Assuan protocol access.  */
+/*
+ * Spawn interface
+ */
+
+/* Flags for the spawn operations.  */
+#define GPGME_SPAWN_DETACHED      1
+#define GPGME_SPAWN_ALLOW_SET_FG  2
+
+
+/* Run the command FILE with the arguments in ARGV.  Connect stdin to
+   DATAIN, stdout to DATAOUT, and STDERR to DATAERR.  If one the data
+   streams is NULL, connect to /dev/null instead.  */
+gpgme_error_t gpgme_op_spawn_start (gpgme_ctx_t ctx,
+                                    const char *file, const char *argv[],
+                                    gpgme_data_t datain,
+                                    gpgme_data_t dataout, gpgme_data_t dataerr,
+                                    unsigned int flags);
+gpgme_error_t gpgme_op_spawn (gpgme_ctx_t ctx,
+                              const char *file, const char *argv[],
+                              gpgme_data_t datain,
+                              gpgme_data_t dataout, gpgme_data_t dataerr,
+                              unsigned int flags);
+
+
+/*
+ * Low-level Assuan protocol access.
+ */
 typedef gpgme_error_t (*gpgme_assuan_data_cb_t)
      (void *opaque, const void *data, size_t datalen);
 
@@ -1937,7 +1985,10 @@ gpgme_op_assuan_transact (gpgme_ctx_t ctx,
 			      void *status_cb_value) _GPGME_DEPRECATED;
 
 
-/* Crypto container support.  */
+/*
+ * Crypto container support.
+ */
+
 struct _gpgme_op_vfs_mount_result
 {
   char *mount_dir;
@@ -1958,7 +2009,9 @@ gpgme_error_t gpgme_op_vfs_create (gpgme_ctx_t ctx, gpgme_key_t recp[],
 				   unsigned int flags, gpgme_error_t *op_err);
 
 
-/* Interface to gpgconf(1).  */
+/*
+ * Interface to gpgconf(1).
+ */
 
 /* The expert level at which a configuration option or group of
    options should be displayed.  See the gpgconf(1) documentation for
@@ -2122,15 +2175,11 @@ gpgme_error_t gpgme_op_conf_load (gpgme_ctx_t ctx, gpgme_conf_comp_t *conf_p);
    follow chained components!  */
 gpgme_error_t gpgme_op_conf_save (gpgme_ctx_t ctx, gpgme_conf_comp_t comp);
 
-
-/* UIServer support.  */
-
-/* Create a dummy key to specify an email address.  */
-gpgme_error_t gpgme_key_from_uid (gpgme_key_t *key, const char *name);
-
 
 
-/* Various functions.  */
+/*
+ * Various functions.
+ */
 
 /* Set special global flags; consult the manual before use.  */
 int gpgme_set_global_flag (const char *name, const char *value);
@@ -2165,19 +2214,28 @@ gpgme_error_t gpgme_set_engine_info (gpgme_protocol_t proto,
 				     const char *file_name,
 				     const char *home_dir);
 
-
-/* Engine support functions.  */
-
 /* Verify that the engine implementing PROTO is installed and
    available.  */
 gpgme_error_t gpgme_engine_check_version (gpgme_protocol_t proto);
 
-
+
+/* Reference counting for result objects.  */
 void gpgme_result_ref (void *result);
 void gpgme_result_unref (void *result);
 
+/* Return a statically allocated string with the name of the public
+   key algorithm ALGO, or NULL if that name is not known.  */
+const char *gpgme_pubkey_algo_name (gpgme_pubkey_algo_t algo);
+
+/* Return a statically allocated string with the name of the hash
+   algorithm ALGO, or NULL if that name is not known.  */
+const char *gpgme_hash_algo_name (gpgme_hash_algo_t algo);
+
+
 
-/* Deprecated types.  */
+/*
+ * Deprecated types.
+ */
 typedef gpgme_ctx_t GpgmeCtx _GPGME_DEPRECATED;
 typedef gpgme_data_t GpgmeData _GPGME_DEPRECATED;
 typedef gpgme_error_t GpgmeError _GPGME_DEPRECATED;
diff --git a/src/versioninfo.rc.in b/src/versioninfo.rc.in
index a4ab0af..7f19b30 100644
--- a/src/versioninfo.rc.in
+++ b/src/versioninfo.rc.in
@@ -39,7 +39,7 @@ BEGIN
             VALUE "FileDescription", "GPGME - GnuPG Made Easy\0"
             VALUE "FileVersion", "@LIBGPGME_LT_CURRENT at .@LIBGPGME_LT_AGE at .@LIBGPGME_LT_REVISION at .@BUILD_REVISION@\0"
             VALUE "InternalName", "gpgme\0"
-            VALUE "LegalCopyright", "Copyright © 2001-2013 g10 Code GmbH\0"
+            VALUE "LegalCopyright", "Copyright © 2001-2015 g10 Code GmbH\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "gpgme.dll\0"
             VALUE "PrivateBuild", "\0"

-----------------------------------------------------------------------

Summary of changes:
 configure.ac          |  12 +-
 src/engine-assuan.c   |  10 +-
 src/engine-g13.c      |  10 +-
 src/engine-gpg.c      |  13 +-
 src/engine-gpgsm.c    |  10 +-
 src/engine-uiserver.c |  10 +-
 src/gpgme.h.in        | 390 +++++++++++++++++++++++++++++---------------------
 src/versioninfo.rc.in |   2 +-
 8 files changed, 260 insertions(+), 197 deletions(-)


hooks/post-receive
-- 
GnuPG Made Easy
http://git.gnupg.org




More information about the Gnupg-commits mailing list