summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2015-10-26 14:35:41 +0100
committerWerner Koch <wk@gnupg.org>2015-10-26 14:35:41 +0100
commit4061ac57ca84a1e0ed779096897a160d49b50c03 (patch)
tree74d40a22099a305d5dea25f9de5c4d1913fdc3eb /doc
parent85ece74a11718338dcd76d6e43ea8100183df02f (diff)
downloadlibassuan-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')
-rw-r--r--doc/assuan.texi16
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}}, @