aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* build: Fix previous commit.NIIBE Yutaka2018-10-251-1/+1
| | | | Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Relax requirements.NIIBE Yutaka2018-10-251-4/+10
| | | | | | | | | * m4/gpg-error.m4: Update from libgpg-error 1.33. * src/libassuan.m4: Don't require AM_PATH_GPG_ERROR. Only when gpgrt-config is available and works well, use it. * configure.ac (AM_PATH_GPG_ERROR): No requirement any more. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Use LIBASSUAN_CONFIG_LIBS (instead of LIB).NIIBE Yutaka2018-10-252-3/+3
| | | | | | | | | * configure.ac (LIBASSUAN_CONFIG_LIBS): Rename from *_LIB. (LIBASSUAN_CONFIG_EXTRA_LIBS): Remove. * src/libassuan-config.in: Follow the change. * src/libassuan.pc.in: Likewise. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Fix libassuan.pc.NIIBE Yutaka2018-10-241-1/+1
| | | | | | * src/libassuan.pc.in: Fix typo. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Fix previous commit.NIIBE Yutaka2018-10-241-2/+1
| | | | Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Compatibility to pkg-config.NIIBE Yutaka2018-10-241-0/+10
| | | | | | * src/libassuan-config.in: Support --variable and --modversion. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Make libassuan.m4 use gpg-error-config.NIIBE Yutaka2018-10-241-10/+10
| | | | | | | | | | * src/libassuan.m4: Use gpg-error-config. -- The option --with-libassuan-prefix let it use libassuan-config. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Provide libassuan.pc, generated by configure.NIIBE Yutaka2018-10-243-5/+21
| | | | | | | | | | | * configure.ac (PACKAGE, VERSION): Remove. Generate src/libassuan.pc. * src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New. (assuan.h): Use PACKAGE_VERSION and VERSION_NUMBER vars. * src/libassuan-config.in: Use @PACKAGE_VERSION@. * src/libassuan.pc.in: New. Signed-off-by: NIIBE Yutaka <[email protected]>
* Silence two minor warning on Windows.NIIBE Yutaka2018-02-262-4/+2
| | | | | | | | * src/assuan-defs.h [HAVE_W64_SYSTEM] (SOCKET2HANDLE): Care for size of integer. * src/stpcpy.c: No K&R anymore. Signed-off-by: NIIBE Yutaka <[email protected]>
* Fix previous commit.NIIBE Yutaka2018-02-231-2/+2
| | | | Signed-off-by: NIIBE Yutaka <[email protected]>
* Better credential support for other OSes.NIIBE Yutaka2018-02-201-33/+63
| | | | | | | | | | | | | | | | * configure.ac (HAVE_UCRED_H, HAVE_SYS_UCRED_H): Check these headers unconditionally. (HAVE_SO_PEERCRED, HAVE_LOCAL_PEEREID): Remove. (HAVE_STRUCT_SOCKPEERCRED_PID): New. (HAVE_GETPEEREID): New. * src/assuan-socket-server.c (accept_connection_bottom): Add support for OpenBSD, macOS, and FreeBSD. -- Code in gpg-agent/command-ssh.c are integrated. Signed-off-by: NIIBE Yutaka <[email protected]>
* Fix regression in ASSUAN_SYSTEM_NPTH_IMPL.Werner Koch2017-12-071-2/+2
| | | | | | | | | * src/assuan.h.in (ASSUAN_SYSTEM_NPTH_IMPL): A void fucntion can't assign. -- Fixes-commit: a627350eed5dc32bac41195462f27dee1987b0f5 Signed-off-by: Werner Koch <[email protected]>
* Release 2.5.0libassuan-2.5.0Werner Koch2017-12-073-3/+3
| | | | Signed-off-by: Werner Koch <[email protected]>
* Allow change of system hooks for assuan_sock_...NIIBE Yutaka2017-12-074-2/+16
| | | | | | | | | | | * src/assuan-socket.c (assuan_sock_set_system_hooks): New. * src/assuan.h.in (assuan_sock_set_system_hooks): New prototype. * src/libassuan.def: Add new function. * src/libassuan.vers: Add new function. -- Co-authored-by: [email protected] Signed-off-by: Werner Koch <[email protected]>
* Use wrapped __assuan_usleep for _assuan_npth_usleep.NIIBE Yutaka2017-12-061-1/+3
| | | | | | | | | | | | | | | * src/assuan.h.in (_assuan_npth_usleep): Wrap __assuan_usleep. -- Assuan should support system hooks for nPth before npth_init. Before the call of npth_init, npth_unprotect and npth_protect do nothing, whiile npth_usleep may crash. No use of npth_usleep is better. Signed-off-by: NIIBE Yutaka <[email protected]>
* Wrap assuan_close for nPth.NIIBE Yutaka2017-11-301-6/+10
| | | | | | | | | | | * src/assuan.h.in (_assuan_npth_close): New. (_assuan_system_npth): Use _assuan_npth_close. -- In some situation, closesocket on Windows may block. Signed-off-by: NIIBE Yutaka <[email protected]>
* Add special check version request \001\001Werner Koch2017-11-152-1/+3
| | | | | | | * src/assuan.c (assuan_check_version): Handle version "\001\001" * tests/version.c (main): Print extended version info. Signed-off-by: Werner Koch <[email protected]>
* Add an SPDX tag to all core files.Werner Koch2017-11-1554-580/+631
| | | | --
* Fix last commit.Werner Koch2017-11-151-2/+2
| | | | | | | | | * src/system-posix.c (__assuan_usleep): Its ysec and usecs -- Copy+Paste without even compiling was pretty dumb. Signed-off-by: Werner Koch <[email protected]>
* Fix the nanosleep case of __assuan_usleep.Werner Koch2017-11-152-3/+7
| | | | | | | | | | | * src/system-posix.c (__assuan_usleep): Handle full seconds. -- This function would have failed for any value >= 1000000 because the nsec field is limited to 999999999 and the function fails for larger values. Signed-off-by: Werner Koch <[email protected]>
* Define INADDR_LOOPBACK if not defined.NIIBE Yutaka2017-09-061-0/+5
| | | | | | | | | | | | | | | | | | * src/assuan-socket.c (INADDR_LOOPBACK): Define. -- INADDR_LOOPBACK is not defined in some systems. When defined, its byte-order is not clearly defined in any specifications. So, best portable way is not to use the macro INADDR_LOOPBACK at all but use 0x7f000001 directly. Nevertheless, for systems which use libassuan, it's host byte-order. So, adding the definition works. GnuPG-bug-id: 2447 Suggested-by: Peter Dyballa Signed-off-by: NIIBE Yutaka <[email protected]>
* Use gpgrt_free to release memory allocated by gpgrt_asprintf.NIIBE Yutaka2017-05-312-6/+6
| | | | | | | | * src/assuan-logging.c (_assuan_log_control_channel): Use gpgrt_free. * src/debug.c (_assuan_debug, _assuan_debug_add, _assuan_debug_end): Likewise. Signed-off-by: NIIBE Yutaka <[email protected]>
* EPROTO portability fix.Ben Kibbey2016-09-041-2/+2
| | | | | | | | | | * src/assuan-socket.c(socks5_connect): Return EPROTONOSUPPORT rather than EPROTO. -- OpenBSD, and maybe other systems, doesn't define EPROTO. Signed-off-by: Ben Kibbey <[email protected]>
* Allow socket redirection with assuan_socket_connect.Werner Koch2016-07-131-7/+5
| | | | | | | | | * src/assuan-socket-connect.c (assuan_socket_connect): Use set_socketaddr function. -- GnuPG-bug-id: 2253 Signed-off-by: Werner Koch <[email protected]>
* Speedup closing fds before an exec.Werner Koch2016-07-131-0/+40
| | | | | | | | | | | * src/system-posix.c [__linux__]: Include dirent.h. (get_max_fds) [__linux__]: Return the actual used highest fd. -- This is the same code as introduced with the GnuPG commit 512c56af43027149e8beacf259746b8d7bf9b1a2 Signed-off-by: Werner Koch <[email protected]>
* Fix minor memory leaksWerner Koch2016-06-253-6/+9
| | | | | | | | | | | * src/assuan-pipe-connect.c (socketpair_connect): Always free CHILD_FDS. * src/assuan-uds.c (uds_sendfd): Clear CONTROL_U to silence Valgrind. * tests/fdpassing.c (main): Free FNAME. * src/assuan-handler.c (dispatch_command): Remove dead assignment. Signed-off-by: Werner Koch <[email protected]>
* Improve getting of max. number of open fds.Werner Koch2016-01-153-32/+74
| | | | | | | | | | | | | | | | | | | * configure.ac (AC_CHECK_FUNCS): Add getrlimit. * src/assuan-pipe-connect.c (MAX_OPEN_FDS): Remove non-used macro. * src/system.c (MAX_OPEN_FDS): Remove non-used macro. * src/system-posix.c: Include stdint.h, sys/time.h, sys/resource.h. (MAX_OPEN_FDS): Remove non-used macro. (get_max_fds): New. Taken from gnupg/common/exechelp-posix.c. (__assuan_spawn): Use it here. -- This is related to GnuPG-bug-id: 2071 Changing of get_max_fds from LPGLv3+ to LGPLv2+ approved by me as sole author or that code. Signed-off-by: Werner Koch <[email protected]>
* Fix typos found by codespell.Justus Winter2015-12-016-6/+6
| | | | | -- Signed-off-by: Justus Winter <[email protected]>
* New feature to test for SOCKS5 proxy availability.Werner Koch2015-11-271-4/+24
| | | | | | | | | | * src/assuan-socket.c (socks5_connect): Add special treatment for empty hostnames. (_assuan_sock_connect_byname): Add feature to test for proxy availibility. * tests/socks5.c (main): Add option --have-proxy. Signed-off-by: Werner Koch <[email protected]>
* Protect connect system hook against blocking (nPth).Werner Koch2015-11-261-1/+6
| | | | | | * src/assuan.h.in (ASSUAN_SYSTEM_NPTH_IMPL): Add wrapper for connect. Signed-off-by: Werner Koch <[email protected]>
* Do not use size_t with _assuan_read.Werner Koch2015-11-261-1/+1
| | | | * src/assuan-socket.c (do_readn): Use ssize_t for N.
* Also try port 9150 in Tor mode.Werner Koch2015-11-211-0/+10
| | | | | | | | * src/assuan-socket.c (TOR_PORT2): New. (_assuan_sock_wsa2errno): Map WSAECONNREFUSED. (socks5_connect): Fall back to TOR_PORT2. Signed-off-by: Werner Koch <[email protected]>
* Fix windows build with mingw-w64 2.0.xAndre Heinecke2015-11-211-0/+24
| | | | * src/assuan-socket.c: Add errno values not defined by mingw-w64 2.0
* w32: Use assuan_fd_t with the new socket functions.Werner Koch2015-11-031-5/+6
| | | | | | | | | * 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: Werner Koch <[email protected]>
* Use asprintf function from libgpg-error.Werner Koch2015-11-034-228/+11
| | | | | | | | | | | | | | | | | | * 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: Werner Koch <[email protected]>
* Support hostname based SOCKS5 connection.Werner Koch2015-10-264-15/+176
| | | | | | | | | | | | | | | | | | | | | | | * 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: Werner Koch <[email protected]>
* Support SOCKS5 for assuan_sock_connect.Werner Koch2015-10-181-8/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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: Werner Koch <[email protected]>
* Release 2.3.0libassuan-2.3.0Werner Koch2015-08-282-2/+2
| | | | | | * configure.ac: Set LT version to C6/A6/R0. Signed-off-by: Werner Koch <[email protected]>
* Support Cygwin local sockets.Werner Koch2015-08-281-57/+284
| | | | | | | | | | | | | | | | | | | | * 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: Werner Koch <[email protected]>
* Read up remaining lines in assuan_inquire after reaching MAXLENWerner Koch2015-08-281-9/+17
| | | | | | | | | | | | * 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: Werner Koch <[email protected]>
* Wipe the context before releasing as an extra safeguard.Werner Koch2015-08-072-1/+15
| | | | | | | | | | | | * 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: Werner Koch <[email protected]>
* Add assuan_sock_set_flag and assuan_sock_get_flag.Werner Koch2015-06-304-8/+63
| | | | | | | | | | | | | | | | * 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 <[email protected]>
* Return GPG_ERR_SOURCE_ASSUAN on errors with no CTX.Werner Koch2015-06-261-1/+1
| | | | | | | * src/assuan-defs.h (_assuan_error): Use error source Assuan if no CTX is given. Signed-off-by: Werner Koch <[email protected]>
* Do not segv if NULL is passed for CTX in sendfd and receivefd.Werner Koch2015-06-262-2/+8
| | | | | | | | | | | * src/assuan-buffer.c (assuan_sendfd): Check that CTX is not NULL. (assuan_receivefd): Ditto. -- This change is to align the behaviour with that of assuan_send_data. Suggested-by: Andre Heinecke. Signed-off-by: Werner Koch <[email protected]>
* w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll.Werner Koch2015-01-301-0/+4
| | | | | | | | | | | | | | | | * 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: Werner Koch <[email protected]>
* Require the use of automake 1.14Werner Koch2015-01-281-1/+1
| | | | | | * configure.ac (AM_INIT_AUTOMAKE): Add serial-tests. * src/Makefile.am (INCLUDES): Rename to AM_CPPFLAGS and remove the nonexistent ../include/.
* w32: Fix assuan_connect_fdWerner Koch2015-01-281-10/+21
| | | | | | | | | | | | * src/assuan-socket-connect.c (assuan_socket_connect_fd): Map fd to assuan_fd_t. -- This function is actually not used by GnuPG. The function should have taken an assuan_fd but given that it did not we use our usual mapping from Windows libc fds to an assuan fd. Signed-off-by: Werner Koch <[email protected]>
* Fix gcc warning about unused values.Werner Koch2015-01-281-23/+24
| | | | | | | | | | * src/debug.h: Remove traling ", 0" expression part where not useful. -- gcc 4.9 detected this. Probably taken from gpgme but used differently. Signed-off-by: Werner Koch <[email protected]>
* Fix WSAEADDRINUSE EADDRINUSE mismatch.Werner Koch2015-01-272-3/+5
| | | | | | | | | | | | * 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: Werner Koch <[email protected]>
* Comment updatesWerner Koch2015-01-271-14/+16
| | | | --