| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
| |
--
Signed-off-by: Justus Winter <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
| |
* src/assuan.h.in (ASSUAN_SYSTEM_NPTH_IMPL): Add wrapper for connect.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
| |
* src/assuan-socket.c (do_readn): Use ssize_t for N.
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
| |
* src/assuan-socket.c: Add errno values not defined by mingw-w64 2.0
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
| |
* configure.ac: Set LT version to C6/A6/R0.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
| |
* src/assuan-defs.h (_assuan_error): Use error source Assuan if no CTX
is given.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
| |
* configure.ac (AM_INIT_AUTOMAKE): Add serial-tests.
* src/Makefile.am (INCLUDES): Rename to AM_CPPFLAGS and remove the
nonexistent ../include/.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
| |
--
|
|
|
|
|
|
|
|
| |
* src/assuan-socket.c (eval_redirection): Stop parsing at the first
LF.
--
Avoiding LFs in file names is better for logging.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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: Werner Koch <[email protected]>
|
|
|
|
|
|
|
| |
* src/system-w32.c (__assuan_read): Retry using select. Map
WSAECONNRESET to EPIPE.
(__assuan_write): Retry using select.
* src/assuan-buffer.c (readline) [W32]: Return EOF instead of EPIPE.
|
|
|
|
| |
* configure.ac: Set LT version to C4/A4/R2.
|
|
|
|
| |
--
|
|
|
|
|
|
|
|
|
| |
* src/context.c (assuan_set_error): Do not pass NULL for %s in the
trace function.
--
This likely fixes
GnuPG-bug-id: 1659
|
|
|
|
| |
* src/debug.c (_assuan_debug): Check wether CAT want to be logged.
|
|
|
|
|
|
|
|
|
| |
* src/debug.h (TRACE_ERR): Check CTX before a deref.
* src/assuan-defs.h (_assuan_error): Turn into an inline function and
check CTX before a deref.
--
Found by Hans-Christoph Steiner with cppcheck.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac (have_dosish_system): Set for W64.
* src/assuan-defs.h (SOCKET2HANDLE, HANDLE2SOCKET): Add versions for
W64.
* src/assuan-handler.c (assuan_command_parse_fd) [W64]: Use strtoull
to parse an FD.
--
Note that these changes are not complete but merely sufficient to
allow building of GpgEX.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan.c (assuan_check_version): New.
(digitp, parse_version_number, parse_version_string)
(compare_versions): New. Taken from libksba.
* configure.ac (VERSION_NUMBER): New ac_subst.
* src/Makefile.am (assuan.h): Pass VERSION and VERSION_NUMBER to
mkheader.
* src/assuan.h.in (ASSUAN_VERSION, ASSUAN_VERSION_NUMBER): New macros.
(assuan_check_version): New prototype.
* src/libassuan.def, src/libassuan.vers: Add assuan_check_version.
* src/mkheader.c (write_special, main): Support version and
version_number.
* tests/version.c: New.
* tests/Makefile.am (TESTS): Add version.
--
All our other libs have a version number check, thus we should have
one in Libassuan as well.
|
|
|
|
|
|
|
|
| |
* src/system-w32.c: Do not include windows.h here.
--
winsock2.h must now be included before windows.h. This is already
properly handled by assuan-defs.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac (BUILD_TIMESTAMP): Use an ISO date string on all
platforms and ac_define it.
* src/sysutils.c (_assuan_sysutils_blurb): But revision and build date
into the binary.
--
An ISO date is for sure better than the old C standard time format.
An almost all platforms this should work. We don't print the seconds
to be compatible with the way we did in on Windows. However we print
in UTC.
|
|
|
|
|
|
|
|
|
|
|
| |
* src/system-w32ce.c (__assuan_write, __assuan_recvmsg)
(__assuan_sendmsg, __assuan_waitpid): Make functions global.
* tests/ce-server.c: Fix syntax error (s/#else/#endif)
--
This patch fixes some cruft which has accidentally been introduced
over time. The code builds, but due to a lack of ready to use CE box,
I was not able to test it.
|
|
|
|
|
|
| |
* configure.ac: Update to modern git version checking. Remove svn
support.
* src/versioninfo.rc.in: Update copyright years.
|
|
|
|
|
| |
* src/client.c (assuan_transact): Send an CAN after an error return
from the inquiry callback.
|
|
|
|
|
|
|
| |
* configure.ac: check for getpeerucred() which (Open)Solaris/SunOS
uses.
* src/assuan-socket-server.c (accept_connection_bottom): make use
of getpeerucred().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac: check for LOCAL_PEEREID and getpeereid().
* src/assuan-socket-server.c (accept_connection_bottom): make use of
LOCAL_PEEREID and getpeereid().
--
For use with assuan_get_peercred(). Note that getpeereid() does not
set the PID member. LOCAL_PEEREID is checked before getpeereid()
since NetBSD has both of these. SO_PEERCRED is still checked first.
[Second revision]
This revision adds support for LOCAL_PEEREID which NetBSD uses. Its
tested against NetBSD 6.0 and may work without problems with earlier
versions. FreeBSD uses getpeereid() which does not have PID support.
Recent OpenBSD versions do support SO_PEERCRED and old versions have
getpeereid() but also may have LOCAL_PEEREID (not sure).
|
|
|
|
| |
Signed-off-by: W. Trevor King <[email protected]>
|
|
|
|
|
|
|
| |
* src/system-posix.c (__assuan_read, __assuan_write, __assuan_recvmsg)
(__assuan_sendmsg, __assuan_waitpid): Make functions global.
* src/libassuan.vers: Add above functions.
* configure.ac: Set version to 2.1.0-git.
|
|
|
|
|
|
|
|
|
| |
* assuan.h.in (ASSUAN_SYSTEM_NPTH_IMPL): Use npth_unprotect and
npth_protect with actual assuan functions instead of npth wrappers.
* libassuan.def: Add __assuan_read, __assuan_write, __assuan_sendmsg,
__assuan_recvmsg, __assuan_waitpid exports.
* system-w32.c (__assuan_read, __assuan_write, __assuan_sendmsg,
__assuan_recvmsg, __assuan_waitpid): Make non-static.
|
| |
|
|
|
|
| |
* configure.ac: Bump LT version to C3/A3/R0.
|
|
|
|
|
|
|
|
|
|
|
| |
At some point in the past we introduced a regression in that the
client of a pipe server received its own pid and not the pid of
the server.
* src/assuan-pipe-connect.c (struct at_pipe_fork)
(struct at_socketpair_fork): Add PARENT_PID.
(at_pipe_fork_cb, at_socketpair_fork): Use PARENT_PID instead of getpid.
(pipe_connect, socketpair_connect): Set PARENT_PID.
|
|
|
|
|
| |
* src/vasprintf.c (checkit): Set flag for a test failure.
(main): Return error on any failure.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* build-aux/gitlog-to-changelog: New script. Taken from gnulib.
* build-aux/git-log-fix: New file.
* build-aux/git-log-footer: New file.
* doc/HACKING: New file.
* ChangeLog: New file.
* Makefile.am (EXTRA_DIST): Add new files.
(gen-ChangeLog): New.
(dist-hook): Run gen-ChangeLog.
* autogen.sh: Install commit-msg hook for git.
Rename all ChangeLog files to ChangeLog-2011.
|
| |
|