[git] Assuan - branch, master, updated. libassuan-2.2.1-5-g87def94

by Werner Koch cvs at cvs.gnupg.org
Tue Jun 30 16:07:51 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 "IPC library used by GnuPG".

The branch, master has been updated
       via  87def94c86d5272c23daf2b5ea446c5553aa1d90 (commit)
      from  cd8face27cc96cb0092c920e6e5bdee81a61c420 (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 87def94c86d5272c23daf2b5ea446c5553aa1d90
Author: Werner Koch <wk at gnupg.org>
Date:   Tue Jun 30 16:03:57 2015 +0200

    Add assuan_sock_set_flag and assuan_sock_get_flag.
    
    * src/assuan-socket.c (_assuan_sock_set_flag): New.
    (assuan_sock_set_flag): New.
    (_assuan_sock_get_flag, assuan_sock_get_flag): New.
    * src/assuan.h.in (assuan_sock_set_flag): New.
    (assuan_sock_get_flag): New.
    * src/libassuan.def: Add them.
    * src/libassuan.vers: Add them.
    --
    
    These new functions are intended for a Cygwin socket emulation.  This
    commit merely introduces a generic framework.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/NEWS b/NEWS
index 2125894..8007b29 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,11 @@
-Noteworthy changes in version 2.2.2 (unreleased) [C5/A5/R_]
+Noteworthy changes in version 2.3.0 (unreleased) [C5/A5/R_]
 ------------------------------------------------
 
+ * Interface changes relative to the 2.2.1 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ assuan_sock_set_flag     NEW.
+ assuan_sock_get_flag     NEW.
+
 
 Noteworthy changes in version 2.2.1 (2015-05-12) [C5/A5/R1]
 ------------------------------------------------
diff --git a/configure.ac b/configure.ac
index 9727638..78c25ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -31,8 +31,8 @@ min_automake_version="1.14"
 # for the LT versions.
 m4_define([mym4_package],[libassuan])
 m4_define([mym4_major], [2])
-m4_define([mym4_minor], [2])
-m4_define([mym4_micro], [2])
+m4_define([mym4_minor], [3])
+m4_define([mym4_micro], [0])
 
 # To start a new development series, i.e a new major or minor number
 # you need to mark an arbitrary commit before the first beta release
diff --git a/doc/assuan.texi b/doc/assuan.texi
index 10b309c..1c3c2ca 100644
--- a/doc/assuan.texi
+++ b/doc/assuan.texi
@@ -2046,6 +2046,30 @@ code it may be used on POSIX systems as well, where this function is
 a nop.
 @end deftypefun
 
+To control certain properties of the wrapper two additional functions
+are provided:
+
+ at deftypefun int assuan_sock_set_flag ( @
+                @w{assuan_fd_t @var{fd}}, @
+                @w{const char *@var{name}}, @
+                @w{int @var{value}})
+
+Set the flags @var{name} for socket @var{fd} to @var{value}.  See
+below for a list of valid names.  Returns 0 on success; on failure
+sets ERRNO and returns -1.
+ at end deftypefun
+
+ at deftypefun int assuan_sock_get_flag ( @
+                @w{assuan_fd_t @var{fd}}, @
+                @w{const char *@var{name}}, @
+                @w{int *@var{r_value}})
+
+Store the current value of the flag @var{name} for socket @var{fd} at
+ at var{r_value}.  See below for a list of valid names.  Returns 0 on
+success; on failure sets ERRNO and returns -1.
+ at end deftypefun
+
+No flags are defined.
 
 
 @c ---------------------------------------------------------------------
diff --git a/src/assuan-socket.c b/src/assuan-socket.c
index ed6a488..7bca0ae 100644
--- a/src/assuan-socket.c
+++ b/src/assuan-socket.c
@@ -1,5 +1,6 @@
-/* assuan-socket.c
+/* assuan-socket.c - Socket wrapper
    Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 g10 Code GmbH
 
    This file is part of Assuan.
 
@@ -78,6 +79,13 @@
 	               + strlen ((ptr)->sun_path))
 #endif
 
+/* In the future, we can allow access to sock_ctx, if that context's
+   hook functions need to be overridden.  There can only be one global
+   assuan_sock_* user (one library or one application) with this
+   convenience interface, if non-standard hook functions are
+   needed.  */
+static assuan_context_t sock_ctx;
+
 
 #ifdef HAVE_W32_SYSTEM
 
@@ -375,6 +383,42 @@ _assuan_sock_new (assuan_context_t ctx, int domain, int type, int proto)
 
 
 int
+_assuan_sock_set_flag (assuan_context_t ctx, assuan_fd_t sockfd,
+		      const char *name, int value)
+{
+  if (0)
+    {
+    }
+  else
+    {
+      gpg_err_set_errno (EINVAL);
+      return -1;
+    }
+
+  return 0;
+}
+
+
+int
+_assuan_sock_get_flag (assuan_context_t ctx, assuan_fd_t sockfd,
+                       const char *name, int *r_value)
+{
+  (void)ctx;
+
+  if (0)
+    {
+    }
+  else
+    {
+      gpg_err_set_errno (EINVAL);
+      return -1;
+    }
+
+  return 0;
+}
+
+
+int
 _assuan_sock_connect (assuan_context_t ctx, assuan_fd_t sockfd,
 		      struct sockaddr *addr, int addrlen)
 {
@@ -695,13 +739,6 @@ _assuan_sock_check_nonce (assuan_context_t ctx, assuan_fd_t fd,
 
 /* Public API.  */
 
-/* In the future, we can allow access to sock_ctx, if that context's
-   hook functions need to be overridden.  There can only be one global
-   assuan_sock_* user (one library or one application) with this
-   convenience interface, if non-standard hook functions are
-   needed.  */
-static assuan_context_t sock_ctx;
-
 gpg_error_t
 assuan_sock_init ()
 {
@@ -752,6 +789,18 @@ assuan_sock_new (int domain, int type, int proto)
 }
 
 int
+assuan_sock_set_flag (assuan_fd_t sockfd, const char *name, int value)
+{
+  return _assuan_sock_set_flag (sock_ctx, sockfd, name, value);
+}
+
+int
+assuan_sock_get_flag (assuan_fd_t sockfd, const char *name, int *r_value)
+{
+  return _assuan_sock_get_flag (sock_ctx, sockfd, name, r_value);
+}
+
+int
 assuan_sock_connect (assuan_fd_t sockfd, struct sockaddr *addr, int addrlen)
 {
   return _assuan_sock_connect (sock_ctx, sockfd, addr, addrlen);
diff --git a/src/assuan.h.in b/src/assuan.h.in
index f53c26e..14255ea 100644
--- a/src/assuan.h.in
+++ b/src/assuan.h.in
@@ -467,6 +467,8 @@ gpg_error_t assuan_sock_init (void);
 void assuan_sock_deinit (void);
 int assuan_sock_close (assuan_fd_t fd);
 assuan_fd_t assuan_sock_new (int domain, int type, int proto);
+int assuan_sock_set_flag (assuan_fd_t sockfd, const char *name, int value);
+int assuan_sock_get_flag (assuan_fd_t sockfd, const char *name, int *r_value);
 int assuan_sock_connect (assuan_fd_t sockfd,
                          struct sockaddr *addr, int addrlen);
 int assuan_sock_bind (assuan_fd_t sockfd, struct sockaddr *addr, int addrlen);
diff --git a/src/libassuan.def b/src/libassuan.def
index d9997e3..9f31c31 100644
--- a/src/libassuan.def
+++ b/src/libassuan.def
@@ -112,6 +112,8 @@ EXPORTS
     __assuan_waitpid			@91
     assuan_check_version                @92
     assuan_sock_set_sockaddr_un         @93
+    assuan_sock_set_flag                @94
+    assuan_sock_get_flag                @95
 
 ; END
 
diff --git a/src/libassuan.vers b/src/libassuan.vers
index e36c322..2b2389d 100644
--- a/src/libassuan.vers
+++ b/src/libassuan.vers
@@ -102,6 +102,8 @@ LIBASSUAN_1.0 {
     assuan_socket_connect_fd;
     assuan_check_version;
     assuan_sock_set_sockaddr_un;
+    assuan_sock_set_flag;
+    assuan_sock_get_flag;
 
     __assuan_close;
     __assuan_pipe;

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

Summary of changes:
 NEWS                |  7 +++++-
 configure.ac        |  4 ++--
 doc/assuan.texi     | 24 ++++++++++++++++++++
 src/assuan-socket.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++-------
 src/assuan.h.in     |  2 ++
 src/libassuan.def   |  2 ++
 src/libassuan.vers  |  2 ++
 7 files changed, 95 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
IPC library used by GnuPG
http://git.gnupg.org




More information about the Gnupg-commits mailing list