diff options
author | Werner Koch <wk@gnupg.org> | 2015-10-26 14:35:41 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2015-10-26 14:35:41 +0100 |
commit | 4061ac57ca84a1e0ed779096897a160d49b50c03 (patch) | |
tree | 74d40a22099a305d5dea25f9de5c4d1913fdc3eb /doc/assuan.texi | |
parent | 85ece74a11718338dcd76d6e43ea8100183df02f (diff) | |
download | libassuan-4061ac57ca84a1e0ed779096897a160d49b50c03.tar.gz |
Support hostname based SOCKS5 connection.
* 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 <wk@gnupg.org>
Diffstat (limited to 'doc/assuan.texi')
-rw-r--r-- | doc/assuan.texi | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/doc/assuan.texi b/doc/assuan.texi index 9161f0b..8445eb4 100644 --- a/doc/assuan.texi +++ b/doc/assuan.texi @@ -1979,6 +1979,22 @@ details on the redirection file format. @end deftypefun +@deftypefun int assuan_sock_connect_byname (@w{const char * @var{host}}, @ + @w{unsigned short @var{port}}, @ + @w{int @var{reserved}}, @ + @w{const char *@var{credentials}}, @ + @w{unsigned int @var{flags}}) + +Directly connect to @var{port} on @var{host} given as a name. The +current implementation requires that @var{flags} has either +@code{ASSUAN_SOCK_SOCKS} or @code{ASSUAN_SOCK_TOR} set. On success a +new TCP STREAM socket is returned; on error @code{ASSUAN_INVALID_FD} +and ERRNO set. If @var{credentials} is not @code{NULL}, it is a +string used for password based SOCKS authentication. Username and +password are separated by a colon. @var{reserved} should be 0. +@end deftypefun + + @deftypefun int assuan_sock_bind ( @ @w{assuan_fd_t @var{sockfd}}, @ @w{struct sockaddr *@var{addr}}, @ |