1. 23 Nov, 2015 2 commits
  2. 21 Nov, 2015 2 commits
  3. 03 Nov, 2015 4 commits
    • Werner Koch's avatar
      Post release updates. · c2fca26e
      Werner Koch authored
      --
      c2fca26e
    • Werner Koch's avatar
      Release 2.4.0 · 0beb1784
      Werner Koch authored
      
      
      * configure.ac: Bump LT version to C7/A7/Ro.
      
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      0beb1784
    • Werner Koch's avatar
      w32: Use assuan_fd_t with the new socket functions. · 6034cc02
      Werner Koch authored
      
      
      * src/assuan-socket.c (socks5_connect): Use assuan_fd_t instead of
      int.
      (_assuan_sock_connect): Ditto.
      (_assuan_sock_connect_byname): Ditto.
      
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      6034cc02
    • Werner Koch's avatar
      Use asprintf function from libgpg-error. · 7279c3ce
      Werner Koch authored
      
      
      * configure.ac: Require libgpg-error 1.17.
      (vasprintf): Remove ac_replace.
      * src/assuan-defs.h [!HAVE_VASPRINTF]: Remove replace wrapper.
      * src/assuan-logging.c (_assuan_log_control_channel):
      (_assuan_log_control_channel): s/asprintf/gpgrt_asprintf/.
      * src/debug.c (_assuan_debug): s/vasprintf/gpgrt_vasprintf/.
      (_assuan_debug_begin): Ditto.
      (_assuan_debug_add): Ditto. s/asprintf/gpgrt_asprintf/.
      --
      
      We plan to move more code into libgpg-error/gpgrt anyway thus this is
      a good start which also fixes this bug:
      
      GnuPG-bug-id: 1477
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      7279c3ce
  4. 26 Oct, 2015 2 commits
    • Werner Koch's avatar
      Tests: Cope with broken HTTP servers. · dda9c84b
      Werner Koch authored
      * tests/socks5.c (main): Use GET instead of HEAD
      dda9c84b
    • Werner Koch's avatar
      Support hostname based SOCKS5 connection. · 4061ac57
      Werner Koch authored
      
      
      * src/assuan.h.in (ASSUAN_SOCK_SOCKS): New.
      (ASSUAN_SOCK_TOR): New.
      (assuan_sock_connect_byname): New.
      * src/libassuan.def, src/libassuan.vers: Add that function.
      
      * src/assuan-socket.c (socks5_connect): Add args socksport,
      credentials, hostname, and hostport.  Implement user/password
      authentication and domainname address type.  Change callers
      accordingly.
      (_assuan_sock_connect_byname): New.
      (assuan_sock_connect_byname): New.
      
      * tests/socks5.c (main): Add options --byname, --user, and --pass.
      --
      
      The assuan_sock_connect_byname may eventually be extended to work
      without Tor or SOCKS by using getaddrinfo.  Or we move that all to
      libgpgrt (aka libgpg-error).
      
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      4061ac57
  5. 18 Oct, 2015 1 commit
    • Werner Koch's avatar
      Support SOCKS5 for assuan_sock_connect. · 85ece74a
      Werner Koch authored
      
      
      * src/assuan-socket.c: Include netinet/in.h and arpa/inet.h.
      (SOCKS_PORT, TOR_PORT): New constants.
      (tor_mode): New variable.
      (_assuan_sock_set_flag): Add flags "tor-mode" and "socks".
      (_assuan_sock_get_flag): Ditto.
      (do_readn, do_writen): Always build.
      (socks5_connect): New.
      (use_socks): New.
      (_assuan_sock_connect): Divert to socks5_connect if requested.
      
      * tests/socks5.c: New.
      * configure.ac (AH_TOP): Define GPGRT_ENABLE_ES_MACROS.
      (AC_CHECK_FUNC): Check for getaddrinfo.
      * tests/Makefile.am (testtools): New. Add socks5.
      (AM_LDFLAGS): Add -no-install for easier debugging.
      --
      
      A future extension might be a new assuan_sock_direct_connect call
      takes the hostname as a string and returns a new socket.  This allows
      the proxy to do the resolving.  However, in the long term these socket
      wrapper should be moved to libgpgrt (aka libgpg-error).
      
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      85ece74a
  6. 28 Aug, 2015 4 commits
    • Werner Koch's avatar
      Post release updates · 3aec1981
      Werner Koch authored
      3aec1981
    • Werner Koch's avatar
      Release 2.3.0 · cdb1e648
      Werner Koch authored
      
      
      * configure.ac: Set LT version to C6/A6/R0.
      
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      cdb1e648
    • Werner Koch's avatar
      Support Cygwin local sockets. · 6d4a8ee2
      Werner Koch authored
      
      
      * src/assuan-socket.c (cygwin_fdtable, cygwin_fdtable_cs): New.
      (is_cygwin_fd, insert_cygwin_fd, delete_cygwin_fd): New.
      (assuan_sock_init) [W32]: Init the CS.
      (assuan_sock_deinit) [W32]: Deinit the CS.
      (read_port_and_nonce): Add arg cygwin and detect Cygwin socket files.
      (_assuan_sock_set_flag): Add "cygwin" flag.
      (_assuan_sock_get_flag): Ditto.
      (do_readn, do_writen): New.
      (_assuan_sock_bind): Create a Cygwin socket file depending on a socket
      flag.
      (_assuan_sock_connect): Handle the cygwin socket protocol.
      (_assuan_sock_check_nonce): Ditto.
      --
      
      This code has not been tested.
      
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      6d4a8ee2
    • Werner Koch's avatar
      Read up remaining lines in assuan_inquire after reaching MAXLEN · 5a52404c
      Werner Koch authored
      
      
      * src/assuan-inquire.c (assuan_inquire): Clear return args on error.
      Read up remaining lines after MAXLEN has been hit.
      --
      
      If we would stop immediately at MAXLEN, as we did, the client would
      continue to send data which the server may consider as new Assuan
      commands.
      
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      5a52404c
  7. 25 Aug, 2015 1 commit
  8. 07 Aug, 2015 1 commit
    • Werner Koch's avatar
      Wipe the context before releasing as an extra safeguard. · b5cbf11c
      Werner Koch authored
      
      
      * src/assuan-defs.h (wipememory2, wipememory): New.  Taken from GnuPG.
      * src/assuan.c (assuan_release): Wipe the context.
      --
      
      The assuan context has buffers which may carry senitive information.
      These buffers could be wiped out with each flush but that is too
      expensive.  Thus we only wipe them when freeing the context.
      
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      b5cbf11c
  9. 30 Jun, 2015 1 commit
    • Werner Koch's avatar
      Add assuan_sock_set_flag and assuan_sock_get_flag. · 87def94c
      Werner Koch authored
      
      
      * 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: default avatarWerner Koch <wk@gnupg.org>
      87def94c
  10. 26 Jun, 2015 2 commits
  11. 01 Jun, 2015 1 commit
  12. 12 May, 2015 2 commits
  13. 07 May, 2015 2 commits
  14. 30 Jan, 2015 1 commit
    • Werner Koch's avatar
      w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll. · 5cdc9c45
      Werner Koch authored
      
      
      * src/Makefile.am (extra_ltoptions): New.
      (libassuan_la_LDFLAGS): Use it.
      --
      
      Since gcc 4.8 there is a regression in that plain C programs may link
      to libgcc_s.a which has a dependency on libgcc_s_sjlj.dll.  This is
      for example triggered by using long long arithmetic on a 32 bit
      Windows (e.g symbol __udivdi3).
      
      This patch does not change anything right now but we add it anyway
      in case long long will ever be used.
      
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      5cdc9c45
  15. 28 Jan, 2015 5 commits
  16. 27 Jan, 2015 2 commits
    • Werner Koch's avatar
      Fix WSAEADDRINUSE EADDRINUSE mismatch. · ab5264b2
      Werner Koch authored
      
      
      * src/w32-sock-nonce.inc.h (EADDRINUSE): Avoid redefining.
      * src/assuan-socket.c (_assuan_sock_bind): Set error to EADDRINUSE.
      --
      
      With the latest mingw-w64 EADDRINUSE is defined but to a different
      value than WSAEADDRINUSE.  We need to use EADDRINUSE becuase that is
      what applications expect.
      
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      ab5264b2
    • Werner Koch's avatar
      Comment updates · 054f7c27
      Werner Koch authored
      --
      054f7c27
  17. 11 Dec, 2014 2 commits
  18. 28 Nov, 2014 2 commits
    • Werner Koch's avatar
      Do not allow LFs in the redirected name. · 0fce0171
      Werner Koch authored
      * src/assuan-socket.c (eval_redirection): Stop parsing at the first
      LF.
      --
      
      Avoiding LFs in file names is better for logging.
      0fce0171
    • Werner Koch's avatar
      Implement socket file redirection. · 1f99031c
      Werner Koch authored
      
      
      * configure.ac (AC_CHECK_FUNC): Check for stat.
      * src/assuan-socket.c (SUN_LEN): Add.
      (eval_redirection): New.
      (_assuan_sock_connect) [!W32]: Implement socket file redirection.
      (_assuan_sock_set_sockaddr_un): New.
      (assuan_sock_set_sockaddr_un): New.
      --
      
      This feature is useful to allow sockets with standard names even on
      file system which do not supports socket and to help with shared home
      directories.  For example to use GnuPG 2.1 with shared home
      directories one will be abale to do:
      
       rm ~/.gnupg/S.gpg-agent || true
       printf "%%Assuan%%\nsocket=${HOME}/.gnupg/S.gpg-agent_${HOSTNAME}\n" \
             > ~/.gnupg/S.gpg-agent
      
      Signed-off-by: default avatarWerner Koch <wk@gnupg.org>
      1f99031c
  19. 07 Nov, 2014 3 commits