tor-commits
Threads by month
- ----- 2025 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 213855 discussions
commit f8c2e64899efc569b61922235de8be4dd893e67c
Author: Robert Hogan <robert(a)roberthogan.net>
Date: Sun Feb 27 12:21:17 2011 +0000
Fix funny malloc statement
---
src/parser.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/parser.c b/src/parser.c
index c7c6290..8f24be6 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -266,7 +266,7 @@ static int handle_path(struct parsedfile *config, int lineno, int nowords, char
} else {
/* Open up a new serverent, put it on the list */
/* then set the current context */
- if (((int) (newserver = (struct serverent *) malloc(sizeof(struct serverent)))) == -1)
+ if ((newserver = malloc(sizeof(*newserver))) == NULL)
exit(-1);
/* Initialize the structure */
1
0

27 Feb '11
commit 56d9b4a4d56608eed1d1884a5812e85393bb4826
Author: Robert Hogan <robert(a)roberthogan.net>
Date: Sat Feb 26 15:03:44 2011 +0000
Remove check that init() has been called
I think the pthread_mutex takes care of this problem now.
---
src/torsocks.c | 59 --------------------------------------------------------
1 files changed, 0 insertions(+), 59 deletions(-)
diff --git a/src/torsocks.c b/src/torsocks.c
index 8099a5e..a7af809 100644
--- a/src/torsocks.c
+++ b/src/torsocks.c
@@ -91,7 +91,6 @@ int (*realres_init)(void);
static struct parsedfile config;
static int suid = 0;
static char *conffile = NULL;
-static volatile int torsocks_init_complete = 0;
/* Exported Function Prototypes */
void __attribute__ ((constructor)) torsocks_init(void);
@@ -132,14 +131,6 @@ void torsocks_init(void)
}
pthread_mutex_lock(&torsocks_init_mutex);
- /* We only need to be called once */
- if (torsocks_init_complete)
- return;
-
- /* Not strictly true yet, but prevents us getting called while still in progress.*/
- /* This has been observed on Snow Leopard for instance. */
- torsocks_init_complete = 1;
-
show_msg(MSGDEBUG, "In torsocks_init \n");
get_environment();
@@ -197,7 +188,6 @@ void torsocks_init(void)
exit(1);
}
- torsocks_init_complete=1;
pthread_mutex_unlock(&torsocks_init_mutex);
show_msg(MSGDEBUG, "Exit torsocks_init \n");
@@ -275,10 +265,6 @@ int torsocks_connect_guts(CONNECT_SIGNATURE, int (*original_connect)(CONNECT_SIG
struct serverent *path;
struct connreq *newconn;
- /* See comment in close() */
- if (!torsocks_init_complete)
- torsocks_init();
-
/* If the real connect doesn't exist, we're stuffed */
if (original_connect == NULL) {
show_msg(MSGERR, "Unresolved symbol: connect\n");
@@ -451,9 +437,6 @@ int torsocks_select_guts(SELECT_SIGNATURE, int (*original_select)(SELECT_SIGNATU
return(original_select(n, readfds, writefds, exceptfds, timeout));
}
- if (!torsocks_init_complete)
- torsocks_init();
-
show_msg(MSGTEST, "Intercepted call to select\n");
show_msg(MSGDEBUG, "Intercepted call to select with %d fds, "
"0x%08x 0x%08x 0x%08x, timeout %08x\n", n,
@@ -637,9 +620,6 @@ int torsocks_poll_guts(POLL_SIGNATURE, int (*original_poll)(POLL_SIGNATURE))
if (!requests)
return(original_poll(ufds, nfds, timeout));
- if (!torsocks_init_complete)
- torsocks_init();
-
show_msg(MSGTEST, "Intercepted call to poll\n");
show_msg(MSGDEBUG, "Intercepted call to poll with %d fds, "
"0x%08x timeout %d\n", nfds, ufds, timeout);
@@ -795,13 +775,6 @@ int torsocks_close_guts(CLOSE_SIGNATURE, int (*original_close)(CLOSE_SIGNATURE))
return(original_close(fd));
}
- /* If we are called before this symbol has been dlopened then try
- loading symbols now. This is a workaround for a problem I don't
- really understand and have only encountered when using torsocks
- with svn on Fedora 10, so definitely a hack. */
- if (!torsocks_init_complete)
- torsocks_init();
-
if (original_close == NULL) {
show_msg(MSGERR, "Unresolved symbol: close\n");
return(-1);
@@ -846,10 +819,6 @@ int torsocks_getpeername_guts(GETPEERNAME_SIGNATURE,
struct connreq *conn;
int rc;
- /* See comment in close() */
- if (!torsocks_init_complete)
- torsocks_init();
-
if (original_getpeername == NULL) {
show_msg(MSGERR, "Unresolved symbol: getpeername\n");
return(-1);
@@ -886,10 +855,6 @@ int res_init(void)
show_msg(MSGTEST, "Got res_init request\n");
- /* See comment in close() */
- if (!torsocks_init_complete)
- torsocks_init();
-
if (realres_init == NULL) {
show_msg(MSGERR, "Unresolved symbol: res_init\n");
return(-1);
@@ -911,10 +876,6 @@ int EXPAND_GUTS_NAME(res_query)(RES_QUERY_SIGNATURE, int (*original_res_query)(R
show_msg(MSGTEST, "Got res_query request\n");
- /* See comment in close() */
- if (!torsocks_init_complete)
- torsocks_init();
-
if (original_res_query == NULL) {
show_msg(MSGERR, "Unresolved symbol: res_query\n");
return(-1);
@@ -941,10 +902,6 @@ int EXPAND_GUTS_NAME(res_querydomain)(RES_QUERYDOMAIN_SIGNATURE, int (*original_
show_msg(MSGDEBUG, "Got res_querydomain request\n");
- /* See comment in close() */
- if (!torsocks_init_complete)
- torsocks_init();
-
if (original_res_querydomain == NULL) {
show_msg(MSGERR, "Unresolved symbol: res_querydomain\n");
return(-1);
@@ -971,10 +928,6 @@ int EXPAND_GUTS_NAME(res_search)(RES_SEARCH_SIGNATURE, int (*original_res_search
show_msg(MSGTEST, "Got res_search request\n");
- /* See comment in close() */
- if (!torsocks_init_complete)
- torsocks_init();
-
if (original_res_search == NULL) {
show_msg(MSGERR, "Unresolved symbol: res_search\n");
return(-1);
@@ -1000,10 +953,6 @@ int EXPAND_GUTS_NAME(res_send)(RES_SEND_SIGNATURE, int (*original_res_send)(RES_
show_msg(MSGTEST, "Got res_send request\n");
- /* See comment in close() */
- if (!torsocks_init_complete)
- torsocks_init();
-
if (original_res_send == NULL) {
show_msg(MSGERR, "Unresolved symbol: res_send\n");
return(-1);
@@ -1081,10 +1030,6 @@ ssize_t torsocks_sendto_guts(SENDTO_SIGNATURE, ssize_t (*original_sendto)(SENDTO
unsigned int sock_type_len = sizeof(sock_type);
struct sockaddr_in *connaddr;
- /* See comment in close() */
- if (!torsocks_init_complete)
- torsocks_init();
-
/* If the real sendto doesn't exist, we're stuffed */
if (original_sendto == NULL) {
show_msg(MSGERR, "Unresolved symbol: sendto\n");
@@ -1125,10 +1070,6 @@ ssize_t torsocks_sendmsg_guts(SENDMSG_SIGNATURE, ssize_t (*original_sendmsg)(SEN
unsigned int sock_type_len = sizeof(sock_type);
struct sockaddr_in *connaddr;
- /* See comment in close() */
- if (!torsocks_init_complete)
- torsocks_init();
-
/* If the real sendmsg doesn't exist, we're stuffed */
if (original_sendmsg == NULL) {
show_msg(MSGERR, "Unresolved symbol: sendmsg\n");
1
0

[torsocks/master] Move patches directory to docs and update DEBUG readme
by hoganrobert@torproject.org 27 Feb '11
by hoganrobert@torproject.org 27 Feb '11
27 Feb '11
commit e75c0be29dcb41c5451d352c959ff2f48379c704
Author: Robert Hogan <robert(a)roberthogan.net>
Date: Sun Feb 27 12:48:35 2011 +0000
Move patches directory to docs and update DEBUG readme
---
doc/DEBUG | 4 -
doc/notes/DEBUG | 8 +
doc/patches/README | 88 +
doc/patches/README.TORDNS | 187 +
doc/patches/compilewarnings.patch | 739 +++
doc/patches/conffile.patch | 11 +
doc/patches/getaddrbyhost.patch | 696 +++
doc/patches/getpeername.patch | 350 ++
doc/patches/infiniteloop.patch | 20 +
doc/patches/localaddresses.patch | 15 +
doc/patches/tordns.patch |11004 +++++++++++++++++++++++++++++++++++++
patches/README | 88 -
patches/README.TORDNS | 187 -
patches/compilewarnings.patch | 739 ---
patches/conffile.patch | 11 -
patches/getaddrbyhost.patch | 696 ---
patches/getpeername.patch | 350 --
patches/infiniteloop.patch | 20 -
patches/localaddresses.patch | 15 -
patches/tordns.patch |11004 -------------------------------------
20 files changed, 13118 insertions(+), 13114 deletions(-)
diff --git a/doc/DEBUG b/doc/DEBUG
deleted file mode 100644
index d780d82..0000000
--- a/doc/DEBUG
+++ /dev/null
@@ -1,4 +0,0 @@
-gdb ./gethostbyaddr
-set environment LD_PRELOAD /home/robert/Development/torsocks-svn/torsocks/debug/src/.libs/libtorsocks.so
-b our_gethostbyaddr
-run
diff --git a/doc/notes/DEBUG b/doc/notes/DEBUG
new file mode 100644
index 0000000..53797b0
--- /dev/null
+++ b/doc/notes/DEBUG
@@ -0,0 +1,8 @@
+You can set breakpoints in libtorsocks using the following technique. Say you
+want to debug torsocks when it's wrapping a program called gethostbyaddr, that
+calls gethostbyaddr():
+
+gdb ./gethostbyaddr
+set environment LD_PRELOAD /path/to/libtorsocks.so
+b our_gethostbyaddr
+run
diff --git a/doc/patches/README b/doc/patches/README
new file mode 100644
index 0000000..2f921a9
--- /dev/null
+++ b/doc/patches/README
@@ -0,0 +1,88 @@
+This is a list of the patches applied to tsocks between it's last
+official release and 15/06/08. All changes applied to the source after
+that date are recorded in the Changelog.
+
+NB: These patches are stored for historical reasons only. I have not
+ confirmed that they all apply cleanly to the tsocks source. I do not
+ know in what order they should be applied.
+
+File: getaddrbyhost.patch (Robert Hogan)
+Date: 18/06/08
+Description:
+Add support for getaddrbyhost.
+
+File: compilewarnings.patch (Robert Hogan)
+Date: 2007
+Description:
+ Suppresses a number of compile warnings. Also introduces reasonable defaults
+ for use of Tor.
+
+
+File: getpeername.patch (Peter Palfrader <weasel(a)debian.org>)
+Date: Sat, 27 Mar 2004 13:20:56 +0100
+Description:
+ "If we are not done setting up the connection yet, getpeername() should
+ return -1 and ENOTCONN.
+
+ This is necessary since some applications, when using non-blocking connect,
+ (like ircII) use getpeername() to find out if they are connected already.
+
+ This results in races sometimes, where the client sends data to the socket
+ before we are done with the socks connection setup. Another solution would
+ be to intercept send().
+
+ This could be extended to actually set the peername to the peer the
+ client application has requested, but not for now.
+
+ this patch is almost the same, only it uses state != DONE instead of
+ state == CONNECTING to find out when to send ENOTCONN back.
+
+ this patch tries to also do continue the socks setup in getpeername(),
+ if it isn't done yet."
+
+
+File: infiniteloop.patch (Peter Palfrader <weasel(a)debian.org>)
+Date: Sat, 20 Mar 2004 11:41:41 +0100
+Description:
+ "If the server just disconnects when tsocks expects a reply, tsocks
+ will get stuck in an infinite busy loop."
+
+
+File: localaddresses.patch (Roger Dingledine)
+Date: Sat, 01 Apr 2006 18:17:50 -0500
+Description:
+ "I just noticed that tsocks hard-codes the 127.0.0.0/8 subnet
+ as being "local", meaning it won't ever go through the socks
+ proxy.
+
+ The Tor controller's mapaddress command can assign virtual addresses
+ in the 127/8 space: see section 3.8 of
+ http://tor.eff.org/cvs/tor/doc/control-spec.txt
+
+ We think this behavior should be allowed. Here's a patch to tsocks to
+ make it not always hard-code its local network."
+
+
+File: conffile.patch ( Roderick Schertler <roderick(a)argon.org>)
+Date: Fri, 03 Jun 2005 08:43:59 -0400
+Description: tsocks(8) says TSOCKS_CONFFILE but should say TSOCKS_CONF_FILE
+Details:
+ "The tsocks(8) man page says TSOCKS_CONFFILE but should say
+ TSOCKS_CONF_FILE. Though this is a documentation error I don't think
+ it qualifies as minor. For me the program didn't work at all because
+ I needed to run it with an alternative config file, and I needed to
+ download the source to figure out the problem."
+
+
+File: tordns.patch (Total Information Security)
+Date: 2005-10-XX (?)
+Original Reference: http://www.totalinfosecurity.com/patches/tor.php
+Description:
+ "Patch from Total Information Security to resolve the DNS leakage problem
+ and allow access to addresses with nonstandard hostnames (e.g. those ending
+ in .onion)."
+
+Notes:
+ 'Total Information Security' appears to be defunct so the original link for
+ the patch is now dead. The patch stored here was taken from :
+ https://bugs.gentoo.org/show_bug.cgi?id=148550
diff --git a/doc/patches/README.TORDNS b/doc/patches/README.TORDNS
new file mode 100644
index 0000000..0b7dafd
--- /dev/null
+++ b/doc/patches/README.TORDNS
@@ -0,0 +1,187 @@
+
+TORDNS
+======
+
+What is it?
+-----------
+
+This patch modifies the tsocks library to use SOCKS for name resolution.
+
+
+Why should I use it?
+--------------------
+
+* It's easier.
+
+When using this patch you don't (always..) need to run 'tor-resolve' when
+using 'torify' anymore. Also, 'torify' now works directly with SSH without
+the need for connect scripts or other fiddling. [As long as SSH is not
+installed suid root].
+
+* It allows you to use programs which are not SOCKS aware to connect to
+.onion sites.
+
+For example, you can ssh directly to a .onion site, or use telnet / netcat
+without hassle.
+
+
+QUICK: what do I need to do to make it work?
+--------------------------------------------
+
+Configuration instructions:
+
+1) Get the sources
+
+wget http://ftp1.sourceforge.net/tsocks/tsocks-1.8beta5.tar.gz
+wget http://www.totalinfosecurity.com/patches/tor-tsocks/tordns-1.8b5.patch
+
+2) Unpack and apply the tsocks patch
+
+tar xzvf tsocks-1.8beta5.tar.gz
+cd tsocks-1.8
+patch -p1 < ../tordns-1.8b5.patch
+
+3) Configure, compile and install
+
+NOTE: The default 'configure' settings for tsocks have been changed by
+this patch. The --disable-hostnames option (don't try to use DNS to look
+up SOCKS servers) is now enabled by default. Also, tordns is enabled
+by default.
+
+./configure
+make
+make install
+
+All the tordns config options have sane default values which you should
+not need to change.
+
+
+Why did I need to use 'tor-resolve' with 'torify' in the first place?
+---------------------------------------------------------------------
+
+Because if you run "torify telnet bar.foo.com 31337", for example, then
+you're leaking information about what sites you're visiting to DNS servers.
+
+The tor-resolve utility resolves names through tor using SOCKS, in a way
+that shouldn't compromise your privacy.
+
+
+What won't work with this?
+--------------------------
+
+The 'tordns' feature for tsocks only works with applications using the
+standard c library name lookup mechanisms.
+
+Some programs roll their own name lookup functions, for example, 'curl'
+uses the 'adns' library, not the standard c library name lookup calls.
+In this case, you'll still be leaking DNS requests.
+
+However, it seems that most programs which go to the trouble of implementing
+asynchronous DNS requests or doing other tricky things have native SOCKS or
+HTTP proxy support.
+
+Requests for reverse name lookups are not intercepted.
+
+Finally, the tsocks library is NOT thread-safe, with or without this patch.
+You should not 'torify' multithreaded applications.
+
+
+How does it work?
+-----------------
+
+This patch adds interceptors for common name resolution calls to tsocks.
+Specifically, the 'gethostbyname', 'getaddrinfo' and 'getipnodebyname' library
+functions. (gethostbyname_r is not supported).
+
+When a call to one of these functions is intercepted, a SOCKS4A resolve
+request is used to retrieve the relevant information, and the results are
+cached.
+
+When the application calls 'connect', the cache is consulted and instead
+of making a SOCKS5 request and supplying the IP address, we connect using
+the name. This prevents those messages in the tor logs which look like:
+
+ Sep 23 10:12:20.901 [warn] fetch_from_buf_socks(): Your application (using s
+ ocks5 on port 80) is giving Tor only an IP address. Applications that do DNS
+ resolves themselves may leak information. Consider using Socks4A (e.g. via
+ privoxy or socat) instead.
+
+There are special provisions for handling .onion sites. When a program asks
+to resolve a name ending in '.onion', no name lookup is performed. A bogus IP
+address is returned. The range of unused IP addresses to hand out is called the
+"deadpool". This IP address doesn't mean anything in particular, and could be
+considered a cookie associated with the name. When the application eventually
+calls 'connect' with this bogus IP, the cache is consulted and the result is a
+SOCKS5 request which includes the name of the .onion site.
+
+The default deadpool range is '127.0.69.0/255.255.255.0'. NOTE: if a resolve
+request results in an IP from the deadpool range then the response is rejected,
+and it appears to the application that the lookup failed.
+
+The lookup cache is kept in mmap'd memory and shared across fork() calls.
+This is because some programs perform name lookups in a child process and
+then invoke 'connect' in the parent as a kind of "poor man's async DNS".
+
+
+Advanced configuration options
+------------------------------
+
+The following options have been added to the tsocks configuration file:
+
+tordns_enable
+
+ The default value is 'true'. If you set it to 'false', tsocks should work
+ just like it did without the tordns patch.
+
+
+tordns_deadpool_range
+
+ The default value is '127.0.69.0/255.255.255.0'. This specifies what range
+ of IP addresses will be handed to the application as "cookies" for .onion
+ names. Of course, you should pick a block of addresses which you aren't
+ going to ever need to actually connect to.
+
+
+tordns_cache_size
+
+ This specifies the number of IP addresses looked up through socks to cache.
+ The default value is 256. The default value is 256. Each entry consumes 260
+ bytes of memory, so the default adds 66,560 bytes of overhead to each
+ 'torified' process. NOTE: if the number of IP addresses in
+ tordns_deadpool_range is less than the value specified for tordns_cache_size,
+ then the cache will be shrunk to fit the deadpool range. This is to prevent
+ duplicate deadpool addresses from ever appearing in the cache.
+
+
+TODO
+----
+
+* Think about how local names get resolved. Is it important? For example,
+ if I 'telnet localhost' which using tordns, what should happen? Should
+ we search through /etc/hosts ourselves or what?
+
+* What about the isc library calls like res_init and so on? How widely are
+ they use? Does this present a more elegant way to implement this stuff?
+
+* Perhaps intercept res_query etc and try to do something appropriate.
+
+* It should be possible to make this thread-safe with --enable-threads.
+
+* validateconf needs to be updated to understand (and show information about)
+ the tordns configuration options.
+
+* Perhaps intercept reverse name lookups?
+
+* In fact, one could modify tsocks further to play nicely with tor. For
+ example, you could prevent nonlocal UDP traffic from being sent at all,
+ and so on.
+
+
+******************************************************
+Questions or comments, please contact:
+Blair Strang (bls(a)totalinfosecurity.com)
+Caleb Anderson (caleb.anderson(a)totalinfosecurity.com)
+Carl Purvis (carl.purvis(a)totalinfosecurity.com)
+
+Total Information Security Ltd.
+http://www.totalinfosecurity.com/
diff --git a/doc/patches/compilewarnings.patch b/doc/patches/compilewarnings.patch
new file mode 100644
index 0000000..9c93be1
--- /dev/null
+++ b/doc/patches/compilewarnings.patch
@@ -0,0 +1,739 @@
+Only in /home/robert/Development/tork/src/tsocks/: .#Makefile.in.1.12
+Only in /home/robert/Development/tork/src/tsocks/: .deps
+Only in /home/robert/Development/tork/src/tsocks/: .libs
+Common subdirectories: /backup/robert/Development/torsocks/CVS and /home/robert/Development/tork/src/tsocks/CVS
+diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/ChangeLog /home/robert/Development/tork/src/tsocks/ChangeLog
+--- /backup/robert/Development/torsocks/ChangeLog 2008-06-15 10:43:02.000000000 +0100
++++ /home/robert/Development/tork/src/tsocks/ChangeLog 2007-09-30 16:13:34.000000000 +0100
+@@ -1,15 +1,5 @@
+-version 1.81 - 2006.11.17 ruben(a)ugr.es
+- Integrated and resolved the conflicts for the following
+- patches:
+- -DNS from totalinfosecurity mentioned below
+- -Infinite Loop from weasel
+- -Getpeername from weasel
+- -Documentation patch from Roderick Schertler
+- -Localhost patch from Roger Dingledine
+- (patches 1, 3, 4, 5 and 7 from
+- http://wiki.noreply.org/noreply/TheOnionRouter/TSocksPatches)
+- Patches 2 and 6 were not applied because I don't have access to
+- osx or bsd and can't test them. (And the bsd patch breaks linux)
++Renamed for TorK to avoid conflicts with existing tsocks installations.
++Robert Hogan
+
+ version 1.80tordns - 2005.10.4 bls(a)totalinfosecurity.com
+ Intercept gethostbyname() and friends, added --tordns
+Only in /home/robert/Development/tork/src/tsocks/: Makefile
+Only in /home/robert/Development/tork/src/tsocks/: Makefile.am~
+Only in /home/robert/Development/tork/src/tsocks/: Makefile.in~
+Only in /home/robert/Development/tork/src/tsocks/: README
+Only in /home/robert/Development/tork/src/tsocks/: TODO~
+Only in /backup/robert/Development/torsocks: acconfig.h
+Only in /home/robert/Development/tork/src/tsocks/: aclocal
+diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/common.c /home/robert/Development/tork/src/tsocks/common.c
+--- /backup/robert/Development/torsocks/common.c 2008-06-15 10:43:02.000000000 +0100
++++ /home/robert/Development/tork/src/tsocks/common.c 2008-04-05 22:36:40.000000000 +0100
+@@ -4,7 +4,7 @@
+
+ */
+
+-#include <config.h>
++#include <config.h>
+ #include <stdio.h>
+ #include <netdb.h>
+ #include <common.h>
+@@ -15,6 +15,7 @@
+ #include <time.h>
+ #include <unistd.h>
+ #include <arpa/inet.h>
++#include <sys/types.h>
+ #include <netinet/in.h>
+
+ /* Globals */
+@@ -37,7 +38,7 @@
+ #ifdef HAVE_GETHOSTBYNAME
+ if ((new = gethostbyname(host)) == (struct hostent *) 0) {
+ #endif
+- return(-1);
++ return(0);
+ #ifdef HAVE_GETHOSTBYNAME
+ } else {
+ ip = ((struct in_addr *) * new->h_addr_list);
+@@ -47,7 +48,7 @@
+ }
+ #endif
+ } else
+- return(-1);
++ return(0);
+ }
+
+ return (hostaddr);
+@@ -99,10 +100,10 @@
+ return nbits;
+ }
+
+-void show_msg(int level, char *fmt, ...) {
+- va_list ap;
+- int saveerr;
+- extern char *progname;
++void show_msg(int level, const char *fmt, ...) {
++ va_list ap;
++ int saveerr;
++/* extern char *progname; */
+ char timestring[20];
+ time_t timestamp;
+
+@@ -128,7 +129,7 @@
+ fprintf(logfile, "%s ", timestring);
+ }
+
+- // fputs(progname, logfile);
++ /* fputs(progname, logfile); */
+
+ if (logstamp) {
+ fprintf(logfile, "(%d)", getpid());
+Only in /home/robert/Development/tork/src/tsocks/: common.c~
+diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/common.h /home/robert/Development/tork/src/tsocks/common.h
+--- /backup/robert/Development/torsocks/common.h 2008-06-15 10:43:02.000000000 +0100
++++ /home/robert/Development/tork/src/tsocks/common.h 2007-11-02 20:23:55.000000000 +0000
+@@ -1,7 +1,7 @@
+ /* Common functions provided in common.c */
+
+ void set_log_options(int, char *, int);
+-void show_msg(int level, char *, ...);
++void show_msg(int level, const char *, ...);
+ int count_netmask_bits(uint32_t mask);
+ unsigned int resolve_ip(char *, int, int);
+
+Only in /home/robert/Development/tork/src/tsocks/: common.lo
+Only in /backup/robert/Development/torsocks: config.guess
+Only in /backup/robert/Development/torsocks: config.h.in
+Only in /backup/robert/Development/torsocks: config.status
+Only in /backup/robert/Development/torsocks: config.sub
+Only in /backup/robert/Development/torsocks: configure.in
+diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/dead_pool.c /home/robert/Development/tork/src/tsocks/dead_pool.c
+--- /backup/robert/Development/torsocks/dead_pool.c 2008-06-15 10:43:02.000000000 +0100
++++ /home/robert/Development/tork/src/tsocks/dead_pool.c 2008-04-05 22:35:46.000000000 +0100
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <sys/socket.h>
++#include <sys/types.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <netdb.h>
+@@ -29,10 +30,11 @@
+ }
+
+ dead_pool *
+-init_pool(int pool_size, struct in_addr deadrange_base,
++init_pool(unsigned int pool_size, struct in_addr deadrange_base,
+ struct in_addr deadrange_mask, char *sockshost, uint16_t socksport)
+ {
+- int i, deadrange_bits, deadrange_width, deadrange_size;
++ unsigned int i, deadrange_size, deadrange_width;
++ int deadrange_bits;
+ struct in_addr socks_server;
+ dead_pool *newpool = NULL;
+
+@@ -182,7 +184,7 @@
+ int
+ search_pool_for_name(dead_pool *pool, const char *name)
+ {
+- int i;
++ unsigned int i;
+ for(i=0; i < pool->n_entries; i++){
+ if(strcmp(name, pool->entries[i].name) == 0){
+ return i;
+@@ -194,7 +196,7 @@
+ char *
+ get_pool_entry(dead_pool *pool, struct in_addr *addr)
+ {
+- int i;
++ unsigned int i;
+ uint32_t intaddr = addr->s_addr;
+
+ if(pool == NULL) {
+Only in /home/robert/Development/tork/src/tsocks/: dead_pool.c~
+diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/dead_pool.h /home/robert/Development/tork/src/tsocks/dead_pool.h
+--- /backup/robert/Development/torsocks/dead_pool.h 2008-06-15 10:43:02.000000000 +0100
++++ /home/robert/Development/tork/src/tsocks/dead_pool.h 2007-11-02 20:59:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ #ifndef _DEAD_POOL_H
+ #define _DEAD_POOL_H
+
+-#include <config.h>
++#include <config.h>
+
+ extern int (*realconnect)(CONNECT_SIGNATURE);
+ extern int (*realclose)(CLOSE_SIGNATURE);
+@@ -16,7 +16,7 @@
+
+ struct struct_dead_pool {
+ pool_ent *entries; /* Points to array of pool entries */
+- int n_entries; /* Number of entries in the deadpool */
++ unsigned int n_entries; /* Number of entries in the deadpool */
+ unsigned int deadrange_base; /* Deadrange start IP in host byte order */
+ unsigned int deadrange_mask; /* Deadrange netmask in host byte order */
+ unsigned int deadrange_size; /* Number of IPs in the deadrange */
+@@ -29,7 +29,7 @@
+
+ typedef struct struct_dead_pool dead_pool;
+
+-dead_pool *init_pool(int deadpool_size, struct in_addr deadrange_base,
++dead_pool *init_pool(unsigned int deadpool_size, struct in_addr deadrange_base,
+ struct in_addr deadrange_mask, char *sockshost, uint16_t socksport);
+ int is_dead_address(dead_pool *pool, uint32_t addr);
+ char *get_pool_entry(dead_pool *pool, struct in_addr *addr);
+Only in /home/robert/Development/tork/src/tsocks/: dead_pool.lo
+Only in /home/robert/Development/tork/src/tsocks/: getpeername.patch
+Only in /home/robert/Development/tork/src/tsocks/: infiniteloop.patch
+diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/inspectsocks.c /home/robert/Development/tork/src/tsocks/inspectsocks.c
+--- /backup/robert/Development/torsocks/inspectsocks.c 2008-06-15 10:43:02.000000000 +0100
++++ /home/robert/Development/tork/src/tsocks/inspectsocks.c 2008-04-05 22:36:40.000000000 +0100
+@@ -23,11 +23,11 @@
+ */
+
+ /* Global configuration variables */
+-char *progname = "inspectsocks"; /* Name for error msgs */
++const char *progname = "inspectsocks"; /* Name for error msgs */
+ int defaultport = 1080; /* Default SOCKS port */
+
+ /* Header Files */
+-#include <config.h>
++#include <config.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+@@ -35,6 +35,7 @@
+ #include <sys/socket.h>
+ #include <string.h>
+ #include <strings.h>
++#include <sys/types.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <errno.h>
+@@ -44,7 +45,7 @@
+ int reqlen, void *rep, int replen);
+
+ int main(int argc, char *argv[]) {
+- char *usage = "Usage: <socks server name/ip> [portno]";
++ const char *usage = "Usage: <socks server name/ip> [portno]";
+ char req[9];
+ char resp[100];
+ unsigned short int portno = defaultport;
+@@ -68,7 +69,7 @@
+ }
+ case 2:
+ if ((server.sin_addr.s_addr = resolve_ip(argv[1], 1,HOSTNAMES))
+- == -1) {
++ == 0) {
+ show_msg(MSGERR, "Invalid IP/host specified (%s)\n", argv[1]);
+ show_msg(MSGERR, "%s\n", usage);
+ exit(1);
+Only in /home/robert/Development/tork/src/tsocks/: inspectsocks.c~
+Only in /home/robert/Development/tork/src/tsocks/: libtorksocks.la
+diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/parser.c /home/robert/Development/tork/src/tsocks/parser.c
+--- /backup/robert/Development/torsocks/parser.c 2008-06-15 10:43:02.000000000 +0100
++++ /home/robert/Development/tork/src/tsocks/parser.c 2008-04-05 22:25:54.000000000 +0100
+@@ -12,7 +12,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <errno.h>
+-#include <config.h>
++#include <config.h>
+ #include "common.h"
+ #include "parser.h"
+
+@@ -24,15 +24,15 @@
+ static int check_server(struct serverent *);
+ static int tokenize(char *, int, char *[]);
+ static int handle_path(struct parsedfile *, int, int, char *[]);
+-static int handle_endpath(struct parsedfile *, int, int, char *[]);
+-static int handle_reaches(struct parsedfile *, int, char *);
++static int handle_endpath(struct parsedfile *, int, int);
++static int handle_reaches(int, char *);
+ static int handle_server(struct parsedfile *, int, char *);
+ static int handle_type(struct parsedfile *config, int, char *);
+ static int handle_port(struct parsedfile *config, int, char *);
+-static int handle_local(struct parsedfile *, int, char *);
++static int handle_local(struct parsedfile *, int, const char *);
+ static int handle_tordns_enabled(struct parsedfile *, int, char *);
+-static int handle_tordns_deadpool_range(struct parsedfile *, int, char *);
+-static int handle_tordns_cache_size(struct parsedfile *, int, char *);
++static int handle_tordns_deadpool_range(struct parsedfile *, int, const char *);
++static int handle_tordns_cache_size(struct parsedfile *, char *);
+ static int handle_defuser(struct parsedfile *, int, char *);
+ static int handle_defpass(struct parsedfile *, int, char *);
+ static int make_netent(char *value, struct netent **ent);
+@@ -54,6 +54,7 @@
+ config->tordns_cache_size = 256;
+ config->tordns_enabled = 1;
+
++
+ /* If a filename wasn't provided, use the default */
+ if (filename == NULL) {
+ strncpy(line, CONF_FILE, sizeof(line) - 1);
+@@ -62,15 +63,19 @@
+ filename = line;
+ }
+
+- /* Read the configuration file */
++ /* If there is no configuration file use reasonable defaults for Tor */
+ if ((conf = fopen(filename, "r")) == NULL) {
+ show_msg(MSGERR, "Could not open socks configuration file "
+ "(%s), assuming all networks local\n", filename);
+- handle_local(config, 0, "0.0.0.0/0.0.0.0");
++ memset(&(config->defaultserver), 0x0, sizeof(config->defaultserver));
++ check_server(&(config->defaultserver));
++ handle_local(config, 0, "127.0.0.0/255.0.0.0");
++/* handle_local(config, 0, "0.0.0.0/0.0.0.0");*/
+ rc = 1; /* Severe errors reading configuration */
+ }
+ else {
+- memset(&(config->defaultserver), 0x0, sizeof(config->defaultserver));
++
++ memset(&(config->defaultserver), 0x0, sizeof(config->defaultserver));
+
+ while (NULL != fgets(line, MAXLINE, conf)) {
+ /* This line _SHOULD_ end in \n so we */
+@@ -82,11 +87,8 @@
+ }
+ fclose(conf);
+
+- if (!config->localnets) {
+- /* Use 127.0.0.1/255.0.0.0 by default */
+- handle_local(config, 0, "127.0.0.0/255.0.0.0");
+- }
+-
++ /* Always add the 127.0.0.1/255.0.0.0 subnet to local */
++ handle_local(config, 0, "127.0.0.0/255.0.0.0");
+
+ /* Check default server */
+ check_server(&(config->defaultserver));
+@@ -108,9 +110,14 @@
+ /* Check server entries (and establish defaults) */
+ static int check_server(struct serverent *server) {
+
+- /* Default to the default SOCKS port */
++ /* Default to the default Tor Socks port */
+ if (server->port == 0) {
+- server->port = 1080;
++ server->port = 9050;
++ }
++
++ /* Default to a presumably local installation of Tor */
++ if (server->address == NULL) {
++ server->address = strdup("127.0.0.1");
+ }
+
+ /* Default to SOCKS V4 */
+@@ -137,7 +144,7 @@
+ /* Set the spare slots to an empty string to simplify */
+ /* processing */
+ for (i = nowords; i < 10; i++)
+- words[i] = "";
++ words[i] = NULL;
+
+ if (nowords > 0) {
+ /* Now this can either be a "path" block starter or */
+@@ -146,7 +153,7 @@
+ if (!strcmp(words[0], "path")) {
+ handle_path(config, lineno, nowords, words);
+ } else if (!strcmp(words[0], "}")) {
+- handle_endpath(config, lineno, nowords, words);
++ handle_endpath(config, lineno, nowords);
+ } else {
+ /* Has to be a pair */
+ if ((nowords != 3) || (strcmp(words[1], "="))) {
+@@ -154,7 +161,7 @@
+ "on line %d in configuration "
+ "file, \"%s\"\n", lineno, savedline);
+ } else if (!strcmp(words[0], "reaches")) {
+- handle_reaches(config, lineno, words[2]);
++ handle_reaches(lineno, words[2]);
+ } else if (!strcmp(words[0], "server")) {
+ handle_server(config, lineno, words[2]);
+ } else if (!strcmp(words[0], "server_port")) {
+@@ -172,7 +179,7 @@
+ } else if (!strcmp(words[0], "tordns_deadpool_range")) {
+ handle_tordns_deadpool_range(config, lineno, words[2]);
+ } else if (!strcmp(words[0], "tordns_cache_size")) {
+- handle_tordns_cache_size(config, lineno, words[2]);
++ handle_tordns_cache_size(config, words[2]);
+ } else {
+ show_msg(MSGERR, "Invalid pair type (%s) specified "
+ "on line %d in configuration file, "
+@@ -244,7 +251,7 @@
+ return(0);
+ }
+
+-static int handle_endpath(struct parsedfile *config, int lineno, int nowords, char *words[]) {
++static int handle_endpath(struct parsedfile *config, int lineno, int nowords) {
+
+ if (nowords != 1) {
+ show_msg(MSGERR, "Badly formed path close statement on line "
+@@ -261,7 +268,7 @@
+ return(0);
+ }
+
+-static int handle_reaches(struct parsedfile *config, int lineno, char *value) {
++static int handle_reaches(int lineno, char *value) {
+ int rc;
+ struct netent *ent;
+
+@@ -465,7 +472,7 @@
+ return 0;
+ }
+
+-static int handle_tordns_cache_size(struct parsedfile *config, int lineno,
++static int handle_tordns_cache_size(struct parsedfile *config,
+ char *value)
+ {
+ char *endptr;
+@@ -489,7 +496,7 @@
+ }
+
+ static int handle_tordns_deadpool_range(struct parsedfile *config, int lineno,
+- char *value)
++ const char *value)
+ {
+ int rc;
+ struct netent *ent;
+@@ -508,7 +515,7 @@
+ return(0);
+ }
+
+- rc = make_netent(value, &ent);
++ rc = make_netent((char *)value, &ent);
+ /* This is copied from handle_local and should probably be folded into
+ a generic whinge() function or something */
+ switch(rc) {
+@@ -559,7 +566,7 @@
+ return 0;
+ }
+
+-static int handle_local(struct parsedfile *config, int lineno, char *value) {
++static int handle_local(struct parsedfile *config, int lineno, const char *value) {
+ int rc;
+ struct netent *ent;
+
+@@ -571,7 +578,7 @@
+ return(0);
+ }
+
+- rc = make_netent(value, &ent);
++ rc = make_netent((char *)value, &ent);
+ switch(rc) {
+ case 1:
+ show_msg(MSGERR, "Local network specification (%s) is not validly "
+@@ -777,7 +784,7 @@
+ /* standard strsep and this function is that this one will */
+ /* set *separator to the character separator found if it isn't null */
+ char *strsplit(char *separator, char **text, const char *search) {
+- int len;
++ unsigned int len;
+ char *ret;
+
+ ret = *text;
+Only in /home/robert/Development/tork/src/tsocks/: parser.c~
+diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/parser.h /home/robert/Development/tork/src/tsocks/parser.h
+--- /backup/robert/Development/torsocks/parser.h 2008-06-15 10:43:02.000000000 +0100
++++ /home/robert/Development/tork/src/tsocks/parser.h 2007-11-02 21:00:20.000000000 +0000
+@@ -35,7 +35,7 @@
+ struct serverent *paths;
+ int tordns_enabled;
+ int tordns_failopen;
+- int tordns_cache_size;
++ unsigned int tordns_cache_size;
+ struct netent *tordns_deadpool_range;
+ };
+
+Only in /home/robert/Development/tork/src/tsocks/: parser.lo
+Only in /home/robert/Development/tork/src/tsocks/: soname.diff
+Only in /home/robert/Development/tork/src/tsocks/: stamp-h2
+Only in /home/robert/Development/tork/src/tsocks/: tork-tsocks.conf
+Only in /home/robert/Development/tork/src/tsocks/: torkify
+Only in /home/robert/Development/tork/src/tsocks/: torkify.1
+Only in /home/robert/Development/tork/src/tsocks/: torkify.in
+Only in /backup/robert/Development/torsocks: torksock.diff
+Only in /home/robert/Development/tork/src/tsocks/: torksocks
+Only in /home/robert/Development/tork/src/tsocks/: torksocks.1
+Only in /home/robert/Development/tork/src/tsocks/: torksocks.8
+Only in /home/robert/Development/tork/src/tsocks/: torksocks.announce
+Only in /home/robert/Development/tork/src/tsocks/: torksocks.conf.5
+Only in /backup/robert/Development/torsocks: torksocks.diff
+Only in /home/robert/Development/tork/src/tsocks/: torksocks.in
+Only in /home/robert/Development/tork/src/tsocks/: torksocks.in~
+Only in /backup/robert/Development/torsocks: torksocks2.diff
+Only in /backup/robert/Development/torsocks: torksockscols.diff
+Only in /backup/robert/Development/torsocks: tsocks
+Only in /backup/robert/Development/torsocks: tsocks.1
+Only in /backup/robert/Development/torsocks: tsocks.8
+Only in /backup/robert/Development/torsocks: tsocks.announce
+diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/tsocks.c /home/robert/Development/tork/src/tsocks/tsocks.c
+--- /backup/robert/Development/torsocks/tsocks.c 2008-06-15 10:43:01.000000000 +0100
++++ /home/robert/Development/tork/src/tsocks/tsocks.c 2008-06-14 20:11:26.000000000 +0100
+@@ -21,14 +21,14 @@
+ */
+
+ /* PreProcessor Defines */
+-#include <config.h>
++#include <config.h>
+
+ #ifdef USE_GNU_SOURCE
+ #define _GNU_SOURCE
+ #endif
+
+ /* Global configuration variables */
+-char *progname = "libtsocks"; /* Name used in err msgs */
++const char *progname = "libtsocks"; /* Name used in err msgs */
+
+ /* Header Files */
+ #include <stdio.h>
+@@ -39,6 +39,7 @@
+ #include <sys/socket.h>
+ #include <string.h>
+ #include <strings.h>
++#include <sys/types.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <sys/poll.h>
+@@ -76,7 +77,7 @@
+ static char *conffile = NULL;
+
+ /* Exported Function Prototypes */
+-void _init(void);
++void __attribute__ ((constructor)) tsocks_init(void);
+ int connect(CONNECT_SIGNATURE);
+ int select(SELECT_SIGNATURE);
+ int poll(POLL_SIGNATURE);
+@@ -114,11 +115,11 @@
+ static int read_socksv5_connect(struct connreq *conn);
+ static int read_socksv5_auth(struct connreq *conn);
+ #ifdef USE_TOR_DNS
+-static int deadpool_init();
++static int deadpool_init(void);
+ static int send_socksv4a_request(struct connreq *conn, const char *onion_host);
+ #endif
+
+-void _init(void) {
++void tsocks_init(void) {
+ #ifdef USE_OLD_DLSYM
+ void *lib;
+ #endif
+@@ -139,50 +140,49 @@
+ #ifdef USE_SOCKS_DNS
+ realresinit = dlsym(RTLD_NEXT, "res_init");
+ #endif
+- #ifdef USE_TOR_DNS
+- realgethostbyname = dlsym(RTLD_NEXT, "gethostbyname");
+- realgetaddrinfo = dlsym(RTLD_NEXT, "getaddrinfo");
+- realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
+- #endif
++ #ifdef USE_TOR_DNS
++ realgethostbyname = dlsym(RTLD_NEXT, "gethostbyname");
++ realgetaddrinfo = dlsym(RTLD_NEXT, "getaddrinfo");
++ realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
++ #endif
+ #else
+ lib = dlopen(LIBCONNECT, RTLD_LAZY);
+ realconnect = dlsym(lib, "connect");
+ realselect = dlsym(lib, "select");
+ realpoll = dlsym(lib, "poll");
+- realgetpeername = dlsym(lib, "getpeername");
+ #ifdef USE_SOCKS_DNS
+ realresinit = dlsym(lib, "res_init");
+ #endif
+- #ifdef USE_TOR_DNS
+- realgethostbyname = dlsym(lib, "gethostbyname");
+- realgetaddrinfo = dlsym(lib, "getaddrinfo");
+- realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
+- #endif
+- dlclose(lib);
++ #ifdef USE_TOR_DNS
++ realgethostbyname = dlsym(lib, "gethostbyname");
++ realgetaddrinfo = dlsym(lib, "getaddrinfo");
++ realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
++ #endif
++ dlclose(lib);
+ lib = dlopen(LIBC, RTLD_LAZY);
+ realclose = dlsym(lib, "close");
+- dlclose(lib);
++ dlclose(lib);
+ #endif
+ #ifdef USE_TOR_DNS
+- /* Unfortunately, we can't do this lazily because otherwise our mmap'd
+- area won't be shared across fork()s. */
+- deadpool_init();
+-#endif
+-
++ /* Unfortunately, we can't do this lazily because otherwise our mmap'd
++ area won't be shared across fork()s. */
++ deadpool_init();
++#endif
+ }
+
+ static int get_environment() {
+ static int done = 0;
++#ifdef ALLOW_MSG_OUTPUT
+ int loglevel = MSGERR;
+ char *logfile = NULL;
+ char *env;
+-
++#endif
+ if (done)
+ return(0);
+
+ /* Determine the logging level */
+ #ifndef ALLOW_MSG_OUTPUT
+- set_log_options(-1, stderr, 0);
++ set_log_options(-1, (char *)stderr, 0);
+ #else
+ if ((env = getenv("TSOCKS_DEBUG")))
+ loglevel = atoi(env);
+@@ -212,7 +212,7 @@
+ config = malloc(sizeof(*config));
+ if (!config)
+ return(0);
+- read_config(conffile, config);
++ read_config(conffile, config);
+ if (config->paths)
+ show_msg(MSGDEBUG, "First lineno for first path is %d\n", config->paths->lineno);
+
+@@ -222,14 +222,15 @@
+ }
+
+ int connect(CONNECT_SIGNATURE) {
+- struct sockaddr_in *connaddr;
+- struct sockaddr_in peer_address;
+- struct sockaddr_in server_address;
+- int gotvalidserver = 0, rc, namelen = sizeof(peer_address);
+- int sock_type = -1;
+- int sock_type_len = sizeof(sock_type);
+- unsigned int res = -1;
+- struct serverent *path;
++ struct sockaddr_in *connaddr;
++ struct sockaddr_in peer_address;
++ struct sockaddr_in server_address;
++ int gotvalidserver = 0, rc;
++ unsigned int namelen = sizeof(peer_address);
++ int sock_type = -1;
++ unsigned int sock_type_len = sizeof(sock_type);
++ int res = -1;
++ struct serverent *path;
+ struct connreq *newconn;
+
+ get_environment();
+@@ -248,6 +249,14 @@
+ getsockopt(__fd, SOL_SOCKET, SO_TYPE,
+ (void *) &sock_type, &sock_type_len);
+
++ show_msg(MSGDEBUG, "sin_family: %i "
++ "\n",
++ connaddr->sin_family);
++
++ show_msg(MSGDEBUG, "sockopt: %i "
++ "\n",
++ sock_type);
++
+ /* If this isn't an INET socket for a TCP stream we can't */
+ /* handle it, just call the real connect now */
+ if ((connaddr->sin_family != AF_INET) ||
+@@ -564,7 +573,8 @@
+
+ int poll(POLL_SIGNATURE) {
+ int nevents = 0;
+- int rc = 0, i;
++ int rc = 0;
++ unsigned int i;
+ int setevents = 0;
+ int monitoring = 0;
+ struct connreq *conn, *nextconn;
+@@ -1354,7 +1364,7 @@
+ #endif
+
+ #ifdef USE_TOR_DNS
+-static int deadpool_init()
++static int deadpool_init(void)
+ {
+ if(!pool) {
+ get_environment();
+Only in /home/robert/Development/tork/src/tsocks/: tsocks.c.rej
+Only in /backup/robert/Development/torsocks: tsocks.conf.5
+Only in /home/robert/Development/tork/src/tsocks/: tsocks.c~
+diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/tsocks.h /home/robert/Development/tork/src/tsocks/tsocks.h
+--- /backup/robert/Development/torsocks/tsocks.h 2008-06-15 10:43:01.000000000 +0100
++++ /home/robert/Development/tork/src/tsocks/tsocks.h 2007-11-02 20:35:02.000000000 +0000
+@@ -50,8 +50,8 @@
+ int selectevents;
+
+ /* Buffer for sending and receiving on the socket */
+- int datalen;
+- int datadone;
++ unsigned int datalen;
++ unsigned int datadone;
+ char buffer[2048];
+
+ struct connreq *next;
+Only in /backup/robert/Development/torsocks: tsocks.kdevelop
+Only in /backup/robert/Development/torsocks: tsocks.kdevelop.pcs
+Only in /backup/robert/Development/torsocks: tsocks.kdevses
+Only in /home/robert/Development/tork/src/tsocks/: tsocks.lo
+diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/validateconf.c /home/robert/Development/tork/src/tsocks/validateconf.c
+--- /backup/robert/Development/torsocks/validateconf.c 2008-06-15 10:43:01.000000000 +0100
++++ /home/robert/Development/tork/src/tsocks/validateconf.c 2008-04-05 22:36:40.000000000 +0100
+@@ -23,16 +23,17 @@
+ */
+
+ /* Global configuration variables */
+-char *progname = "validateconf"; /* Name for error msgs */
++const char *progname = "validateconf"; /* Name for error msgs */
+
+ /* Header Files */
+-#include <config.h>
++#include <config.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <string.h>
++#include <sys/types.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <errno.h>
+@@ -44,7 +45,7 @@
+ void test_host(struct parsedfile *config, char *);
+
+ int main(int argc, char *argv[]) {
+- char *usage = "Usage: [-f conf file] [-t hostname/ip[:port]]";
++ const char *usage = "Usage: [-f conf file] [-t hostname/ip[:port]]";
+ char *filename = NULL;
+ char *testhost = NULL;
+ struct parsedfile config;
+@@ -103,7 +104,7 @@
+ }
+
+ /* First resolve the host to an ip */
+- if ((hostaddr.s_addr = resolve_ip(hostname, 0, 1)) == -1) {
++ if ((hostaddr.s_addr = resolve_ip(hostname, 0, 1)) == 0) {
+ fprintf(stderr, "Error: Cannot resolve %s\n", host);
+ return;
+ } else {
+@@ -187,13 +188,13 @@
+ if (server->address != NULL)
+ printf("Server: %s (%s)\n", server->address,
+ ((res.s_addr = resolve_ip(server->address, 0,
+- HOSTNAMES)) == -1
++ HOSTNAMES)) == 0
+ ? "Invalid!" : inet_ntoa(res)));
+ else
+ printf("Server: ERROR! None specified\n");
+
+ /* Check the server is on a local net */
+- if ((server->address != NULL) && (res.s_addr != -1) &&
++ if ((server->address != NULL) && (res.s_addr != 0) &&
+ (is_local(config, &res)))
+ fprintf(stderr, "Error: Server is not on a network "
+ "specified as local\n");
+Only in /home/robert/Development/tork/src/tsocks/: validateconf.c~
diff --git a/doc/patches/conffile.patch b/doc/patches/conffile.patch
new file mode 100644
index 0000000..1dd6491
--- /dev/null
+++ b/doc/patches/conffile.patch
@@ -0,0 +1,11 @@
+--- tsocks.8.~1~ 2002-03-16 05:20:51.000000000 -0500
++++ tsocks.8 2005-06-03 08:37:39.000000000 -0400
+@@ -59,7 +59,7 @@
+ variables as follows:
+
+ .TP
+-.I TSOCKS_CONFFILE
++.I TSOCKS_CONF_FILE
+ This environment variable overrides the default location of the tsocks
+ configuration file. This variable is not honored if the program tsocks
+ is embedded in is setuid. In addition this environment variable can
diff --git a/doc/patches/getaddrbyhost.patch b/doc/patches/getaddrbyhost.patch
new file mode 100644
index 0000000..29b2234
--- /dev/null
+++ b/doc/patches/getaddrbyhost.patch
@@ -0,0 +1,696 @@
+Index: common.c
+===================================================================
+RCS file: /cvsroot/tork/torsocks/common.c,v
+retrieving revision 1.2
+diff -p -U3 -r1.2 common.c
+--- common.c 15 Jun 2008 10:01:03 -0000 1.2
++++ common.c 18 Jun 2008 21:21:34 -0000
+@@ -26,6 +26,52 @@ char logfilename[256]; /* Name of fil
+ FILE *logfile = NULL; /* File to which messages should be logged */
+ int logstamp = 0; /* Timestamp (and pid stamp) messages */
+
++
++/**
++ * Read a 16-bit value beginning at <b>cp</b>. Equivalent to
++ * *(uint16_t*)(cp), but will not cause segfaults on platforms that forbid
++ * unaligned memory access.
++ */
++uint16_t
++get_uint16(const char *cp)
++{
++ uint16_t v;
++ memcpy(&v,cp,2);
++ return v;
++}
++/**
++ * Read a 32-bit value beginning at <b>cp</b>. Equivalent to
++ * *(uint32_t*)(cp), but will not cause segfaults on platforms that forbid
++ * unaligned memory access.
++ */
++uint32_t
++get_uint32(const char *cp)
++{
++ uint32_t v;
++ memcpy(&v,cp,4);
++ return v;
++}
++/**
++ * Set a 16-bit value beginning at <b>cp</b> to <b>v</b>. Equivalent to
++ * *(uint16_t)(cp) = v, but will not cause segfaults on platforms that forbid
++ * unaligned memory access. */
++void
++set_uint16(char *cp, uint16_t v)
++{
++ memcpy(cp,&v,2);
++}
++/**
++ * Set a 32-bit value beginning at <b>cp</b> to <b>v</b>. Equivalent to
++ * *(uint32_t)(cp) = v, but will not cause segfaults on platforms that forbid
++ * unaligned memory access. */
++void
++set_uint32(char *cp, uint32_t v)
++{
++ memcpy(cp,&v,4);
++}
++
++
++
+ unsigned int resolve_ip(char *host, int showmsg, int allownames) {
+ struct hostent *new;
+ unsigned int hostaddr;
+Index: dead_pool.c
+===================================================================
+RCS file: /cvsroot/tork/torsocks/dead_pool.c,v
+retrieving revision 1.2
+diff -p -U3 -r1.2 dead_pool.c
+--- dead_pool.c 15 Jun 2008 10:02:41 -0000 1.2
++++ dead_pool.c 18 Jun 2008 21:21:35 -0000
+@@ -15,7 +15,8 @@ void get_next_dead_address(dead_pool *po
+
+ static int
+ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
+- uint32_t *result_addr);
++ uint32_t *result_addr, const void *addr,
++ int version, int reverse, char **result_hostname);
+
+ /* Compares the last strlen(s2) characters of s1 with s2. Returns as for
+ strcasecmp. */
+@@ -77,6 +78,8 @@ init_pool(unsigned int pool_size, struct
+ return NULL;
+ }
+
++ show_msg(MSGWARN, "init_pool: sockshost %s ", sockshost);
++
+ /* Initialize the dead_pool structure */
+ #ifdef HAVE_INET_ATON
+ inet_aton(sockshost, &socks_server);
+@@ -139,6 +142,7 @@ store_pool_entry(dead_pool *pool, char *
+ int oldpos;
+ int rc;
+ uint32_t intaddr;
++ char *result_hostname;
+
+ show_msg(MSGDEBUG, "store_pool_entry: storing '%s'\n", hostname);
+ show_msg(MSGDEBUG, "store_pool_entry: write pos is: %d\n", pool->write_pos);
+@@ -156,7 +160,9 @@ store_pool_entry(dead_pool *pool, char *
+ if(strcasecmpend(hostname, ".onion") == 0) {
+ get_next_dead_address(pool, &pool->entries[position].ip);
+ } else {
+- rc = do_resolve(hostname, pool->sockshost, pool->socksport, &intaddr);
++ rc = do_resolve(hostname, pool->sockshost, pool->socksport, &intaddr, 0,
++ 4 /*SOCKS5*/, 0 /*Reverse*/, &result_hostname);
++
+ if(rc != 0) {
+ show_msg(MSGWARN, "failed to resolve: %s\n", hostname);
+ return -1;
+@@ -237,7 +243,32 @@ build_socks4a_resolve_request(char **out
+ return len;
+ }
+
++static int
++build_socks5_resolve_ptr_request(char **out, const void *_addr)
++{
++ size_t len;
++ const struct in_addr *addr=_addr;
++
++ len = 12;
++ *out = malloc(len);
++ (*out)[0] = 5; /* SOCKS version 5 */
++ (*out)[1] = '\xF1'; /* Command: reverse resolve.
++ see doc/socks-extensions.txt*/
++ (*out)[2] = '\x00'; /* RSV */
++ (*out)[3] = '\x01'; /* ATYP: IP V4 address: X'01' */
++
++ set_uint32((*out)+4, addr->s_addr);/*IP*/
++ set_uint16((*out)+4+4, 0); /* port */
++
++// memcpy((*out)+4, &addr.s_addr,4); /*IP*/
++// memcpy((*out)+4+4, *(uint32_t)0, 2); /* port */
++
++ return len;
++}
++
+ #define RESPONSE_LEN 8
++#define SOCKS5_LEN 4
++#define METHODRESPONSE_LEN 2
+
+ static int
+ parse_socks4a_resolve_response(const char *response, size_t len,
+@@ -272,43 +303,188 @@ parse_socks4a_resolve_response(const cha
+ }
+
+ static int
++parse_socks5_resolve_ptr_response(int s,const char *response, size_t len,
++ uint32_t *result_addr, char ***result_hostname)
++{
++ char reply_buf[4];
++ int r;
++
++ len=0;
++ while (len < SOCKS5_LEN) {
++ r = recv(s, reply_buf+len, SOCKS5_LEN-len, 0);
++ if (r==0) {
++ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS5 response\n");
++ return -1;
++ }
++ if (r<0) {
++ show_msg(MSGWARN, "do_resolve: error reading SOCKS5 response\n");
++ return -1;
++ }
++ len += r;
++ }
++
++ if (reply_buf[0] != 5) {
++ show_msg(MSGWARN, "Bad SOCKS5 reply version.");
++ return -1;
++ }
++ if (reply_buf[1] != 0) {
++ show_msg(MSGWARN,"Got status response '%u': SOCKS5 request failed.",
++ (unsigned)reply_buf[1]);
++ return -1;
++ }
++ if (reply_buf[3] == 1) {
++ /* IPv4 address */
++ len=0;
++ while (len < SOCKS5_LEN) {
++ r = recv(s, reply_buf+len, SOCKS5_LEN-len, 0);
++ if (r==0) {
++ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS5 response\n");
++ return -1;
++ }
++ if (r<0) {
++ show_msg(MSGWARN, "do_resolve: error reading address in SOCKS5 response\n");
++ return -1;
++ }
++ len += r;
++ }
++ *result_addr = ntohl(get_uint32(reply_buf));
++ } else if (reply_buf[3] == 3) {
++ size_t result_len;
++ len=0;
++ while (len < 1) {
++ r = recv(s, reply_buf+len, 1-len, 0);
++ if (r==0) {
++ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS5 response\n");
++ return -1;
++ }
++ if (r<0) {
++ show_msg(MSGWARN, "do_resolve: error reading address length in SOCKS5 response\n");
++ return -1;
++ }
++ len += r;
++ }
++ result_len = *(uint8_t*)(reply_buf);
++ **result_hostname = malloc(result_len+1);
++ len=0;
++ while (len < (int) result_len) {
++ r = recv(s, **result_hostname+len, result_len-len, 0);
++ if (r==0) {
++ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS5 response\n");
++ return -1;
++ }
++ if (r<0) {
++ show_msg(MSGWARN, "do_resolve: error reading hostname in SOCKS5 response\n");
++ return -1;
++ }
++ len += r;
++ }
++
++ (**result_hostname)[result_len] = '\0';
++ }
++
++ return 0;
++}
++
++static int
+ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
+- uint32_t *result_addr)
++ uint32_t *result_addr, const void *addr,
++ int version, int reverse, char **result_hostname)
+ {
+ int s;
+ struct sockaddr_in socksaddr;
+- char *req, *cp;
+- int r, len;
++ char *req, *cp=NULL;
++ int r, len, hslen;
+ char response_buf[RESPONSE_LEN];
++ const char *handshake="\x05\x01\x00";
+
+ show_msg(MSGDEBUG, "do_resolve: resolving %s\n", hostname);
+
++ /* Create SOCKS connection */
+ s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
+ if (s<0) {
+ show_msg(MSGWARN, "do_resolve: problem creating socket\n");
+ return -1;
+ }
+
++ /* Connect to SOCKS server */
+ memset(&socksaddr, 0, sizeof(socksaddr));
+ socksaddr.sin_family = AF_INET;
+ socksaddr.sin_port = htons(socksport);
+ socksaddr.sin_addr.s_addr = htonl(sockshost);
+ if (realconnect(s, (struct sockaddr*)&socksaddr, sizeof(socksaddr))) {
+ show_msg(MSGWARN, "do_resolve: error connecting to SOCKS server\n");
++ realclose(s);
+ return -1;
+ }
+
+- if ((len = build_socks4a_resolve_request(&req, "", hostname))<0) {
+- show_msg(MSGWARN, "do_resolve: error generating SOCKS request\n");
+- return -1;
++ /* If a SOCKS5 connection, perform handshake */
++ if (version == 5) {
++ char method_buf[2];
++ hslen=3;
++ while (hslen) {
++ r = send(s, handshake, hslen, 0);
++ if (r<0) {
++ show_msg(MSGWARN, "do_resolve: error sending SOCKS5 method list.\n");
++ realclose(s);
++ return -1;
++ }
++ hslen -= r;
++ handshake += r;
++ }
++
++ len = 0;
++ while (len < METHODRESPONSE_LEN) {
++ r = recv(s, method_buf+len, METHODRESPONSE_LEN-len, 0);
++ if (r==0) {
++ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS response\n");
++ realclose(s);
++ return -1;
++ }
++ if (r<0) {
++ show_msg(MSGWARN, "do_resolve: error reading SOCKS response\n");
++ realclose(s);
++ return -1;
++ }
++ len += r;
++ }
++
++ if (method_buf[0] != '\x05') {
++ show_msg(MSGWARN, "Unrecognized socks version: %u",
++ (unsigned)method_buf[0]);
++ realclose(s);
++ return -1;
++ }
++ if (method_buf[1] != '\x00') {
++ show_msg(MSGWARN, "Unrecognized socks authentication method: %u",
++ (unsigned)method_buf[1]);
++ realclose(s);
++ return -1;
++ }
++ }
++
++ /* Create SOCKS request */
++ if (reverse) {
++ if ((len = build_socks5_resolve_ptr_request(&req, addr))<0) {
++ show_msg(MSGWARN, "do_resolve: error generating reverse SOCKS request\n");
++ realclose(s);
++ return -1;
++ }
++ }else{
++ if ((len = build_socks4a_resolve_request(&req, "", hostname))<0) {
++ show_msg(MSGWARN, "do_resolve: error generating SOCKS request\n");
++ realclose(s);
++ return -1;
++ }
+ }
+
++ /* Send SOCKS request */
+ cp = req;
+ while (len) {
+ r = send(s, cp, len, 0);
+ if (r<0) {
+ show_msg(MSGWARN, "do_resolve: error sending SOCKS request\n");
+ free(req);
++ realclose(s);
+ return -1;
+ }
+ len -= r;
+@@ -316,26 +492,40 @@ do_resolve(const char *hostname, uint32_
+ }
+ free(req);
+
+- len = 0;
+- while (len < RESPONSE_LEN) {
+- r = recv(s, response_buf+len, RESPONSE_LEN-len, 0);
+- if (r==0) {
+- show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS response\n");
++ /* Handle SOCKS Response */
++ if (reverse) {
++ if (parse_socks5_resolve_ptr_response(s, response_buf, RESPONSE_LEN,
++ result_addr, &result_hostname) < 0){
++ show_msg(MSGWARN, "do_resolve: error parsing SOCKS response\n");
++ realclose(s);
+ return -1;
+ }
+- if (r<0) {
+- show_msg(MSGWARN, "do_resolve: error reading SOCKS response\n");
++ }else{
++ /* Process SOCKS response */
++ len = 0;
++ while (len < RESPONSE_LEN) {
++ r = recv(s, response_buf+len, RESPONSE_LEN-len, 0);
++ if (r==0) {
++ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS response\n");
++ realclose(s);
++ return -1;
++ }
++ if (r<0) {
++ show_msg(MSGWARN, "do_resolve: error reading SOCKS response\n");
++ realclose(s);
++ return -1;
++ }
++ len += r;
++ }
++ realclose(s);
++
++ /* Parse SOCKS response */
++ if (parse_socks4a_resolve_response(response_buf, RESPONSE_LEN, result_addr) < 0){
++ show_msg(MSGWARN, "do_resolve: error parsing SOCKS response\n");
+ return -1;
+ }
+- len += r;
+ }
+
+- realclose(s);
+-
+- if (parse_socks4a_resolve_response(response_buf, RESPONSE_LEN, result_addr) < 0){
+- show_msg(MSGWARN, "do_resolve: error parsing SOCKS response\n");
+- return -1;
+- }
+
+ show_msg(MSGDEBUG, "do_resolve: success\n");
+
+@@ -343,6 +533,53 @@ do_resolve(const char *hostname, uint32_
+ }
+
+ struct hostent *
++our_gethostbyaddr(dead_pool *pool, const void *_addr, socklen_t len, int type)
++{
++ const struct in_addr *addr=_addr;
++ static struct hostent he;
++ uint32_t intaddr=0;
++ char *result_hostname=NULL;
++ int rc=0;
++ static char *addrs[2];
++ static char *aliases[2];
++
++ rc = do_resolve("", pool->sockshost, pool->socksport, &intaddr, addr,
++ 5 /*SOCKS5*/, 1 /*Reverse*/, &result_hostname);
++
++
++ if(rc != 0) {
++ show_msg(MSGWARN, "failed to reverse resolve: %s\n",
++ inet_ntoa(*((struct in_addr *)addr)));
++ result_hostname=NULL;
++ addrs[0] = NULL;
++ addrs[1] = NULL;
++ }else{
++ addrs[0] = (char *)addr;
++ addrs[1] = NULL;
++ }
++
++ if (result_hostname)
++ he.h_name = result_hostname;
++ else
++ he.h_name = inet_ntoa(*((struct in_addr *)addr));
++
++// aliases = malloc(sizeof(char *));
++ aliases[0] = NULL;
++ aliases[1] = NULL;
++
++ he.h_aliases = aliases;
++ he.h_length = len;
++ he.h_addrtype = type;
++ he.h_addr_list = addrs;
++
++ show_msg(MSGDEBUG, "our_gethostbyaddr: resolved '%s' to: '%s'\n",
++ inet_ntoa(*((struct in_addr *)he.h_addr)), result_hostname);
++
++ return &he;
++
++}
++
++struct hostent *
+ our_gethostbyname(dead_pool *pool, const char *name)
+ {
+ int pos;
+Index: inspectsocks.c
+===================================================================
+RCS file: /cvsroot/tork/torsocks/inspectsocks.c,v
+retrieving revision 1.1.1.1
+diff -p -U3 -r1.1.1.1 inspectsocks.c
+--- inspectsocks.c 15 Jun 2008 09:43:02 -0000 1.1.1.1
++++ inspectsocks.c 18 Jun 2008 21:21:35 -0000
+@@ -23,7 +23,7 @@
+ */
+
+ /* Global configuration variables */
+-char *progname = "inspectsocks"; /* Name for error msgs */
++const char *progname = "inspectsocks"; /* Name for error msgs */
+ int defaultport = 1080; /* Default SOCKS port */
+
+ /* Header Files */
+@@ -35,6 +35,7 @@ int defaultport = 1080; /* Default
+ #include <sys/socket.h>
+ #include <string.h>
+ #include <strings.h>
++#include <sys/types.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <errno.h>
+@@ -44,7 +45,7 @@ int send_request(struct sockaddr_in *ser
+ int reqlen, void *rep, int replen);
+
+ int main(int argc, char *argv[]) {
+- char *usage = "Usage: <socks server name/ip> [portno]";
++ const char *usage = "Usage: <socks server name/ip> [portno]";
+ char req[9];
+ char resp[100];
+ unsigned short int portno = defaultport;
+@@ -68,7 +69,7 @@ int main(int argc, char *argv[]) {
+ }
+ case 2:
+ if ((server.sin_addr.s_addr = resolve_ip(argv[1], 1,HOSTNAMES))
+- == -1) {
++ == 0) {
+ show_msg(MSGERR, "Invalid IP/host specified (%s)\n", argv[1]);
+ show_msg(MSGERR, "%s\n", usage);
+ exit(1);
+Index: tsocks.c
+===================================================================
+RCS file: /cvsroot/tork/torsocks/tsocks.c,v
+retrieving revision 1.2
+diff -p -U3 -r1.2 tsocks.c
+--- tsocks.c 15 Jun 2008 10:06:03 -0000 1.2
++++ tsocks.c 18 Jun 2008 21:21:37 -0000
+@@ -63,6 +63,7 @@ static int (*realresinit)(void);
+ #ifdef USE_TOR_DNS
+ static dead_pool *pool = NULL;
+ static struct hostent *(*realgethostbyname)(GETHOSTBYNAME_SIGNATURE);
++static struct hostent *(*realgethostbyaddr)(GETHOSTBYADDR_SIGNATURE);
+ int (*realgetaddrinfo)(GETADDRINFO_SIGNATURE);
+ static struct hostent *(*realgetipnodebyname)(GETIPNODEBYNAME_SIGNATURE);
+ #endif
+@@ -77,7 +78,7 @@ static int suid = 0;
+ static char *conffile = NULL;
+
+ /* Exported Function Prototypes */
+-void __attribute__ ((constructor)) tsocks_init(void);
++void __attribute__ ((constructor)) _init(void);
+ int connect(CONNECT_SIGNATURE);
+ int select(SELECT_SIGNATURE);
+ int poll(POLL_SIGNATURE);
+@@ -88,6 +89,7 @@ int res_init(void);
+ #endif
+ #ifdef USE_TOR_DNS
+ struct hostent *gethostbyname(GETHOSTBYNAME_SIGNATURE);
++struct hostent *gethostbyaddr(GETHOSTBYADDR_SIGNATURE);
+ int getaddrinfo(GETADDRINFO_SIGNATURE);
+ struct hostent *getipnodebyname(GETIPNODEBYNAME_SIGNATURE);
+ #endif
+@@ -119,11 +121,12 @@ static int deadpool_init(void);
+ static int send_socksv4a_request(struct connreq *conn, const char *onion_host);
+ #endif
+
+-void tsocks_init(void) {
++void _init(void) {
+ #ifdef USE_OLD_DLSYM
+ void *lib;
+ #endif
+
++ show_msg(MSGWARN, "In tsocks_init \n");
+ /* We could do all our initialization here, but to be honest */
+ /* most programs that are run won't use our services, so */
+ /* we do our general initialization on first call */
+@@ -142,6 +145,7 @@ void tsocks_init(void) {
+ #endif
+ #ifdef USE_TOR_DNS
+ realgethostbyname = dlsym(RTLD_NEXT, "gethostbyname");
++ //realgethostbyaddr = dlsym(RTLD_NEXT, "gethostbyaddr");
+ realgetaddrinfo = dlsym(RTLD_NEXT, "getaddrinfo");
+ realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
+ #endif
+@@ -155,6 +159,7 @@ void tsocks_init(void) {
+ #endif
+ #ifdef USE_TOR_DNS
+ realgethostbyname = dlsym(lib, "gethostbyname");
++ realgethostbyaddr = dlsym(lib, "gethostbyaddr");
+ realgetaddrinfo = dlsym(lib, "getaddrinfo");
+ realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
+ #endif
+@@ -1100,6 +1105,7 @@ static int send_socksv5_connect(struct c
+ conn->datalen = sizeof(constring);
+
+ #ifdef USE_TOR_DNS
++
+ show_msg(MSGDEBUG, "send_socksv5_connect: looking for: %s\n",
+ inet_ntoa(conn->connaddr.sin_addr));
+
+@@ -1394,6 +1400,15 @@ struct hostent *gethostbyname(GETHOSTBYN
+ }
+ }
+
++struct hostent *gethostbyaddr(GETHOSTBYADDR_SIGNATURE)
++{
++ if(pool) {
++ return our_gethostbyaddr(pool, addr, len, type);
++ } else {
++ return realgethostbyaddr(addr, len, type);
++ }
++}
++
+ int getaddrinfo(GETADDRINFO_SIGNATURE)
+ {
+ if(pool) {
+Index: common.h
+===================================================================
+RCS file: /cvsroot/tork/torsocks/common.h,v
+retrieving revision 1.2
+diff -p -U3 -r1.2 common.h
+--- common.h 15 Jun 2008 10:01:41 -0000 1.2
++++ common.h 18 Jun 2008 21:21:37 -0000
+@@ -1,4 +1,33 @@
+ /* Common functions provided in common.c */
++/* GCC has several useful attributes. */
++#if defined(__GNUC__) && __GNUC__ >= 3
++#define ATTR_NORETURN __attribute__((noreturn))
++#define ATTR_PURE __attribute__((pure))
++#define ATTR_CONST __attribute__((const))
++#define ATTR_MALLOC __attribute__((malloc))
++#define ATTR_NORETURN __attribute__((noreturn))
++#define ATTR_NONNULL(x) __attribute__((nonnull x))
++/** Macro: Evaluates to <b>exp</b> and hints the compiler that the value
++ * of <b>exp</b> will probably be true. */
++#define PREDICT_LIKELY(exp) __builtin_expect((exp), 1)
++/** Macro: Evaluates to <b>exp</b> and hints the compiler that the value
++ * of <b>exp</b> will probably be false. */
++#define PREDICT_UNLIKELY(exp) __builtin_expect((exp), 0)
++#else
++#define ATTR_NORETURN
++#define ATTR_PURE
++#define ATTR_CONST
++#define ATTR_MALLOC
++#define ATTR_NORETURN
++#define ATTR_NONNULL(x)
++#define PREDICT_LIKELY(exp) (exp)
++#define PREDICT_UNLIKELY(exp) (exp)
++#endif
++
++uint16_t get_uint16(const char *cp) ATTR_PURE ATTR_NONNULL((1));
++uint32_t get_uint32(const char *cp) ATTR_PURE ATTR_NONNULL((1));
++void set_uint16(char *cp, uint16_t v) ATTR_NONNULL((1));
++void set_uint32(char *cp, uint32_t v) ATTR_NONNULL((1));
+
+ void set_log_options(int, char *, int);
+ void show_msg(int level, const char *, ...);
+Index: dead_pool.h
+===================================================================
+RCS file: /cvsroot/tork/torsocks/dead_pool.h,v
+retrieving revision 1.2
+diff -p -U3 -r1.2 dead_pool.h
+--- dead_pool.h 15 Jun 2008 10:02:53 -0000 1.2
++++ dead_pool.h 18 Jun 2008 21:21:38 -0000
+@@ -35,6 +35,8 @@ int is_dead_address(dead_pool *pool, uin
+ char *get_pool_entry(dead_pool *pool, struct in_addr *addr);
+ int search_pool_for_name(dead_pool *pool, const char *name);
+ struct hostent *our_gethostbyname(dead_pool *pool, const char *name);
++struct hostent *our_gethostbyaddr(dead_pool *pool, const void *addr,
++ socklen_t len, int type);
+ int our_getaddrinfo(dead_pool *pool, const char *node, const char *service,
+ void *hints, void *res);
+ struct hostent *our_getipnodebyname(dead_pool *pool, const char *name,
+Index: parser.h
+===================================================================
+RCS file: /cvsroot/tork/torsocks/parser.h,v
+retrieving revision 1.1.1.1
+diff -p -U3 -r1.1.1.1 parser.h
+--- parser.h 15 Jun 2008 09:43:02 -0000 1.1.1.1
++++ parser.h 18 Jun 2008 21:21:38 -0000
+@@ -35,7 +35,7 @@ struct parsedfile {
+ struct serverent *paths;
+ int tordns_enabled;
+ int tordns_failopen;
+- int tordns_cache_size;
++ unsigned int tordns_cache_size;
+ struct netent *tordns_deadpool_range;
+ };
+
+Index: tsocks.h
+===================================================================
+RCS file: /cvsroot/tork/torsocks/tsocks.h,v
+retrieving revision 1.1.1.1
+diff -p -U3 -r1.1.1.1 tsocks.h
+--- tsocks.h 15 Jun 2008 09:43:01 -0000 1.1.1.1
++++ tsocks.h 18 Jun 2008 21:21:38 -0000
+@@ -50,8 +50,8 @@ struct connreq {
+ int selectevents;
+
+ /* Buffer for sending and receiving on the socket */
+- int datalen;
+- int datadone;
++ unsigned int datalen;
++ unsigned int datadone;
+ char buffer[2048];
+
+ struct connreq *next;
+Index: config.h.in
+===================================================================
+RCS file: /cvsroot/tork/torsocks/config.h.in,v
+retrieving revision 1.1.1.1
+diff -p -U3 -r1.1.1.1 config.h.in
+--- config.h.in 15 Jun 2008 09:43:02 -0000 1.1.1.1
++++ config.h.in 18 Jun 2008 21:21:38 -0000
+@@ -83,6 +83,9 @@ in inspectsocks */
+ #undef GETIPNODEBYNAME_SIGNATURE
+
+
++/* Description */
++#undef GETHOSTBYADDR_SIGNATURE
++
+ /* Define to 1 if you have the <inttypes.h> header file. */
+ #undef HAVE_INTTYPES_H
+
+Index: configure.in
+===================================================================
+RCS file: /cvsroot/tork/torsocks/configure.in,v
+retrieving revision 1.1.1.1
+diff -p -U3 -r1.1.1.1 configure.in
+--- configure.in 15 Jun 2008 09:43:00 -0000 1.1.1.1
++++ configure.in 18 Jun 2008 21:21:38 -0000
+@@ -384,6 +384,10 @@ dnl Emit signature for gethostbyname
+ PROTO="const char *name"
+ AC_DEFINE_UNQUOTED(GETHOSTBYNAME_SIGNATURE, [${PROTO}])
+
++dnl Emit signature for gethostbyaddr
++PROTO="const void *addr, socklen_t len, int type"
++AC_DEFINE_UNQUOTED(GETHOSTBYADDR_SIGNATURE, [${PROTO}], [Description])
++
+ dnl Emit signature for getaddrinfo
+ PROTO="const char *node, const char *service, void *hints, void *res"
+ AC_DEFINE_UNQUOTED(GETADDRINFO_SIGNATURE, [${PROTO}])
diff --git a/doc/patches/getpeername.patch b/doc/patches/getpeername.patch
new file mode 100644
index 0000000..f66d133
--- /dev/null
+++ b/doc/patches/getpeername.patch
@@ -0,0 +1,350 @@
+diff -ur tsocks-1.8beta5.orig/acconfig.h tsocks-1.8beta5.clean/acconfig.h
+--- tsocks-1.8beta5.orig/acconfig.h Sat May 18 06:59:38 2002
++++ tsocks-1.8beta5.clean/acconfig.h Sat Mar 27 11:12:03 2004
+@@ -43,6 +43,9 @@
+ /* Prototype and function header for close function */
+ #undef CLOSE_SIGNATURE
+
++/* Prototype and function header for getpeername function */
++#undef GETPEERNAME_SIGNATURE
++
+ /* Work out which function we have for conversion from string IPs to
+ numerical ones */
+ #undef HAVE_INET_ADDR
+diff -ur tsocks-1.8beta5.orig/config.h.in tsocks-1.8beta5.clean/config.h.in
+--- tsocks-1.8beta5.orig/config.h.in Sat May 18 06:59:42 2002
++++ tsocks-1.8beta5.clean/config.h.in Sat Mar 27 11:21:58 2004
+@@ -46,6 +46,9 @@
+ /* Prototype and function header for close function */
+ #undef CLOSE_SIGNATURE
+
++/* Prototype and function header for close function */
++#undef GETPEERNAME_SIGNATURE
++
+ /* Work out which function we have for conversion from string IPs to
+ numerical ones */
+ #undef HAVE_INET_ADDR
+diff -ur tsocks-1.8beta5.orig/config.status tsocks-1.8beta5.clean/config.status
+--- tsocks-1.8beta5.orig/config.status Sat Mar 27 11:25:17 2004
++++ tsocks-1.8beta5.clean/config.status Sat Mar 27 11:22:01 2004
+@@ -2,9 +2,9 @@
+ # Generated automatically by configure.
+ # Run this file to recreate the current configuration.
+ # This directory was configured as follows,
+-# on host inky:
++# on host seppia:
+ #
+-# ./configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --with-conf=/etc/tsocks.conf --enable-socksdns --enable-hostnames
++# ./configure
+ #
+ # Compiler output produced by configure, useful for debugging
+ # configure, is in ./config.log if it exists.
+@@ -14,8 +14,8 @@
+ do
+ case "$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+- echo "running ${CONFIG_SHELL-/bin/sh} ./configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --with-conf=/etc/tsocks.conf --enable-socksdns --enable-hostnames --no-create --no-recursion"
+- exec ${CONFIG_SHELL-/bin/sh} ./configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --with-conf=/etc/tsocks.conf --enable-socksdns --enable-hostnames --no-create --no-recursion ;;
++ echo "running ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion"
++ exec ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "./config.status generated by autoconf version 2.13"
+ exit 0 ;;
+@@ -53,11 +53,11 @@
+ s%@sysconfdir@%${prefix}/etc%g
+ s%@sharedstatedir@%${prefix}/com%g
+ s%@localstatedir@%${prefix}/var%g
+-s%@libdir@%/usr/lib%g
++s%@libdir@%/lib%g
+ s%@includedir@%${prefix}/include%g
+ s%@oldincludedir@%/usr/include%g
+ s%@infodir@%${prefix}/info%g
+-s%@mandir@%/usr/share/man%g
++s%@mandir@%${prefix}/man%g
+ s%@host@%i686-pc-linux-gnu%g
+ s%@host_alias@%i686-pc-linux-gnu%g
+ s%@host_cpu@%i686%g
+@@ -255,15 +255,15 @@
+ mv conftest.out conftest.in
+
+ cat > conftest.frag <<CEOF
+-${ac_dA}USE_SOCKS_DNS${ac_dB}USE_SOCKS_DNS${ac_dC}1${ac_dD}
+-${ac_uA}USE_SOCKS_DNS${ac_uB}USE_SOCKS_DNS${ac_uC}1${ac_uD}
+-${ac_eA}USE_SOCKS_DNS${ac_eB}USE_SOCKS_DNS${ac_eC}1${ac_eD}
+ ${ac_dA}ALLOW_ENV_CONFIG${ac_dB}ALLOW_ENV_CONFIG${ac_dC}1${ac_dD}
+ ${ac_uA}ALLOW_ENV_CONFIG${ac_uB}ALLOW_ENV_CONFIG${ac_uC}1${ac_uD}
+ ${ac_eA}ALLOW_ENV_CONFIG${ac_eB}ALLOW_ENV_CONFIG${ac_eC}1${ac_eD}
+ ${ac_dA}ALLOW_MSG_OUTPUT${ac_dB}ALLOW_MSG_OUTPUT${ac_dC}1${ac_dD}
+ ${ac_uA}ALLOW_MSG_OUTPUT${ac_uB}ALLOW_MSG_OUTPUT${ac_uC}1${ac_uD}
+ ${ac_eA}ALLOW_MSG_OUTPUT${ac_eB}ALLOW_MSG_OUTPUT${ac_eC}1${ac_eD}
++${ac_dA}HOSTNAMES${ac_dB}HOSTNAMES${ac_dC}1${ac_dD}
++${ac_uA}HOSTNAMES${ac_uB}HOSTNAMES${ac_uC}1${ac_uD}
++${ac_eA}HOSTNAMES${ac_eB}HOSTNAMES${ac_eC}1${ac_eD}
+ ${ac_dA}SELECT_SIGNATURE${ac_dB}SELECT_SIGNATURE${ac_dC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_dD}
+ ${ac_uA}SELECT_SIGNATURE${ac_uB}SELECT_SIGNATURE${ac_uC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_uD}
+ ${ac_eA}SELECT_SIGNATURE${ac_eB}SELECT_SIGNATURE${ac_eC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_eD}
+@@ -282,15 +282,18 @@
+ ${ac_dA}CLOSE_SIGNATURE${ac_dB}CLOSE_SIGNATURE${ac_dC}int fd${ac_dD}
+ ${ac_uA}CLOSE_SIGNATURE${ac_uB}CLOSE_SIGNATURE${ac_uC}int fd${ac_uD}
+ ${ac_eA}CLOSE_SIGNATURE${ac_eB}CLOSE_SIGNATURE${ac_eC}int fd${ac_eD}
+-${ac_dA}POLL_SIGNATURE${ac_dB}POLL_SIGNATURE${ac_dC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_dD}
+-${ac_uA}POLL_SIGNATURE${ac_uB}POLL_SIGNATURE${ac_uC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_uD}
+-${ac_eA}POLL_SIGNATURE${ac_eB}POLL_SIGNATURE${ac_eC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_eD}
++${ac_dA}GETPEERNAME_SIGNATURE${ac_dB}GETPEERNAME_SIGNATURE${ac_dC}int __fd, struct sockaddr * __name, socklen_t *__namelen${ac_dD}
++${ac_uA}GETPEERNAME_SIGNATURE${ac_uB}GETPEERNAME_SIGNATURE${ac_uC}int __fd, struct sockaddr * __name, socklen_t *__namelen${ac_uD}
++${ac_eA}GETPEERNAME_SIGNATURE${ac_eB}GETPEERNAME_SIGNATURE${ac_eC}int __fd, struct sockaddr * __name, socklen_t *__namelen${ac_eD}
+ CEOF
+ sed -f conftest.frag conftest.in > conftest.out
+ rm -f conftest.in
+ mv conftest.out conftest.in
+
+ cat > conftest.frag <<CEOF
++${ac_dA}POLL_SIGNATURE${ac_dB}POLL_SIGNATURE${ac_dC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_dD}
++${ac_uA}POLL_SIGNATURE${ac_uB}POLL_SIGNATURE${ac_uC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_uD}
++${ac_eA}POLL_SIGNATURE${ac_eB}POLL_SIGNATURE${ac_eC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_eD}
+ s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+ CEOF
+ sed -f conftest.frag conftest.in > conftest.out
+diff -ur tsocks-1.8beta5.orig/configure tsocks-1.8beta5.clean/configure
+--- tsocks-1.8beta5.orig/configure Tue Jul 16 00:51:08 2002
++++ tsocks-1.8beta5.clean/configure Sat Mar 27 11:12:05 2004
+@@ -2225,14 +2225,60 @@
+ EOF
+
+
++
++echo $ac_n "checking for correct getpeername prototype""... $ac_c" 1>&6
++echo "configure:2231: checking for correct getpeername prototype" >&5
++PROTO=
++PROTO1='int __fd, const struct sockaddr * __name, int *__namelen'
++PROTO2='int __fd, const struct sockaddr_in * __name, socklen_t *__namelen'
++PROTO3='int __fd, struct sockaddr * __name, socklen_t *__namelen'
++PROTO4='int __fd, const struct sockaddr * __name, socklen_t *__namelen'
++for testproto in "${PROTO1}" \
++ "${PROTO2}" \
++ "${PROTO3}" \
++ "${PROTO4}"
++do
++ if test "${PROTO}" = ""; then
++ cat > conftest.$ac_ext <<EOF
++#line 2244 "configure"
++#include "confdefs.h"
++
++ #include <sys/socket.h>
++ int getpeername($testproto);
++
++int main() {
++
++; return 0; }
++EOF
++if { (eval echo configure:2254: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ PROTO="$testproto";
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++fi
++rm -f conftest*
++ fi
++done
++if test "${PROTO}" = ""; then
++ { echo "configure: error: "no match found!"" 1>&2; exit 1; }
++fi
++echo "$ac_t""getpeername(${PROTO})" 1>&6
++cat >> confdefs.h <<EOF
++#define GETPEERNAME_SIGNATURE ${PROTO}
++EOF
++
++
++
++
+ echo $ac_n "checking for correct poll prototype""... $ac_c" 1>&6
+-echo "configure:2230: checking for correct poll prototype" >&5
++echo "configure:2276: checking for correct poll prototype" >&5
+ PROTO=
+ for testproto in 'struct pollfd *ufds, unsigned long nfds, int timeout'
+ do
+ if test "${PROTO}" = ""; then
+ cat > conftest.$ac_ext <<EOF
+-#line 2236 "configure"
++#line 2282 "configure"
+ #include "confdefs.h"
+
+ #include <sys/poll.h>
+@@ -2242,7 +2288,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2246: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:2292: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ PROTO="$testproto";
+ else
+diff -ur tsocks-1.8beta5.orig/configure.in tsocks-1.8beta5.clean/configure.in
+--- tsocks-1.8beta5.orig/configure.in Tue Jul 16 00:51:03 2002
++++ tsocks-1.8beta5.clean/configure.in Sat Mar 27 11:11:02 2004
+@@ -309,6 +309,34 @@
+ AC_MSG_RESULT([close(${PROTO})])
+ AC_DEFINE_UNQUOTED(CLOSE_SIGNATURE, [${PROTO}])
+
++
++dnl Find the correct getpeername prototype on this machine
++AC_MSG_CHECKING(for correct getpeername prototype)
++PROTO=
++PROTO1='int __fd, const struct sockaddr * __name, int *__namelen'
++PROTO2='int __fd, const struct sockaddr_in * __name, socklen_t *__namelen'
++PROTO3='int __fd, struct sockaddr * __name, socklen_t *__namelen'
++PROTO4='int __fd, const struct sockaddr * __name, socklen_t *__namelen'
++for testproto in "${PROTO1}" \
++ "${PROTO2}" \
++ "${PROTO3}" \
++ "${PROTO4}"
++do
++ if test "${PROTO}" = ""; then
++ AC_TRY_COMPILE([
++ #include <sys/socket.h>
++ int getpeername($testproto);
++ ],,[PROTO="$testproto";],)
++ fi
++done
++if test "${PROTO}" = ""; then
++ AC_MSG_ERROR("no match found!")
++fi
++AC_MSG_RESULT([getpeername(${PROTO})])
++AC_DEFINE_UNQUOTED(GETPEERNAME_SIGNATURE, [${PROTO}])
++
++
++
+ dnl Find the correct poll prototype on this machine
+ AC_MSG_CHECKING(for correct poll prototype)
+ PROTO=
+Only in tsocks-1.8beta5.clean: ld-pre
+Only in tsocks-1.8beta5.clean: sel
+diff -ur tsocks-1.8beta5.orig/tsocks.c tsocks-1.8beta5.clean/tsocks.c
+--- tsocks-1.8beta5.orig/tsocks.c Tue Jul 16 00:50:52 2002
++++ tsocks-1.8beta5.clean/tsocks.c Sat Mar 27 13:17:58 2004
+@@ -62,6 +62,7 @@
+ static int (*realselect)(SELECT_SIGNATURE);
+ static int (*realpoll)(POLL_SIGNATURE);
+ static int (*realclose)(CLOSE_SIGNATURE);
++static int (*realgetpeername)(GETPEERNAME_SIGNATURE);
+ static struct parsedfile *config;
+ static struct connreq *requests = NULL;
+ static int suid = 0;
+@@ -73,6 +74,7 @@
+ int select(SELECT_SIGNATURE);
+ int poll(POLL_SIGNATURE);
+ int close(CLOSE_SIGNATURE);
++int getpeername(GETPEERNAME_SIGNATURE);
+ #ifdef USE_SOCKS_DNS
+ int res_init(void);
+ #endif
+@@ -109,14 +111,15 @@
+ /* most programs that are run won't use our services, so */
+ /* we do our general initialization on first call */
+
+- /* Determine the logging level */
+- suid = (getuid() != geteuid());
++ /* Determine the logging level */
++ suid = (getuid() != geteuid());
+
+ #ifndef USE_OLD_DLSYM
+ realconnect = dlsym(RTLD_NEXT, "connect");
+ realselect = dlsym(RTLD_NEXT, "select");
+ realpoll = dlsym(RTLD_NEXT, "poll");
+ realclose = dlsym(RTLD_NEXT, "close");
++ realgetpeername = dlsym(RTLD_NEXT, "getpeername");
+ #ifdef USE_SOCKS_DNS
+ realresinit = dlsym(RTLD_NEXT, "res_init");
+ #endif
+@@ -125,14 +128,15 @@
+ realconnect = dlsym(lib, "connect");
+ realselect = dlsym(lib, "select");
+ realpoll = dlsym(lib, "poll");
++ realgetpeername = dlsym(lib, "getpeername");
+ #ifdef USE_SOCKS_DNS
+ realresinit = dlsym(lib, "res_init");
+ #endif
+- dlclose(lib);
++ dlclose(lib);
+
+ lib = dlopen(LIBC, RTLD_LAZY);
+- realclose = dlsym(lib, "close");
+- dlclose(lib);
++ realclose = dlsym(lib, "close");
++ dlclose(lib);
+ #endif
+ }
+
+@@ -348,8 +352,10 @@
+
+ /* If we're not currently managing any requests we can just
+ * leave here */
+- if (!requests)
++ if (!requests) {
++ show_msg(MSGDEBUG, "No requests waiting, calling real select\n");
+ return(realselect(n, readfds, writefds, exceptfds, timeout));
++ }
+
+ get_environment();
+
+@@ -703,6 +709,50 @@
+ return(rc);
+ }
+
++/* If we are not done setting up the connection yet, return
++ * -1 and ENOTCONN, otherwise call getpeername
++ *
++ * This is necessary since some applications, when using non-blocking connect,
++ * (like ircII) use getpeername() to find out if they are connected already.
++ *
++ * This results in races sometimes, where the client sends data to the socket
++ * before we are done with the socks connection setup. Another solution would
++ * be to intercept send().
++ *
++ * This could be extended to actually set the peername to the peer the
++ * client application has requested, but not for now.
++ *
++ * PP, Sat, 27 Mar 2004 11:30:23 +0100
++ */
++int getpeername(GETPEERNAME_SIGNATURE) {
++ struct connreq *conn;
++ int rc;
++
++ if (realgetpeername == NULL) {
++ show_msg(MSGERR, "Unresolved symbol: getpeername\n");
++ return(-1);
++ }
++
++ show_msg(MSGDEBUG, "Call to getpeername for fd %d\n", __fd);
++
++
++ rc = realgetpeername(__fd, __name, __namelen);
++ if (rc == -1)
++ return rc;
++
++ /* Are we handling this connect? */
++ if ((conn = find_socks_request(__fd, 1))) {
++ /* While we are at it, we might was well try to do something useful */
++ handle_request(conn);
++
++ if (conn->state != DONE) {
++ errno = ENOTCONN;
++ return(-1);
++ }
++ }
++ return rc;
++}
++
+ static struct connreq *new_socks_request(int sockid, struct sockaddr_in *connaddr,
+ struct sockaddr_in *serveraddr,
+ struct serverent *path) {
+@@ -852,7 +902,7 @@
+ sizeof(conn->serveraddr));
+
+ show_msg(MSGDEBUG, "Connect returned %d, errno is %d\n", rc, errno);
+- if (rc) {
++ if (rc) {
+ if (errno != EINPROGRESS) {
+ show_msg(MSGERR, "Error %d attempting to connect to SOCKS "
+ "server (%s)\n", errno, strerror(errno));
diff --git a/doc/patches/infiniteloop.patch b/doc/patches/infiniteloop.patch
new file mode 100644
index 0000000..4b0deb9
--- /dev/null
+++ b/doc/patches/infiniteloop.patch
@@ -0,0 +1,20 @@
+--- tsocks-1.8.orig/tsocks.c 2002-03-13 14:02:04.000000000 +0100
++++ tsocks-1.8/tsocks.c 2004-03-20 11:30:57.000000000 +0100
+@@ -951,14 +951,18 @@
+ show_msg(MSGDEBUG, "Reading from server (expecting %d bytes)\n", conn->datalen);
+ while ((rc == 0) && (conn->datadone != conn->datalen)) {
+ rc = recv(conn->sockid, conn->buffer + conn->datadone,
+ conn->datalen - conn->datadone, 0);
+ if (rc > 0) {
+ conn->datadone += rc;
+ rc = 0;
++ } else if (rc == 0) {
++ show_msg(MSGDEBUG, "Peer has shutdown but we only read %d of %d bytes.\n",
++ conn->datadone, conn->datalen);
++ rc = ENOTCONN; /* ENOTCONN seems like the most fitting error message */
+ } else {
+ if (errno != EWOULDBLOCK)
+ show_msg(MSGDEBUG, "Read failed, %s\n", strerror(errno));
+ rc = errno;
+ }
+ }
diff --git a/doc/patches/localaddresses.patch b/doc/patches/localaddresses.patch
new file mode 100644
index 0000000..d69c7e8
--- /dev/null
+++ b/doc/patches/localaddresses.patch
@@ -0,0 +1,15 @@
+--- parser.c.old 2006-04-01 17:54:46.687832056 -0500
++++ parser.c 2006-04-01 17:55:47.552579208 -0500
+@@ -74,8 +74,10 @@
+ }
+ fclose(conf);
+
+- /* Always add the 127.0.0.1/255.0.0.0 subnet to local */
+- handle_local(config, 0, "127.0.0.0/255.0.0.0");
++ if (!config->localnets) {
++ /* Use 127.0.0.1/255.0.0.0 by default */
++ handle_local(config, 0, "127.0.0.0/255.0.0.0");
++ }
+
+ /* Check default server */
+ check_server(&(config->defaultserver));
diff --git a/doc/patches/tordns.patch b/doc/patches/tordns.patch
new file mode 100644
index 0000000..bf8d79b
--- /dev/null
+++ b/doc/patches/tordns.patch
@@ -0,0 +1,11004 @@
+diff -rN -U 5 tsocks-1.8/acconfig.h tsocks/acconfig.h
+--- tsocks-1.8/acconfig.h 2002-05-18 16:59:38.000000000 +1200
++++ tsocks/acconfig.h 2005-10-01 17:22:09.000000000 +1200
+@@ -51,10 +51,13 @@
+ /* We use strsep which isn't on all machines, but we provide our own
+ definition of it for those which don't have it, this causes us to define
+ our version */
+ #undef DEFINE_STRSEP
+
++/* Should we resolve DNS entries in a way which works well with tor? */
++#undef USE_TOR_DNS
++
+ /* Allow the use of DNS names in the socks configuration file for socks
+ servers. This doesn't work if socksified DNS is enabled for obvious
+ reasons, it also introduces overhead, but people seem to want it */
+ #define HOSTNAMES 0
+
+@@ -62,5 +65,16 @@
+ in inspectsocks */
+ #undef HAVE_GETHOSTBYNAME
+
+ /* Location of configuration file (typically /etc/tsocks.conf) */
+ #undef CONF_FILE
++
++/* Define to indicate the correct signature for gethostbyname_r */
++#undef HAVE_FUNC_GETHOSTBYNAME_R_6
++#undef HAVE_FUNC_GETHOSTBYNAME_R_5
++#undef HAVE_FUNC_GETHOSTBYNAME_R_3
++
++/* Signatures for name resolution stuff */
++#undef GETHOSTBYNAME_SIGNATURE
++#undef GETADDRINFO_SIGNATURE
++#undef GETIPNODEBYNAME_SIGNATURE
++
+diff -rN -U 5 tsocks-1.8/aclocal/ac_c_gethostbyname_r.m4 tsocks/aclocal/ac_c_gethostbyname_r.m4
+--- tsocks-1.8/aclocal/ac_c_gethostbyname_r.m4 1970-01-01 12:00:00.000000000 +1200
++++ tsocks/aclocal/ac_c_gethostbyname_r.m4 2005-09-27 05:55:58.000000000 +1200
+@@ -0,0 +1,132 @@
++dnl http://autoconf-archive.cryp.to/ax_func_which_gethostbyname_r.html
++
++AC_DEFUN([AX_FUNC_WHICH_GETHOSTBYNAME_R], [
++
++ AC_LANG_PUSH(C)
++ AC_MSG_CHECKING([how many arguments gethostbyname_r() takes])
++
++ AC_CACHE_VAL(ac_cv_func_which_gethostbyname_r, [
++
++################################################################
++
++ac_cv_func_which_gethostbyname_r=unknown
++
++#
++# ONE ARGUMENT (sanity check)
++#
++
++# This should fail, as there is no variant of gethostbyname_r() that takes
++# a single argument. If it actually compiles, then we can assume that
++# netdb.h is not declaring the function, and the compiler is thereby
++# assuming an implicit prototype. In which case, we're out of luck.
++#
++AC_COMPILE_IFELSE(
++ AC_LANG_PROGRAM(
++ [[#include <netdb.h>]],
++ [[
++ char *name = "www.gnu.org";
++ (void)gethostbyname_r(name) /* ; */
++ ]]),
++ ac_cv_func_which_gethostbyname_r=no)
++
++#
++# SIX ARGUMENTS
++# (e.g. Linux)
++#
++
++if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
++
++AC_COMPILE_IFELSE(
++ AC_LANG_PROGRAM(
++ [[#include <netdb.h>]],
++ [[
++ char *name = "www.gnu.org";
++ struct hostent ret, *retp;
++ char buf@<:@1024@:>@;
++ int buflen = 1024;
++ int my_h_errno;
++ (void)gethostbyname_r(name, &ret, buf, buflen, &retp, &my_h_errno) /* ; */
++ ]]),
++ ac_cv_func_which_gethostbyname_r=six)
++
++fi
++
++#
++# FIVE ARGUMENTS
++# (e.g. Solaris)
++#
++
++if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
++
++AC_COMPILE_IFELSE(
++ AC_LANG_PROGRAM(
++ [[#include <netdb.h>]],
++ [[
++ char *name = "www.gnu.org";
++ struct hostent ret;
++ char buf@<:@1024@:>@;
++ int buflen = 1024;
++ int my_h_errno;
++ (void)gethostbyname_r(name, &ret, buf, buflen, &my_h_errno) /* ; */
++ ]]),
++ ac_cv_func_which_gethostbyname_r=five)
++
++fi
++
++#
++# THREE ARGUMENTS
++# (e.g. AIX, HP-UX, Tru64)
++#
++
++if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
++
++AC_COMPILE_IFELSE(
++ AC_LANG_PROGRAM(
++ [[#include <netdb.h>]],
++ [[
++ char *name = "www.gnu.org";
++ struct hostent ret;
++ struct hostent_data data;
++ (void)gethostbyname_r(name, &ret, &data) /* ; */
++ ]]),
++ ac_cv_func_which_gethostbyname_r=three)
++
++fi
++
++################################################################
++
++]) dnl end AC_CACHE_VAL
++
++case "$ac_cv_func_which_gethostbyname_r" in
++ three)
++ AC_MSG_RESULT([three])
++ AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_3)
++ ;;
++
++ five)
++ AC_MSG_RESULT([five])
++ AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_5)
++ ;;
++
++ six)
++ AC_MSG_RESULT([six])
++ AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_6)
++ ;;
++
++ no)
++ AC_MSG_RESULT([cannot find function declaration in netdb.h])
++ ;;
++
++ unknown)
++ AC_MSG_RESULT([can't tell])
++ ;;
++
++ *)
++ AC_MSG_ERROR([internal error])
++ ;;
++esac
++
++AC_LANG_POP(C)
++
++]) dnl end AC_DEFUN
++
+diff -rN -U 5 tsocks-1.8/autogen.sh tsocks/autogen.sh
+--- tsocks-1.8/autogen.sh 1970-01-01 12:00:00.000000000 +1200
++++ tsocks/autogen.sh 2005-10-01 17:54:45.000000000 +1200
+@@ -0,0 +1,6 @@
++#!/bin/sh
++
++aclocal -I aclocal
++autoconf
++autoheader
++
+diff -rN -U 5 tsocks-1.8/ChangeLog tsocks/ChangeLog
+--- tsocks-1.8/ChangeLog 2002-05-18 17:22:26.000000000 +1200
++++ tsocks/ChangeLog 2005-10-02 16:03:18.000000000 +1300
+@@ -1,5 +1,9 @@
++version 1.80tordns - 2005.10.4 bls(a)totalinfosecurity.com
++ Intercept gethostbyname() and friends, added --tordns
++ option for better name resolution with Tor.
++
+ version 1.80Beta5 - 2002.?.?? delius(a)progsoc.uts.edu.au
+ Intercept close() to fix problems with tsocks and
+ kmail
+ Add FAQ to distribution
+
+diff -rN -U 5 tsocks-1.8/common.c tsocks/common.c
+--- tsocks-1.8/common.c 2002-07-16 10:35:06.000000000 +1200
++++ tsocks/common.c 2005-10-01 21:37:00.000000000 +1200
+@@ -76,10 +76,31 @@
+ }
+
+ logstamp = timestamp;
+ }
+
++/* Count the bits in a netmask. This is a little bit buggy; it assumes
++ all the zeroes are on the right... */
++
++int count_netmask_bits(uint32_t mask)
++{
++ int i;
++ int nbits = 0;
++
++ for(i=0; i<32; i++) {
++ if((mask >> i) & 1) {
++ nbits++;
++ }
++ }
++ mask = ~mask;
++ mask = ntohl(mask);
++ if(mask & (mask+1)) {
++ return -1; /* Noncontiguous */
++ }
++ return nbits;
++}
++
+ void show_msg(int level, char *fmt, ...) {
+ va_list ap;
+ int saveerr;
+ extern char *progname;
+ char timestring[20];
+@@ -105,11 +126,11 @@
+ strftime(timestring, sizeof(timestring), "%H:%M:%S",
+ localtime(×tamp));
+ fprintf(logfile, "%s ", timestring);
+ }
+
+- fputs(progname, logfile);
++ // fputs(progname, logfile);
+
+ if (logstamp) {
+ fprintf(logfile, "(%d)", getpid());
+ }
+
+diff -rN -U 5 tsocks-1.8/common.h tsocks/common.h
+--- tsocks-1.8/common.h 2002-07-16 10:27:00.000000000 +1200
++++ tsocks/common.h 2005-09-27 10:48:20.000000000 +1200
+@@ -1,9 +1,10 @@
+ /* Common functions provided in common.c */
+
+ void set_log_options(int, char *, int);
+ void show_msg(int level, char *, ...);
++int count_netmask_bits(uint32_t mask);
+ unsigned int resolve_ip(char *, int, int);
+
+ #define MSGNONE -1
+ #define MSGERR 0
+ #define MSGWARN 1
+diff -rN -U 5 tsocks-1.8/config.h.in tsocks/config.h.in
+--- tsocks-1.8/config.h.in 2002-05-18 16:59:42.000000000 +1200
++++ tsocks/config.h.in 2005-10-01 17:23:20.000000000 +1200
+@@ -1,9 +1,7 @@
+-/* config.h.in. Generated automatically from configure.in by autoheader. */
+-
+-/* Define if you have the ANSI C header files. */
+-#undef STDC_HEADERS
++/* config.h.in. Generated from configure.in by autoheader. */
++/* accconfig.h -- `autoheader' will generate config.h.in for tsocks . */
+
+ /* Allow tsocks to generate messages to stderr when errors are
+ encountered, this is really important and should only be disabled if
+ you're REALLY sure. It can also be turned off at run time, see the man
+ page for details */
+@@ -49,10 +47,18 @@
+ /* Work out which function we have for conversion from string IPs to
+ numerical ones */
+ #undef HAVE_INET_ADDR
+ #undef HAVE_INET_ATON
+
++/* We use strsep which isn't on all machines, but we provide our own
++definition of it for those which don't have it, this causes us to define
++our version */
++#undef DEFINE_STRSEP
++
++/* Should we resolve DNS entries in a way which works well with tor? */
++#undef USE_TOR_DNS
++
+ /* Allow the use of DNS names in the socks configuration file for socks
+ servers. This doesn't work if socksified DNS is enabled for obvious
+ reasons, it also introduces overhead, but people seem to want it */
+ #define HOSTNAMES 0
+
+@@ -61,28 +67,90 @@
+ #undef HAVE_GETHOSTBYNAME
+
+ /* Location of configuration file (typically /etc/tsocks.conf) */
+ #undef CONF_FILE
+
+-/* Define if you have the strcspn function. */
++/* Define to indicate the correct signature for gethostbyname_r */
++#undef HAVE_FUNC_GETHOSTBYNAME_R_6
++#undef HAVE_FUNC_GETHOSTBYNAME_R_5
++#undef HAVE_FUNC_GETHOSTBYNAME_R_3
++
++/* Signatures for name resolution stuff */
++#undef GETHOSTBYNAME_SIGNATURE
++#undef GETADDRINFO_SIGNATURE
++#undef GETIPNODEBYNAME_SIGNATURE
++
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++#undef HAVE_INTTYPES_H
++
++/* Define to 1 if you have the `dl' library (-ldl). */
++#undef HAVE_LIBDL
++
++/* Define to 1 if you have the `socket' library (-lsocket). */
++#undef HAVE_LIBSOCKET
++
++/* Define to 1 if you have the <memory.h> header file. */
++#undef HAVE_MEMORY_H
++
++/* Define to 1 if you have the `mmap' function. */
++#undef HAVE_MMAP
++
++/* Define to 1 if you have the <stdint.h> header file. */
++#undef HAVE_STDINT_H
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#undef HAVE_STDLIB_H
++
++/* Define to 1 if you have the `strcasecmp' function. */
++#undef HAVE_STRCASECMP
++
++/* Define to 1 if you have the `strcspn' function. */
+ #undef HAVE_STRCSPN
+
+-/* Define if you have the strdup function. */
++/* Define to 1 if you have the `strdup' function. */
+ #undef HAVE_STRDUP
+
+-/* Define if you have the strerror function. */
++/* Define to 1 if you have the `strerror' function. */
+ #undef HAVE_STRERROR
+
+-/* Define if you have the strspn function. */
++/* Define to 1 if you have the <strings.h> header file. */
++#undef HAVE_STRINGS_H
++
++/* Define to 1 if you have the <string.h> header file. */
++#undef HAVE_STRING_H
++
++/* Define to 1 if you have the `strncasecmp' function. */
++#undef HAVE_STRNCASECMP
++
++/* Define to 1 if you have the `strspn' function. */
+ #undef HAVE_STRSPN
+
+-/* Define if you have the strtol function. */
++/* Define to 1 if you have the `strtol' function. */
+ #undef HAVE_STRTOL
+
+-/* Define if you have the <unistd.h> header file. */
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#undef HAVE_SYS_STAT_H
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#undef HAVE_SYS_TYPES_H
++
++/* Define to 1 if you have the <unistd.h> header file. */
+ #undef HAVE_UNISTD_H
+
+-/* Define if you have the dl library (-ldl). */
+-#undef HAVE_LIBDL
++/* Define to the address where bug reports for this package should be sent. */
++#undef PACKAGE_BUGREPORT
+
+-/* Define if you have the socket library (-lsocket). */
+-#undef HAVE_LIBSOCKET
++/* Define to the full name of this package. */
++#undef PACKAGE_NAME
++
++/* Define to the full name and version of this package. */
++#undef PACKAGE_STRING
++
++/* Define to the one symbol short name of this package. */
++#undef PACKAGE_TARNAME
++
++/* Define to the version of this package. */
++#undef PACKAGE_VERSION
++
++/* Define to 1 if you have the ANSI C header files. */
++#undef STDC_HEADERS
+diff -rN -U 5 tsocks-1.8/config.status tsocks/config.status
+--- tsocks-1.8/config.status 2002-07-16 10:51:14.000000000 +1200
++++ tsocks/config.status 1970-01-01 12:00:00.000000000 +1200
+@@ -1,312 +0,0 @@
+-#! /bin/sh
+-# Generated automatically by configure.
+-# Run this file to recreate the current configuration.
+-# This directory was configured as follows,
+-# on host cardini.homenet:
+-#
+-# ./configure
+-#
+-# Compiler output produced by configure, useful for debugging
+-# configure, is in ./config.log if it exists.
+-
+-ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]"
+-for ac_option
+-do
+- case "$ac_option" in
+- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+- echo "running ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion"
+- exec ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion ;;
+- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+- echo "./config.status generated by autoconf version 2.13"
+- exit 0 ;;
+- -help | --help | --hel | --he | --h)
+- echo "$ac_cs_usage"; exit 0 ;;
+- *) echo "$ac_cs_usage"; exit 1 ;;
+- esac
+-done
+-
+-ac_given_srcdir=.
+-ac_given_INSTALL="/usr/bin/install -c"
+-
+-trap 'rm -fr Makefile config.h conftest*; exit 1' 1 2 15
+-
+-# Protect against being on the right side of a sed subst in config.status.
+-sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g;
+- s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
+-/^[ ]*VPATH[ ]*=[^:]*$/d
+-
+-s%@SHELL@%/bin/sh%g
+-s%@CFLAGS@%-g -O2 -Wall%g
+-s%@CPPFLAGS@%%g
+-s%@CXXFLAGS@%%g
+-s%@FFLAGS@%%g
+-s%@DEFS@%-DHAVE_CONFIG_H%g
+-s%@LDFLAGS@%%g
+-s%@LIBS@% -lc%g
+-s%@exec_prefix@%${prefix}%g
+-s%@prefix@%/usr%g
+-s%@program_transform_name@%s,x,x,%g
+-s%@bindir@%${exec_prefix}/bin%g
+-s%@sbindir@%${exec_prefix}/sbin%g
+-s%@libexecdir@%${exec_prefix}/libexec%g
+-s%@datadir@%${prefix}/share%g
+-s%@sysconfdir@%${prefix}/etc%g
+-s%@sharedstatedir@%${prefix}/com%g
+-s%@localstatedir@%${prefix}/var%g
+-s%@libdir@%/lib%g
+-s%@includedir@%${prefix}/include%g
+-s%@oldincludedir@%/usr/include%g
+-s%@infodir@%${prefix}/info%g
+-s%@mandir@%${prefix}/man%g
+-s%@host@%i586-pc-linux-gnu%g
+-s%@host_alias@%i586-pc-linux-gnu%g
+-s%@host_cpu@%i586%g
+-s%@host_vendor@%pc%g
+-s%@host_os@%linux-gnu%g
+-s%@CC@%gcc%g
+-s%@INSTALL_PROGRAM@%${INSTALL}%g
+-s%@INSTALL_SCRIPT@%${INSTALL_PROGRAM}%g
+-s%@INSTALL_DATA@%${INSTALL} -m 644%g
+-s%@LN_S@%ln -s%g
+-s%@CPP@%gcc -E%g
+-s%@FIND@%%g
+-s%@TAIL@%%g
+-s%@SPECIALLIBS@%-ldl %g
+-
+-CEOF
+-
+-# Split the substitutions into bite-sized pieces for seds with
+-# small command number limits, like on Digital OSF/1 and HP-UX.
+-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+-ac_file=1 # Number of current file.
+-ac_beg=1 # First line for current file.
+-ac_end=$ac_max_sed_cmds # Line after last line for current file.
+-ac_more_lines=:
+-ac_sed_cmds=""
+-while $ac_more_lines; do
+- if test $ac_beg -gt 1; then
+- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+- else
+- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+- fi
+- if test ! -s conftest.s$ac_file; then
+- ac_more_lines=false
+- rm -f conftest.s$ac_file
+- else
+- if test -z "$ac_sed_cmds"; then
+- ac_sed_cmds="sed -f conftest.s$ac_file"
+- else
+- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+- fi
+- ac_file=`expr $ac_file + 1`
+- ac_beg=$ac_end
+- ac_end=`expr $ac_end + $ac_max_sed_cmds`
+- fi
+-done
+-if test -z "$ac_sed_cmds"; then
+- ac_sed_cmds=cat
+-fi
+-
+-CONFIG_FILES=${CONFIG_FILES-"Makefile"}
+-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+- case "$ac_file" in
+- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+- *) ac_file_in="${ac_file}.in" ;;
+- esac
+-
+- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+-
+- # Remove last slash and all that follows it. Not all systems have dirname.
+- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+- # The file is in a subdirectory.
+- test ! -d "$ac_dir" && mkdir "$ac_dir"
+- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+- # A "../" for each directory in $ac_dir_suffix.
+- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+- else
+- ac_dir_suffix= ac_dots=
+- fi
+-
+- case "$ac_given_srcdir" in
+- .) srcdir=.
+- if test -z "$ac_dots"; then top_srcdir=.
+- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+- *) # Relative path.
+- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+- top_srcdir="$ac_dots$ac_given_srcdir" ;;
+- esac
+-
+- case "$ac_given_INSTALL" in
+- [/$]*) INSTALL="$ac_given_INSTALL" ;;
+- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+- esac
+-
+- echo creating "$ac_file"
+- rm -f "$ac_file"
+- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+- case "$ac_file" in
+- *Makefile*) ac_comsub="1i\\
+-# $configure_input" ;;
+- *) ac_comsub= ;;
+- esac
+-
+- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+- sed -e "$ac_comsub
+-s%@configure_input@%$configure_input%g
+-s%@srcdir@%$srcdir%g
+-s%@top_srcdir@%$top_srcdir%g
+-s%@INSTALL@%$INSTALL%g
+-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+-fi; done
+-rm -f conftest.s*
+-
+-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+-# NAME is the cpp macro being defined and VALUE is the value it is being given.
+-#
+-# ac_d sets the value in "#define NAME VALUE" lines.
+-ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+-ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
+-ac_dC='\3'
+-ac_dD='%g'
+-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+-ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+-ac_uB='\([ ]\)%\1#\2define\3'
+-ac_uC=' '
+-ac_uD='\4%g'
+-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+-ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+-ac_eB='$%\1#\2define\3'
+-ac_eC=' '
+-ac_eD='%g'
+-
+-if test "${CONFIG_HEADERS+set}" != set; then
+- CONFIG_HEADERS="config.h"
+-fi
+-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+- case "$ac_file" in
+- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+- *) ac_file_in="${ac_file}.in" ;;
+- esac
+-
+- echo creating $ac_file
+-
+- rm -f conftest.frag conftest.in conftest.out
+- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+- cat $ac_file_inputs > conftest.in
+-
+- cat > conftest.frag <<CEOF
+-${ac_dA}CONF_FILE${ac_dB}CONF_FILE${ac_dC}"/etc/tsocks.conf"${ac_dD}
+-${ac_uA}CONF_FILE${ac_uB}CONF_FILE${ac_uC}"/etc/tsocks.conf"${ac_uD}
+-${ac_eA}CONF_FILE${ac_eB}CONF_FILE${ac_eC}"/etc/tsocks.conf"${ac_eD}
+-${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD}
+-${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD}
+-${ac_eA}STDC_HEADERS${ac_eB}STDC_HEADERS${ac_eC}1${ac_eD}
+-${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
+-${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
+-${ac_eA}HAVE_UNISTD_H${ac_eB}HAVE_UNISTD_H${ac_eC}1${ac_eD}
+-${ac_dA}HAVE_STRCSPN${ac_dB}HAVE_STRCSPN${ac_dC}1${ac_dD}
+-${ac_uA}HAVE_STRCSPN${ac_uB}HAVE_STRCSPN${ac_uC}1${ac_uD}
+-${ac_eA}HAVE_STRCSPN${ac_eB}HAVE_STRCSPN${ac_eC}1${ac_eD}
+-CEOF
+- sed -f conftest.frag conftest.in > conftest.out
+- rm -f conftest.in
+- mv conftest.out conftest.in
+-
+- cat > conftest.frag <<CEOF
+-${ac_dA}HAVE_STRDUP${ac_dB}HAVE_STRDUP${ac_dC}1${ac_dD}
+-${ac_uA}HAVE_STRDUP${ac_uB}HAVE_STRDUP${ac_uC}1${ac_uD}
+-${ac_eA}HAVE_STRDUP${ac_eB}HAVE_STRDUP${ac_eC}1${ac_eD}
+-${ac_dA}HAVE_STRERROR${ac_dB}HAVE_STRERROR${ac_dC}1${ac_dD}
+-${ac_uA}HAVE_STRERROR${ac_uB}HAVE_STRERROR${ac_uC}1${ac_uD}
+-${ac_eA}HAVE_STRERROR${ac_eB}HAVE_STRERROR${ac_eC}1${ac_eD}
+-${ac_dA}HAVE_STRSPN${ac_dB}HAVE_STRSPN${ac_dC}1${ac_dD}
+-${ac_uA}HAVE_STRSPN${ac_uB}HAVE_STRSPN${ac_uC}1${ac_uD}
+-${ac_eA}HAVE_STRSPN${ac_eB}HAVE_STRSPN${ac_eC}1${ac_eD}
+-${ac_dA}HAVE_STRTOL${ac_dB}HAVE_STRTOL${ac_dC}1${ac_dD}
+-${ac_uA}HAVE_STRTOL${ac_uB}HAVE_STRTOL${ac_uC}1${ac_uD}
+-${ac_eA}HAVE_STRTOL${ac_eB}HAVE_STRTOL${ac_eC}1${ac_eD}
+-CEOF
+- sed -f conftest.frag conftest.in > conftest.out
+- rm -f conftest.in
+- mv conftest.out conftest.in
+-
+- cat > conftest.frag <<CEOF
+-${ac_dA}HAVE_INET_ATON${ac_dB}HAVE_INET_ATON${ac_dC}1${ac_dD}
+-${ac_uA}HAVE_INET_ATON${ac_uB}HAVE_INET_ATON${ac_uC}1${ac_uD}
+-${ac_eA}HAVE_INET_ATON${ac_eB}HAVE_INET_ATON${ac_eC}1${ac_eD}
+-${ac_dA}HAVE_GETHOSTBYNAME${ac_dB}HAVE_GETHOSTBYNAME${ac_dC}1${ac_dD}
+-${ac_uA}HAVE_GETHOSTBYNAME${ac_uB}HAVE_GETHOSTBYNAME${ac_uC}1${ac_uD}
+-${ac_eA}HAVE_GETHOSTBYNAME${ac_eB}HAVE_GETHOSTBYNAME${ac_eC}1${ac_eD}
+-${ac_dA}HAVE_LIBDL${ac_dB}HAVE_LIBDL${ac_dC}1${ac_dD}
+-${ac_uA}HAVE_LIBDL${ac_uB}HAVE_LIBDL${ac_uC}1${ac_uD}
+-${ac_eA}HAVE_LIBDL${ac_eB}HAVE_LIBDL${ac_eC}1${ac_eD}
+-${ac_dA}ALLOW_ENV_CONFIG${ac_dB}ALLOW_ENV_CONFIG${ac_dC}1${ac_dD}
+-${ac_uA}ALLOW_ENV_CONFIG${ac_uB}ALLOW_ENV_CONFIG${ac_uC}1${ac_uD}
+-${ac_eA}ALLOW_ENV_CONFIG${ac_eB}ALLOW_ENV_CONFIG${ac_eC}1${ac_eD}
+-CEOF
+- sed -f conftest.frag conftest.in > conftest.out
+- rm -f conftest.in
+- mv conftest.out conftest.in
+-
+- cat > conftest.frag <<CEOF
+-${ac_dA}ALLOW_MSG_OUTPUT${ac_dB}ALLOW_MSG_OUTPUT${ac_dC}1${ac_dD}
+-${ac_uA}ALLOW_MSG_OUTPUT${ac_uB}ALLOW_MSG_OUTPUT${ac_uC}1${ac_uD}
+-${ac_eA}ALLOW_MSG_OUTPUT${ac_eB}ALLOW_MSG_OUTPUT${ac_eC}1${ac_eD}
+-${ac_dA}HOSTNAMES${ac_dB}HOSTNAMES${ac_dC}1${ac_dD}
+-${ac_uA}HOSTNAMES${ac_uB}HOSTNAMES${ac_uC}1${ac_uD}
+-${ac_eA}HOSTNAMES${ac_eB}HOSTNAMES${ac_eC}1${ac_eD}
+-${ac_dA}SELECT_SIGNATURE${ac_dB}SELECT_SIGNATURE${ac_dC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_dD}
+-${ac_uA}SELECT_SIGNATURE${ac_uB}SELECT_SIGNATURE${ac_uC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_uD}
+-${ac_eA}SELECT_SIGNATURE${ac_eB}SELECT_SIGNATURE${ac_eC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_eD}
+-${ac_dA}CONNECT_SIGNATURE${ac_dB}CONNECT_SIGNATURE${ac_dC}int __fd, const struct sockaddr_in * __addr, socklen_t __len${ac_dD}
+-${ac_uA}CONNECT_SIGNATURE${ac_uB}CONNECT_SIGNATURE${ac_uC}int __fd, const struct sockaddr_in * __addr, socklen_t __len${ac_uD}
+-${ac_eA}CONNECT_SIGNATURE${ac_eB}CONNECT_SIGNATURE${ac_eC}int __fd, const struct sockaddr_in * __addr, socklen_t __len${ac_eD}
+-CEOF
+- sed -f conftest.frag conftest.in > conftest.out
+- rm -f conftest.in
+- mv conftest.out conftest.in
+-
+- cat > conftest.frag <<CEOF
+-${ac_dA}CONNECT_SOCKARG${ac_dB}CONNECT_SOCKARG${ac_dC}struct sockaddr_in *${ac_dD}
+-${ac_uA}CONNECT_SOCKARG${ac_uB}CONNECT_SOCKARG${ac_uC}struct sockaddr_in *${ac_uD}
+-${ac_eA}CONNECT_SOCKARG${ac_eB}CONNECT_SOCKARG${ac_eC}struct sockaddr_in *${ac_eD}
+-${ac_dA}CLOSE_SIGNATURE${ac_dB}CLOSE_SIGNATURE${ac_dC}int fd${ac_dD}
+-${ac_uA}CLOSE_SIGNATURE${ac_uB}CLOSE_SIGNATURE${ac_uC}int fd${ac_uD}
+-${ac_eA}CLOSE_SIGNATURE${ac_eB}CLOSE_SIGNATURE${ac_eC}int fd${ac_eD}
+-${ac_dA}POLL_SIGNATURE${ac_dB}POLL_SIGNATURE${ac_dC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_dD}
+-${ac_uA}POLL_SIGNATURE${ac_uB}POLL_SIGNATURE${ac_uC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_uD}
+-${ac_eA}POLL_SIGNATURE${ac_eB}POLL_SIGNATURE${ac_eC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_eD}
+-s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+-CEOF
+- sed -f conftest.frag conftest.in > conftest.out
+- rm -f conftest.in
+- mv conftest.out conftest.in
+-
+- rm -f conftest.frag conftest.h
+- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
+- cat conftest.in >> conftest.h
+- rm -f conftest.in
+- if cmp -s $ac_file conftest.h 2>/dev/null; then
+- echo "$ac_file is unchanged"
+- rm -f conftest.h
+- else
+- # Remove last slash and all that follows it. Not all systems have dirname.
+- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+- # The file is in a subdirectory.
+- test ! -d "$ac_dir" && mkdir "$ac_dir"
+- fi
+- rm -f $ac_file
+- mv conftest.h $ac_file
+- fi
+-fi; done
+-
+-
+-
+-exit 0
+diff -rN -U 5 tsocks-1.8/configure tsocks/configure
+--- tsocks-1.8/configure 2002-07-16 10:51:08.000000000 +1200
++++ tsocks/configure 2005-10-02 21:57:17.000000000 +1300
+@@ -1,53 +1,345 @@
+ #! /bin/sh
+-
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated automatically using autoconf version 2.13
+-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
++# Generated by GNU Autoconf 2.59.
+ #
++# Copyright (C) 2003 Free Software Foundation, Inc.
+ # This configure script is free software; the Free Software Foundation
+ # gives unlimited permission to copy, distribute and modify it.
++## --------------------- ##
++## M4sh Initialization. ##
++## --------------------- ##
++
++# Be Bourne compatible
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
++ set -o posix
++fi
++DUALCASE=1; export DUALCASE # for MKS sh
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++fi
++
++
++# Work around bugs in pre-3.0 UWIN ksh.
++$as_unset ENV MAIL MAILPATH
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ $as_unset $as_var
++ fi
++done
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
++ as_basename=basename
++else
++ as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)$' \| \
++ . : '\(.\)' 2>/dev/null ||
++echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
++ /^X\/\(\/\/\)$/{ s//\1/; q; }
++ /^X\/\(\/\).*/{ s//\1/; q; }
++ s/.*/./; q'`
++
++
++# PATH needs CR, and LINENO needs CR and PATH.
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x$as_lineno_3" = "x$as_lineno_2" || {
++ # Find who we are. Look in the path if we contain no path at all
++ # relative or not.
++ case $0 in
++ *[\\/]* ) as_myself=$0 ;;
++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++
++ ;;
++ esac
++ # We did not find ourselves, most probably we were run as `sh COMMAND'
++ # in which case we are not to be found in the path.
++ if test "x$as_myself" = x; then
++ as_myself=$0
++ fi
++ if test ! -f "$as_myself"; then
++ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
++ { (exit 1); exit 1; }; }
++ fi
++ case $CONFIG_SHELL in
++ '')
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for as_base in sh bash ksh sh5; do
++ case $as_dir in
++ /*)
++ if ("$as_dir/$as_base" -c '
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
++ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
++ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
++ CONFIG_SHELL=$as_dir/$as_base
++ export CONFIG_SHELL
++ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
++ fi;;
++ esac
++ done
++done
++;;
++ esac
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line before each line; the second 'sed' does the real
++ # work. The second script uses 'N' to pair each line-number line
++ # with the numbered line, and appends trailing '-' during
++ # substitution so that $LINENO is not a special case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
++ sed '=' <$as_myself |
++ sed '
++ N
++ s,$,-,
++ : loop
++ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
++ t loop
++ s,-$,,
++ s,^['$as_cr_digits']*\n,,
++ ' >$as_me.lineno &&
++ chmod +x $as_me.lineno ||
++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
++
++ # Don't try to exec as it changes $[0], causing all sort of problems
++ # (the dirname of $[0] is not the place where we might find the
++ # original and so on. Autoconf is especially sensible to this).
++ . ./$as_me.lineno
++ # Exit status is that of the last command.
++ exit
++}
++
++
++case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
++ *c*,-n*) ECHO_N= ECHO_C='
++' ECHO_T=' ' ;;
++ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
++ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++echo >conf$$.file
++if ln -s conf$$.file conf$$ 2>/dev/null; then
++ # We could just check for DJGPP; but this test a) works b) is more generic
++ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
++ if test -f conf$$.exe; then
++ # Don't use ln at all; we don't have any links
++ as_ln_s='cp -p'
++ else
++ as_ln_s='ln -s'
++ fi
++elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++else
++ as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.file
++
++if mkdir -p . 2>/dev/null; then
++ as_mkdir_p=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++as_executable_p="test -f"
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++# IFS
++# We need space, tab and new line, in precisely that order.
++as_nl='
++'
++IFS=" $as_nl"
++
++# CDPATH.
++$as_unset CDPATH
++
+
+-# Defaults:
+-ac_help=
++# Name of the host.
++# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
++# so uname gets run too.
++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
++
++exec 6>&1
++
++#
++# Initializations.
++#
+ ac_default_prefix=/usr/local
+-# Any additions from configure.in:
++ac_config_libobj_dir=.
++cross_compiling=no
++subdirs=
++MFLAGS=
++MAKEFLAGS=
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++# Maximum number of lines to put in a shell here document.
++# This variable seems obsolete. It should probably be removed, and
++# only ac_max_sed_lines should be used.
++: ${ac_max_here_lines=38}
++
++# Identity of this package.
++PACKAGE_NAME=
++PACKAGE_TARNAME=
++PACKAGE_VERSION=
++PACKAGE_STRING=
++PACKAGE_BUGREPORT=
++
++ac_unique_file="saveme.c"
+ ac_default_prefix=/usr
+-ac_help="$ac_help
+- --enable-socksdns force dns lookups to use tcp "
+-ac_help="$ac_help
+- --disable-debug disable ALL error messages from tsocks "
+-ac_help="$ac_help
+- --enable-oldmethod use the old method to override connect "
+-ac_help="$ac_help
+- --disable-hostnames disable hostname lookups for socks servers "
+-ac_help="$ac_help
+- --disable-envconf do not allow TSOCKS_CONF_FILE to specify configuration file "
+-ac_help="$ac_help
+- --with-conf=<file> location of configuration file (/etc/tsocks.conf default)"
++# Factoring default headers for most tests.
++ac_includes_default="\
++#include <stdio.h>
++#if HAVE_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++#if HAVE_SYS_STAT_H
++# include <sys/stat.h>
++#endif
++#if STDC_HEADERS
++# include <stdlib.h>
++# include <stddef.h>
++#else
++# if HAVE_STDLIB_H
++# include <stdlib.h>
++# endif
++#endif
++#if HAVE_STRING_H
++# if !STDC_HEADERS && HAVE_MEMORY_H
++# include <memory.h>
++# endif
++# include <string.h>
++#endif
++#if HAVE_STRINGS_H
++# include <strings.h>
++#endif
++#if HAVE_INTTYPES_H
++# include <inttypes.h>
++#else
++# if HAVE_STDINT_H
++# include <stdint.h>
++# endif
++#endif
++#if HAVE_UNISTD_H
++# include <unistd.h>
++#endif"
++
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S CPP EGREP DEADPOOL_O FIND TAIL SPECIALLIBS LIBOBJS LTLIBOBJS'
++ac_subst_files=''
+
+ # Initialize some variables set by options.
++ac_init_help=
++ac_init_version=false
+ # The variables have the same names as the options, with
+ # dashes changed to underlines.
+-build=NONE
+-cache_file=./config.cache
++cache_file=/dev/null
+ exec_prefix=NONE
+-host=NONE
+ no_create=
+-nonopt=NONE
+ no_recursion=
+ prefix=NONE
+ program_prefix=NONE
+ program_suffix=NONE
+ program_transform_name=s,x,x,
+ silent=
+ site=
+ srcdir=
+-target=NONE
+ verbose=
+ x_includes=NONE
+ x_libraries=NONE
++
++# Installation directory options.
++# These are left unexpanded so users can "make install exec_prefix=/foo"
++# and all the variables that are supposed to be based on exec_prefix
++# by default will actually change.
++# Use braces instead of parens because sh, perl, etc. also accept them.
+ bindir='${exec_prefix}/bin'
+ sbindir='${exec_prefix}/sbin'
+ libexecdir='${exec_prefix}/libexec'
+ datadir='${prefix}/share'
+ sysconfdir='${prefix}/etc'
+@@ -57,199 +349,143 @@
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+ infodir='${prefix}/info'
+ mandir='${prefix}/man'
+
+-# Initialize some other variables.
+-subdirs=
+-MFLAGS= MAKEFLAGS=
+-SHELL=${CONFIG_SHELL-/bin/sh}
+-# Maximum number of lines to put in a shell here document.
+-ac_max_here_lines=12
+-
+ ac_prev=
+ for ac_option
+ do
+-
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+- case "$ac_option" in
+- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+- *) ac_optarg= ;;
+- esac
++ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+- case "$ac_option" in
++ case $ac_option in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+- bindir="$ac_optarg" ;;
++ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+- ac_prev=build ;;
++ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+- build="$ac_optarg" ;;
++ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+- cache_file="$ac_optarg" ;;
++ cache_file=$ac_optarg ;;
++
++ --config-cache | -C)
++ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+- datadir="$ac_optarg" ;;
++ datadir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
++ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+- fi
+- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+- eval "enable_${ac_feature}=no" ;;
++ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++ { (exit 1); exit 1; }; }
++ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
++ eval "enable_$ac_feature=no" ;;
+
+ -enable-* | --enable-*)
+- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
++ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+- fi
+- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+- case "$ac_option" in
+- *=*) ;;
++ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++ { (exit 1); exit 1; }; }
++ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
++ case $ac_option in
++ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+- eval "enable_${ac_feature}='$ac_optarg'" ;;
++ eval "enable_$ac_feature='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+- exec_prefix="$ac_optarg" ;;
++ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+- -help | --help | --hel | --he)
+- # Omit some internal or obsolete options to make the list less imposing.
+- # This message is too long to be a string in the A/UX 3.1 sh.
+- cat << EOF
+-Usage: configure [options] [host]
+-Options: [defaults in brackets after descriptions]
+-Configuration:
+- --cache-file=FILE cache test results in FILE
+- --help print this message
+- --no-create do not create output files
+- --quiet, --silent do not print \`checking...' messages
+- --version print the version of autoconf that created configure
+-Directory and file names:
+- --prefix=PREFIX install architecture-independent files in PREFIX
+- [$ac_default_prefix]
+- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+- [same as prefix]
+- --bindir=DIR user executables in DIR [EPREFIX/bin]
+- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+- --datadir=DIR read-only architecture-independent data in DIR
+- [PREFIX/share]
+- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+- --sharedstatedir=DIR modifiable architecture-independent data in DIR
+- [PREFIX/com]
+- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+- --includedir=DIR C header files in DIR [PREFIX/include]
+- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+- --infodir=DIR info documentation in DIR [PREFIX/info]
+- --mandir=DIR man documentation in DIR [PREFIX/man]
+- --srcdir=DIR find the sources in DIR [configure dir or ..]
+- --program-prefix=PREFIX prepend PREFIX to installed program names
+- --program-suffix=SUFFIX append SUFFIX to installed program names
+- --program-transform-name=PROGRAM
+- run sed PROGRAM on installed program names
+-EOF
+- cat << EOF
+-Host type:
+- --build=BUILD configure for building on BUILD [BUILD=HOST]
+- --host=HOST configure for HOST [guessed]
+- --target=TARGET configure for TARGET [TARGET=HOST]
+-Features and packages:
+- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+- --x-includes=DIR X include files are in DIR
+- --x-libraries=DIR X library files are in DIR
+-EOF
+- if test -n "$ac_help"; then
+- echo "--enable and --with options recognized:$ac_help"
+- fi
+- exit 0 ;;
++ -help | --help | --hel | --he | -h)
++ ac_init_help=long ;;
++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
++ ac_init_help=recursive ;;
++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
++ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+- ac_prev=host ;;
++ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+- host="$ac_optarg" ;;
++ host_alias=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+- includedir="$ac_optarg" ;;
++ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+- infodir="$ac_optarg" ;;
++ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+- libdir="$ac_optarg" ;;
++ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+- libexecdir="$ac_optarg" ;;
++ libexecdir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+- localstatedir="$ac_optarg" ;;
++ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+- mandir="$ac_optarg" ;;
++ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+- | --no-cr | --no-c)
++ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+@@ -259,30 +495,30 @@
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+- oldincludedir="$ac_optarg" ;;
++ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+- prefix="$ac_optarg" ;;
++ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+- program_prefix="$ac_optarg" ;;
++ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+- program_suffix="$ac_optarg" ;;
++ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+@@ -295,305 +531,842 @@
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+- program_transform_name="$ac_optarg" ;;
++ program_transform_name=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+- sbindir="$ac_optarg" ;;
++ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+- sharedstatedir="$ac_optarg" ;;
++ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+- site="$ac_optarg" ;;
++ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+- srcdir="$ac_optarg" ;;
++ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+- sysconfdir="$ac_optarg" ;;
++ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+- ac_prev=target ;;
++ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+- target="$ac_optarg" ;;
++ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+- -version | --version | --versio | --versi | --vers)
+- echo "configure generated by autoconf version 2.13"
+- exit 0 ;;
++ -version | --version | --versio | --versi | --vers | -V)
++ ac_init_version=: ;;
+
+ -with-* | --with-*)
+- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
++ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+- fi
++ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid package name: $ac_package" >&2
++ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+- case "$ac_option" in
+- *=*) ;;
++ case $ac_option in
++ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+- eval "with_${ac_package}='$ac_optarg'" ;;
++ eval "with_$ac_package='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
++ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+- fi
+- ac_package=`echo $ac_package| sed 's/-/_/g'`
+- eval "with_${ac_package}=no" ;;
++ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid package name: $ac_package" >&2
++ { (exit 1); exit 1; }; }
++ ac_package=`echo $ac_package | sed 's/-/_/g'`
++ eval "with_$ac_package=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+- x_includes="$ac_optarg" ;;
++ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+- x_libraries="$ac_optarg" ;;
++ x_libraries=$ac_optarg ;;
+
+- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
++ -*) { echo "$as_me: error: unrecognized option: $ac_option
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; }
+ ;;
+
++ *=*)
++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
++ { (exit 1); exit 1; }; }
++ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
++ eval "$ac_envvar='$ac_optarg'"
++ export $ac_envvar ;;
++
+ *)
+- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+- echo "configure: warning: $ac_option: invalid host type" 1>&2
+- fi
+- if test "x$nonopt" != xNONE; then
+- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+- fi
+- nonopt="$ac_option"
++ # FIXME: should be removed in autoconf 3.0.
++ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
++ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+ done
+
+ if test -n "$ac_prev"; then
+- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+-fi
+-
+-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+-
+-# File descriptor usage:
+-# 0 standard input
+-# 1 file creation
+-# 2 errors and warnings
+-# 3 some systems may open it to /dev/tty
+-# 4 used on the Kubota Titan
+-# 6 checking for... messages and results
+-# 5 compiler messages saved in config.log
+-if test "$silent" = yes; then
+- exec 6>/dev/null
+-else
+- exec 6>&1
++ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
++ { echo "$as_me: error: missing argument to $ac_option" >&2
++ { (exit 1); exit 1; }; }
+ fi
+-exec 5>./config.log
+
+-echo "\
+-This file contains any messages produced by compilers while
+-running configure, to aid debugging if configure makes a mistake.
+-" 1>&5
++# Be sure to have absolute paths.
++for ac_var in exec_prefix prefix
++do
++ eval ac_val=$`echo $ac_var`
++ case $ac_val in
++ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
++ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
++ { (exit 1); exit 1; }; };;
++ esac
++done
+
+-# Strip out --no-create and --no-recursion so they do not pile up.
+-# Also quote any args containing shell metacharacters.
+-ac_configure_args=
+-for ac_arg
++# Be sure to have absolute paths.
++for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
++ localstatedir libdir includedir oldincludedir infodir mandir
+ do
+- case "$ac_arg" in
+- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+- | --no-cr | --no-c) ;;
+- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
++ eval ac_val=$`echo $ac_var`
++ case $ac_val in
++ [\\/$]* | ?:[\\/]* ) ;;
++ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
++ { (exit 1); exit 1; }; };;
+ esac
+ done
+
+-# NLS nuisances.
+-# Only set these to C if already set. These must not be set unconditionally
+-# because not all systems understand e.g. LANG=C (notably SCO).
+-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+-# Non-C LC_CTYPE values break the ctype check.
+-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
++# There might be people who depend on the old broken behavior: `$host'
++# used to hold the argument of --host etc.
++# FIXME: To remove some day.
++build=$build_alias
++host=$host_alias
++target=$target_alias
++
++# FIXME: To remove some day.
++if test "x$host_alias" != x; then
++ if test "x$build_alias" = x; then
++ cross_compiling=maybe
++ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
++ If a cross compiler is detected then cross compile mode will be used." >&2
++ elif test "x$build_alias" != "x$host_alias"; then
++ cross_compiling=yes
++ fi
++fi
+
+-# confdefs.h avoids OS command line length limits that DEFS can exceed.
+-rm -rf conftest* confdefs.h
+-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+-echo > confdefs.h
++ac_tool_prefix=
++test -n "$host_alias" && ac_tool_prefix=$host_alias-
++
++test "$silent" = yes && exec 6>/dev/null
+
+-# A filename unique to this package, relative to the directory that
+-# configure is in, which we can look for to find out if srcdir is correct.
+-ac_unique_file=saveme.c
+
+ # Find the source files, if location was not specified.
+ if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+- ac_prog=$0
+- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
++ ac_confdir=`(dirname "$0") 2>/dev/null ||
++$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$0" : 'X\(//\)[^/]' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| \
++ . : '\(.\)' 2>/dev/null ||
++echo X"$0" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
++ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
++ /^X\(\/\/\)$/{ s//\1/; q; }
++ /^X\(\/\).*/{ s//\1/; q; }
++ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+ else
+ ac_srcdir_defaulted=no
+ fi
+ if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
++ { (exit 1); exit 1; }; }
+ else
+- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
++ { (exit 1); exit 1; }; }
+ fi
+ fi
+-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
++(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
++ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
++ { (exit 1); exit 1; }; }
++srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
++ac_env_build_alias_set=${build_alias+set}
++ac_env_build_alias_value=$build_alias
++ac_cv_env_build_alias_set=${build_alias+set}
++ac_cv_env_build_alias_value=$build_alias
++ac_env_host_alias_set=${host_alias+set}
++ac_env_host_alias_value=$host_alias
++ac_cv_env_host_alias_set=${host_alias+set}
++ac_cv_env_host_alias_value=$host_alias
++ac_env_target_alias_set=${target_alias+set}
++ac_env_target_alias_value=$target_alias
++ac_cv_env_target_alias_set=${target_alias+set}
++ac_cv_env_target_alias_value=$target_alias
++ac_env_CC_set=${CC+set}
++ac_env_CC_value=$CC
++ac_cv_env_CC_set=${CC+set}
++ac_cv_env_CC_value=$CC
++ac_env_CFLAGS_set=${CFLAGS+set}
++ac_env_CFLAGS_value=$CFLAGS
++ac_cv_env_CFLAGS_set=${CFLAGS+set}
++ac_cv_env_CFLAGS_value=$CFLAGS
++ac_env_LDFLAGS_set=${LDFLAGS+set}
++ac_env_LDFLAGS_value=$LDFLAGS
++ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
++ac_cv_env_LDFLAGS_value=$LDFLAGS
++ac_env_CPPFLAGS_set=${CPPFLAGS+set}
++ac_env_CPPFLAGS_value=$CPPFLAGS
++ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
++ac_cv_env_CPPFLAGS_value=$CPPFLAGS
++ac_env_CPP_set=${CPP+set}
++ac_env_CPP_value=$CPP
++ac_cv_env_CPP_set=${CPP+set}
++ac_cv_env_CPP_value=$CPP
++
++#
++# Report the --help message.
++#
++if test "$ac_init_help" = "long"; then
++ # Omit some internal or obsolete options to make the list less imposing.
++ # This message is too long to be a string in the A/UX 3.1 sh.
++ cat <<_ACEOF
++\`configure' configures this package to adapt to many kinds of systems.
++
++Usage: $0 [OPTION]... [VAR=VALUE]...
++
++To assign environment variables (e.g., CC, CFLAGS...), specify them as
++VAR=VALUE. See below for descriptions of some of the useful variables.
++
++Defaults for the options are specified in brackets.
++
++Configuration:
++ -h, --help display this help and exit
++ --help=short display options specific to this package
++ --help=recursive display the short help of all the included packages
++ -V, --version display version information and exit
++ -q, --quiet, --silent do not print \`checking...' messages
++ --cache-file=FILE cache test results in FILE [disabled]
++ -C, --config-cache alias for \`--cache-file=config.cache'
++ -n, --no-create do not create output files
++ --srcdir=DIR find the sources in DIR [configure dir or \`..']
++
++_ACEOF
++
++ cat <<_ACEOF
++Installation directories:
++ --prefix=PREFIX install architecture-independent files in PREFIX
++ [$ac_default_prefix]
++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
++ [PREFIX]
++
++By default, \`make install' will install all the files in
++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
++an installation prefix other than \`$ac_default_prefix' using \`--prefix',
++for instance \`--prefix=\$HOME'.
++
++For better control, use the options below.
++
++Fine tuning of the installation directories:
++ --bindir=DIR user executables [EPREFIX/bin]
++ --sbindir=DIR system admin executables [EPREFIX/sbin]
++ --libexecdir=DIR program executables [EPREFIX/libexec]
++ --datadir=DIR read-only architecture-independent data [PREFIX/share]
++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
++ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
++ --libdir=DIR object code libraries [EPREFIX/lib]
++ --includedir=DIR C header files [PREFIX/include]
++ --oldincludedir=DIR C header files for non-gcc [/usr/include]
++ --infodir=DIR info documentation [PREFIX/info]
++ --mandir=DIR man documentation [PREFIX/man]
++_ACEOF
++
++ cat <<\_ACEOF
++
++System types:
++ --build=BUILD configure for building on BUILD [guessed]
++ --host=HOST cross-compile to build programs to run on HOST [BUILD]
++_ACEOF
++fi
++
++if test -n "$ac_init_help"; then
++
++ cat <<\_ACEOF
++
++Optional Features:
++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
++ --enable-socksdns force dns lookups to use tcp
++ --disable-tordns don't override name lookup calls to use SOCKS
++ --disable-debug disable ALL error messages from tsocks
++ --enable-oldmethod use the old method to override connect
++ --enable-hostnames enable hostname lookups for socks servers
++ --disable-envconf do not allow TSOCKS_CONF_FILE to specify configuration file
++
++Optional Packages:
++ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
++ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
++ --with-conf=<file> location of configuration file (/etc/tsocks.conf default)
++
++Some influential environment variables:
++ CC C compiler command
++ CFLAGS C compiler flags
++ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
++ nonstandard directory <lib dir>
++ CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
++ headers in a nonstandard directory <include dir>
++ CPP C preprocessor
++
++Use these variables to override the choices made by `configure' or to help
++it to find libraries and programs with nonstandard names/locations.
++
++_ACEOF
++fi
++
++if test "$ac_init_help" = "recursive"; then
++ # If there are subdirs, report their specific --help.
++ ac_popdir=`pwd`
++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
++ test -d $ac_dir || continue
++ ac_builddir=.
++
++if test "$ac_dir" != .; then
++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++ # A "../" for each directory in $ac_dir_suffix.
++ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
++else
++ ac_dir_suffix= ac_top_builddir=
++fi
++
++case $srcdir in
++ .) # No --srcdir option. We are building in place.
++ ac_srcdir=.
++ if test -z "$ac_top_builddir"; then
++ ac_top_srcdir=.
++ else
++ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
++ fi ;;
++ [\\/]* | ?:[\\/]* ) # Absolute path.
++ ac_srcdir=$srcdir$ac_dir_suffix;
++ ac_top_srcdir=$srcdir ;;
++ *) # Relative path.
++ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
++ ac_top_srcdir=$ac_top_builddir$srcdir ;;
++esac
++
++# Do not use `cd foo && pwd` to compute absolute paths, because
++# the directories may not exist.
++case `pwd` in
++.) ac_abs_builddir="$ac_dir";;
++*)
++ case "$ac_dir" in
++ .) ac_abs_builddir=`pwd`;;
++ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
++ *) ac_abs_builddir=`pwd`/"$ac_dir";;
++ esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_top_builddir=${ac_top_builddir}.;;
++*)
++ case ${ac_top_builddir}. in
++ .) ac_abs_top_builddir=$ac_abs_builddir;;
++ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
++ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
++ esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_srcdir=$ac_srcdir;;
++*)
++ case $ac_srcdir in
++ .) ac_abs_srcdir=$ac_abs_builddir;;
++ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
++ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
++ esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_top_srcdir=$ac_top_srcdir;;
++*)
++ case $ac_top_srcdir in
++ .) ac_abs_top_srcdir=$ac_abs_builddir;;
++ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
++ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
++ esac;;
++esac
++
++ cd $ac_dir
++ # Check for guested configure; otherwise get Cygnus style configure.
++ if test -f $ac_srcdir/configure.gnu; then
++ echo
++ $SHELL $ac_srcdir/configure.gnu --help=recursive
++ elif test -f $ac_srcdir/configure; then
++ echo
++ $SHELL $ac_srcdir/configure --help=recursive
++ elif test -f $ac_srcdir/configure.ac ||
++ test -f $ac_srcdir/configure.in; then
++ echo
++ $ac_configure --help
++ else
++ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
++ fi
++ cd "$ac_popdir"
++ done
++fi
++
++test -n "$ac_init_help" && exit 0
++if $ac_init_version; then
++ cat <<\_ACEOF
++
++Copyright (C) 2003 Free Software Foundation, Inc.
++This configure script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it.
++_ACEOF
++ exit 0
++fi
++exec 5>config.log
++cat >&5 <<_ACEOF
++This file contains any messages produced by compilers while
++running configure, to aid debugging if configure makes a mistake.
++
++It was created by $as_me, which was
++generated by GNU Autoconf 2.59. Invocation command line was
++
++ $ $0 $@
++
++_ACEOF
++{
++cat <<_ASUNAME
++## --------- ##
++## Platform. ##
++## --------- ##
++
++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
++uname -m = `(uname -m) 2>/dev/null || echo unknown`
++uname -r = `(uname -r) 2>/dev/null || echo unknown`
++uname -s = `(uname -s) 2>/dev/null || echo unknown`
++uname -v = `(uname -v) 2>/dev/null || echo unknown`
++
++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
++
++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
++hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
++
++_ASUNAME
++
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ echo "PATH: $as_dir"
++done
++
++} >&5
++
++cat >&5 <<_ACEOF
++
++
++## ----------- ##
++## Core tests. ##
++## ----------- ##
++
++_ACEOF
++
++
++# Keep a trace of the command line.
++# Strip out --no-create and --no-recursion so they do not pile up.
++# Strip out --silent because we don't want to record it for future runs.
++# Also quote any args containing shell meta-characters.
++# Make two passes to allow for proper duplicate-argument suppression.
++ac_configure_args=
++ac_configure_args0=
++ac_configure_args1=
++ac_sep=
++ac_must_keep_next=false
++for ac_pass in 1 2
++do
++ for ac_arg
++ do
++ case $ac_arg in
++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil)
++ continue ;;
++ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
++ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++ esac
++ case $ac_pass in
++ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
++ 2)
++ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
++ if test $ac_must_keep_next = true; then
++ ac_must_keep_next=false # Got value, back to normal.
++ else
++ case $ac_arg in
++ *=* | --config-cache | -C | -disable-* | --disable-* \
++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
++ | -with-* | --with-* | -without-* | --without-* | --x)
++ case "$ac_configure_args0 " in
++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
++ esac
++ ;;
++ -* ) ac_must_keep_next=true ;;
++ esac
++ fi
++ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
++ # Get rid of the leading space.
++ ac_sep=" "
++ ;;
++ esac
++ done
++done
++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
++
++# When interrupted or exit'd, cleanup temporary files, and complete
++# config.log. We remove comments because anyway the quotes in there
++# would cause problems or look ugly.
++# WARNING: Be sure not to use single quotes in there, as some shells,
++# such as our DU 5.0 friend, will then `close' the trap.
++trap 'exit_status=$?
++ # Save into config.log some information that might help in debugging.
++ {
++ echo
++
++ cat <<\_ASBOX
++## ---------------- ##
++## Cache variables. ##
++## ---------------- ##
++_ASBOX
++ echo
++ # The following way of writing the cache mishandles newlines in values,
++{
++ (set) 2>&1 |
++ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
++ *ac_space=\ *)
++ sed -n \
++ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
++ ;;
++ *)
++ sed -n \
++ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
++ ;;
++ esac;
++}
++ echo
++
++ cat <<\_ASBOX
++## ----------------- ##
++## Output variables. ##
++## ----------------- ##
++_ASBOX
++ echo
++ for ac_var in $ac_subst_vars
++ do
++ eval ac_val=$`echo $ac_var`
++ echo "$ac_var='"'"'$ac_val'"'"'"
++ done | sort
++ echo
++
++ if test -n "$ac_subst_files"; then
++ cat <<\_ASBOX
++## ------------- ##
++## Output files. ##
++## ------------- ##
++_ASBOX
++ echo
++ for ac_var in $ac_subst_files
++ do
++ eval ac_val=$`echo $ac_var`
++ echo "$ac_var='"'"'$ac_val'"'"'"
++ done | sort
++ echo
++ fi
++
++ if test -s confdefs.h; then
++ cat <<\_ASBOX
++## ----------- ##
++## confdefs.h. ##
++## ----------- ##
++_ASBOX
++ echo
++ sed "/^$/d" confdefs.h | sort
++ echo
++ fi
++ test "$ac_signal" != 0 &&
++ echo "$as_me: caught signal $ac_signal"
++ echo "$as_me: exit $exit_status"
++ } >&5
++ rm -f core *.core &&
++ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
++ exit $exit_status
++ ' 0
++for ac_signal in 1 2 13 15; do
++ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
++done
++ac_signal=0
++
++# confdefs.h avoids OS command line length limits that DEFS can exceed.
++rm -rf conftest* confdefs.h
++# AIX cpp loses on an empty file, so make sure it contains at least a newline.
++echo >confdefs.h
++
++# Predefined preprocessor variables.
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_NAME "$PACKAGE_NAME"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
++_ACEOF
+
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_VERSION "$PACKAGE_VERSION"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_STRING "$PACKAGE_STRING"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
++_ACEOF
++
++
++# Let the site file select an alternate cache file if it wants to.
+ # Prefer explicitly selected file to automatically selected ones.
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+ for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+- echo "loading site script $ac_site_file"
++ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
++echo "$as_me: loading site script $ac_site_file" >&6;}
++ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+ done
+
+ if test -r "$cache_file"; then
+- echo "loading cache $cache_file"
+- . $cache_file
++ # Some versions of bash will fail to source /dev/null (special
++ # files actually), so we avoid doing that.
++ if test -f "$cache_file"; then
++ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
++echo "$as_me: loading cache $cache_file" >&6;}
++ case $cache_file in
++ [\\/]* | ?:[\\/]* ) . $cache_file;;
++ *) . ./$cache_file;;
++ esac
++ fi
+ else
+- echo "creating cache $cache_file"
+- > $cache_file
++ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
++echo "$as_me: creating cache $cache_file" >&6;}
++ >$cache_file
++fi
++
++# Check that the precious variables saved in the cache have kept the same
++# value.
++ac_cache_corrupted=false
++for ac_var in `(set) 2>&1 |
++ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
++ eval ac_old_set=\$ac_cv_env_${ac_var}_set
++ eval ac_new_set=\$ac_env_${ac_var}_set
++ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
++ eval ac_new_val="\$ac_env_${ac_var}_value"
++ case $ac_old_set,$ac_new_set in
++ set,)
++ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
++ ac_cache_corrupted=: ;;
++ ,set)
++ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
++echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
++ ac_cache_corrupted=: ;;
++ ,);;
++ *)
++ if test "x$ac_old_val" != "x$ac_new_val"; then
++ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
++echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
++ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
++echo "$as_me: former value: $ac_old_val" >&2;}
++ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
++echo "$as_me: current value: $ac_new_val" >&2;}
++ ac_cache_corrupted=:
++ fi;;
++ esac
++ # Pass precious variables to config.status.
++ if test "$ac_new_set" = set; then
++ case $ac_new_val in
++ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
++ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
++ *) ac_arg=$ac_var=$ac_new_val ;;
++ esac
++ case " $ac_configure_args " in
++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
++ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
++ esac
++ fi
++done
++if $ac_cache_corrupted; then
++ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
++echo "$as_me: error: changes in the environment can compromise the build" >&2;}
++ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+ ac_ext=c
+-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+-cross_compiling=$ac_cv_prog_cc_cross
+-
+-ac_exeext=
+-ac_objext=o
+-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+- # Stardent Vistra SVR4 grep lacks -e, says ghazi(a)caip.rutgers.edu.
+- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+- ac_n= ac_c='
+-' ac_t=' '
+- else
+- ac_n=-n ac_c= ac_t=
+- fi
+-else
+- ac_n= ac_c='\c' ac_t=
+-fi
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+
+
+
+
++ ac_config_headers="$ac_config_headers config.h"
++
++
++
++
+ test "$libdir" = "\${exec_prefix}/lib" && libdir="/lib"
+
+ # Check whether --enable-socksdns or --disable-socksdns was given.
+ if test "${enable_socksdns+set}" = set; then
+ enableval="$enable_socksdns"
+- :
+-fi
+
++fi;
++# Check whether --enable-tordns or --disable-tordns was given.
++if test "${enable_tordns+set}" = set; then
++ enableval="$enable_tordns"
++
++fi;
+ # Check whether --enable-debug or --disable-debug was given.
+ if test "${enable_debug+set}" = set; then
+ enableval="$enable_debug"
+- :
+-fi
+
++fi;
+ # Check whether --enable-oldmethod or --disable-oldmethod was given.
+ if test "${enable_oldmethod+set}" = set; then
+ enableval="$enable_oldmethod"
+- :
+-fi
+
++fi;
+ # Check whether --enable-hostnames or --disable-hostnames was given.
+ if test "${enable_hostnames+set}" = set; then
+ enableval="$enable_hostnames"
+- :
+-fi
+
++fi;
+ # Check whether --enable-envconf or --disable-envconf was given.
+ if test "${enable_envconf+set}" = set; then
+ enableval="$enable_envconf"
+- :
+-fi
++
++fi;
+
+ # Check whether --with-conf or --without-conf was given.
+ if test "${with_conf+set}" = set; then
+ withval="$with_conf"
+-
++
+ if test "${withval}" = "yes" ; then
+- { echo "configure: error: "--with-conf requires the location of the configuration file as an argument"" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: \"--with-conf requires the location of the configuration file as an argument\"" >&5
++echo "$as_me: error: \"--with-conf requires the location of the configuration file as an argument\"" >&2;}
++ { (exit 1); exit 1; }; }
+ else
+- cat >> confdefs.h <<EOF
++ cat >>confdefs.h <<_ACEOF
+ #define CONF_FILE "${withval}"
+-EOF
++_ACEOF
+
+ fi
+
+ else
+-
+- cat >> confdefs.h <<EOF
+-#define CONF_FILE "/etc/tsocks.conf"
+-EOF
+
++ cat >>confdefs.h <<_ACEOF
++#define CONF_FILE "/etc/tsocks.conf"
++_ACEOF
+
+-fi
+
++fi;
+
+
+ ac_aux_dir=
+ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+@@ -602,255 +1375,731 @@
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
++ elif test -f $ac_dir/shtool; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/shtool install -c"
++ break
+ fi
+ done
+ if test -z "$ac_aux_dir"; then
+- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+-fi
+-ac_config_guess=$ac_aux_dir/config.guess
+-ac_config_sub=$ac_aux_dir/config.sub
+-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+-
++ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
++echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++ac_config_guess="$SHELL $ac_aux_dir/config.guess"
++ac_config_sub="$SHELL $ac_aux_dir/config.sub"
++ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+ # Make sure we can run config.sub.
+-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+-fi
+-
+-echo $ac_n "checking host system type""... $ac_c" 1>&6
+-echo "configure:624: checking host system type" >&5
+-
+-host_alias=$host
+-case "$host_alias" in
+-NONE)
+- case $nonopt in
+- NONE)
+- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+- fi ;;
+- *) host_alias=$nonopt ;;
+- esac ;;
+-esac
++$ac_config_sub sun4 >/dev/null 2>&1 ||
++ { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
++echo "$as_me: error: cannot run $ac_config_sub" >&2;}
++ { (exit 1); exit 1; }; }
++
++echo "$as_me:$LINENO: checking build system type" >&5
++echo $ECHO_N "checking build system type... $ECHO_C" >&6
++if test "${ac_cv_build+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_build_alias=$build_alias
++test -z "$ac_cv_build_alias" &&
++ ac_cv_build_alias=`$ac_config_guess`
++test -z "$ac_cv_build_alias" &&
++ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
++echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
++ { (exit 1); exit 1; }; }
++ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
++ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
++echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
++ { (exit 1); exit 1; }; }
++
++fi
++echo "$as_me:$LINENO: result: $ac_cv_build" >&5
++echo "${ECHO_T}$ac_cv_build" >&6
++build=$ac_cv_build
++build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
++build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
++build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
++
++
++echo "$as_me:$LINENO: checking host system type" >&5
++echo $ECHO_N "checking host system type... $ECHO_C" >&6
++if test "${ac_cv_host+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_host_alias=$host_alias
++test -z "$ac_cv_host_alias" &&
++ ac_cv_host_alias=$ac_cv_build_alias
++ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
++ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
++echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
++ { (exit 1); exit 1; }; }
++
++fi
++echo "$as_me:$LINENO: result: $ac_cv_host" >&5
++echo "${ECHO_T}$ac_cv_host" >&6
++host=$ac_cv_host
++host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
++host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
++host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+-echo "$ac_t""$host" 1>&6
+
+
+-# Extract the first word of "gcc", so it can be a program name with args.
+-set dummy gcc; ac_word=$2
+-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:648: checking for $ac_word" >&5
+-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}gcc; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+ else
+- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+- ac_dummy="$PATH"
+- for ac_dir in $ac_dummy; do
+- test -z "$ac_dir" && ac_dir=.
+- if test -f $ac_dir/$ac_word; then
+- ac_cv_prog_CC="gcc"
+- break
+- fi
+- done
+- IFS="$ac_save_ifs"
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_CC="${ac_tool_prefix}gcc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6
++else
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++ ac_ct_CC=$CC
++ # Extract the first word of "gcc", so it can be a program name with args.
++set dummy gcc; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_CC"; then
++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_ac_ct_CC="gcc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6
++else
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ CC=$ac_ct_CC
++else
++ CC="$ac_cv_prog_CC"
++fi
++
++if test -z "$CC"; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}cc; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_CC="${ac_tool_prefix}cc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
+ fi
+ fi
+-CC="$ac_cv_prog_CC"
++CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$ac_t""$CC" 1>&6
++ echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6
++else
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++ ac_ct_CC=$CC
++ # Extract the first word of "cc", so it can be a program name with args.
++set dummy cc; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_CC"; then
++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_ac_ct_CC="cc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6
++else
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ CC=$ac_ct_CC
+ else
+- echo "$ac_t""no" 1>&6
++ CC="$ac_cv_prog_CC"
+ fi
+
++fi
+ if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:678: checking for $ac_word" >&5
+-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+ else
+- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+- ac_dummy="$PATH"
+- for ac_dir in $ac_dummy; do
+- test -z "$ac_dir" && ac_dir=.
+- if test -f $ac_dir/$ac_word; then
+- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+- ac_prog_rejected=yes
+- continue
+- fi
+- ac_cv_prog_CC="cc"
+- break
+- fi
+- done
+- IFS="$ac_save_ifs"
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
++ ac_prog_rejected=yes
++ continue
++ fi
++ ac_cv_prog_CC="cc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
+ if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+- if test $# -gt 0; then
++ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+- set dummy "$ac_dir/$ac_word" "$@"
+- shift
+- ac_cv_prog_CC="$@"
++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+ fi
+ fi
+ fi
+-CC="$ac_cv_prog_CC"
++CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$ac_t""$CC" 1>&6
++ echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6
+ else
+- echo "$ac_t""no" 1>&6
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+- if test -z "$CC"; then
+- case "`uname -s`" in
+- *win32* | *WIN32*)
+- # Extract the first word of "cl", so it can be a program name with args.
+-set dummy cl; ac_word=$2
+-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:729: checking for $ac_word" >&5
+-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++fi
++if test -z "$CC"; then
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in cl
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+ else
+- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+- ac_dummy="$PATH"
+- for ac_dir in $ac_dummy; do
+- test -z "$ac_dir" && ac_dir=.
+- if test -f $ac_dir/$ac_word; then
+- ac_cv_prog_CC="cl"
+- break
+- fi
+- done
+- IFS="$ac_save_ifs"
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
+ fi
+ fi
+-CC="$ac_cv_prog_CC"
++CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$ac_t""$CC" 1>&6
++ echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6
+ else
+- echo "$ac_t""no" 1>&6
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+- ;;
+- esac
++
++ test -n "$CC" && break
++ done
++fi
++if test -z "$CC"; then
++ ac_ct_CC=$CC
++ for ac_prog in cl
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_CC"; then
++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_ac_ct_CC="$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
+ fi
+- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
++done
++done
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6
++else
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+-echo "configure:761: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
++ test -n "$ac_ct_CC" && break
++done
+
+-ac_ext=c
+-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+-cross_compiling=$ac_cv_prog_cc_cross
++ CC=$ac_ct_CC
++fi
+
+-cat > conftest.$ac_ext << EOF
++fi
+
+-#line 772 "configure"
+-#include "confdefs.h"
+
+-main(){return(0);}
+-EOF
+-if { (eval echo configure:777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- ac_cv_prog_cc_works=yes
+- # If we can't run a trivial program, we are probably using a cross compiler.
+- if (./conftest; exit) 2>/dev/null; then
+- ac_cv_prog_cc_cross=no
+- else
+- ac_cv_prog_cc_cross=yes
+- fi
++test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&5
++echo "$as_me: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++
++# Provide some information about the compiler.
++echo "$as_me:$LINENO:" \
++ "checking for C compiler version" >&5
++ac_compiler=`set X $ac_compile; echo $2`
++{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
++ (eval $ac_compiler --version </dev/null >&5) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
++ (eval $ac_compiler -v </dev/null >&5) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
++ (eval $ac_compiler -V </dev/null >&5) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files a.out a.exe b.out"
++# Try to create an executable without -o first, disregard a.out.
++# It will help us diagnose broken compilers, and finding out an intuition
++# of exeext.
++echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
++echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
++ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
++if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
++ (eval $ac_link_default) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ # Find the output, starting from the most likely. This scheme is
++# not robust to junk in `.', hence go to wildcards (a.*) only as a last
++# resort.
++
++# Be careful to initialize this variable, since it used to be cached.
++# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
++ac_cv_exeext=
++# b.out is created by i960 compilers.
++for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
++do
++ test -f "$ac_file" || continue
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
++ ;;
++ conftest.$ac_ext )
++ # This is the source file.
++ ;;
++ [ab].out )
++ # We found the default executable, but exeext='' is most
++ # certainly right.
++ break;;
++ *.* )
++ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++ # FIXME: I believe we export ac_cv_exeext for Libtool,
++ # but it would be cool to find out if it's true. Does anybody
++ # maintain Libtool? --akim.
++ export ac_cv_exeext
++ break;;
++ * )
++ break;;
++ esac
++done
+ else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- ac_cv_prog_cc_works=no
+-fi
+-rm -fr conftest*
+-ac_ext=c
+-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+-cross_compiling=$ac_cv_prog_cc_cross
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+-if test $ac_cv_prog_cc_works = no; then
+- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
++{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
++See \`config.log' for more details." >&5
++echo "$as_me: error: C compiler cannot create executables
++See \`config.log' for more details." >&2;}
++ { (exit 77); exit 77; }; }
++fi
++
++ac_exeext=$ac_cv_exeext
++echo "$as_me:$LINENO: result: $ac_file" >&5
++echo "${ECHO_T}$ac_file" >&6
++
++# Check the compiler produces executables we can run. If not, either
++# the compiler is broken, or we cross compile.
++echo "$as_me:$LINENO: checking whether the C compiler works" >&5
++echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
++# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
++# If not cross compiling, check that we can run a simple program.
++if test "$cross_compiling" != yes; then
++ if { ac_try='./$ac_file'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cross_compiling=no
++ else
++ if test "$cross_compiling" = maybe; then
++ cross_compiling=yes
++ else
++ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++ fi
+ fi
+-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+-echo "configure:803: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+-cross_compiling=$ac_cv_prog_cc_cross
++echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
+
+-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+-echo "configure:808: checking whether we are using GNU C" >&5
+-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++rm -f a.out a.exe conftest$ac_cv_exeext b.out
++ac_clean_files=$ac_clean_files_save
++# Check the compiler produces executables we can run. If not, either
++# the compiler is broken, or we cross compile.
++echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
++echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
++echo "$as_me:$LINENO: result: $cross_compiling" >&5
++echo "${ECHO_T}$cross_compiling" >&6
++
++echo "$as_me:$LINENO: checking for suffix of executables" >&5
++echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ # If both `conftest.exe' and `conftest' are `present' (well, observable)
++# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
++# work properly (i.e., refer to `conftest.exe'), while it won't with
++# `rm'.
++for ac_file in conftest.exe conftest conftest.*; do
++ test -f "$ac_file" || continue
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
++ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++ export ac_cv_exeext
++ break;;
++ * ) break;;
++ esac
++done
+ else
+- cat > conftest.c <<EOF
+-#ifdef __GNUC__
+- yes;
+-#endif
+-EOF
+-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+- ac_cv_prog_gcc=yes
++ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++rm -f conftest$ac_cv_exeext
++echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
++echo "${ECHO_T}$ac_cv_exeext" >&6
++
++rm -f conftest.$ac_ext
++EXEEXT=$ac_cv_exeext
++ac_exeext=$EXEEXT
++echo "$as_me:$LINENO: checking for suffix of object files" >&5
++echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
++if test "${ac_cv_objext+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.o conftest.obj
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
++ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
++ break;;
++ esac
++done
+ else
+- ac_cv_prog_gcc=no
+-fi
+-fi
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+-
+-if test $ac_cv_prog_gcc = yes; then
+- GCC=yes
+-else
+- GCC=
+-fi
++{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++rm -f conftest.$ac_cv_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
++echo "${ECHO_T}$ac_cv_objext" >&6
++OBJEXT=$ac_cv_objext
++ac_objext=$OBJEXT
++echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
++echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
++if test "${ac_cv_c_compiler_gnu+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++#ifndef __GNUC__
++ choke me
++#endif
+
+-ac_test_CFLAGS="${CFLAGS+set}"
+-ac_save_CFLAGS="$CFLAGS"
+-CFLAGS=
+-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+-echo "configure:836: checking whether ${CC-cc} accepts -g" >&5
+-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- echo 'void f(){}' > conftest.c
+-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_compiler_gnu=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_compiler_gnu=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_cv_c_compiler_gnu=$ac_compiler_gnu
++
++fi
++echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
++echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
++GCC=`test $ac_compiler_gnu = yes && echo yes`
++ac_test_CFLAGS=${CFLAGS+set}
++ac_save_CFLAGS=$CFLAGS
++CFLAGS="-g"
++echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
++echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
++if test "${ac_cv_prog_cc_g+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+ else
+- ac_cv_prog_cc_g=no
+-fi
+-rm -f conftest*
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
++ac_cv_prog_cc_g=no
+ fi
+-
+-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+ if test "$ac_test_CFLAGS" = set; then
+- CFLAGS="$ac_save_CFLAGS"
++ CFLAGS=$ac_save_CFLAGS
+ elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+@@ -860,1774 +2109,4838 @@
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+ fi
++echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
++if test "${ac_cv_prog_cc_stdc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_prog_cc_stdc=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++ char **p;
++ int i;
++{
++ return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++ char *s;
++ va_list v;
++ va_start (v,p);
++ s = g (p, va_arg (v,int));
++ va_end (v);
++ return s;
++}
++
++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
++ function prototypes and stuff, but not '\xHH' hex character constants.
++ These don't provoke an error unfortunately, instead are silently treated
++ as 'x'. The following induces an error, until -std1 is added to get
++ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
++ array size at least. It's necessary to write '\x00'==0 to get something
++ that's true only with -std1. */
++int osf4_cc_array ['\x00' == 0 ? 1 : -1];
++
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++ ;
++ return 0;
++}
++_ACEOF
++# Don't try gcc -ansi; that turns off useful extensions and
++# breaks some systems' header files.
++# AIX -qlanglvl=ansi
++# Ultrix and OSF/1 -std1
++# HP-UX 10.20 and later -Ae
++# HP-UX older versions -Aa -D_HPUX_SOURCE
++# SVR4 -Xc -D__EXTENSIONS__
++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_prog_cc_stdc=$ac_arg
++break
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext
++done
++rm -f conftest.$ac_ext conftest.$ac_objext
++CC=$ac_save_CC
++
++fi
++
++case "x$ac_cv_prog_cc_stdc" in
++ x|xno)
++ echo "$as_me:$LINENO: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6 ;;
++ *)
++ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
++ CC="$CC $ac_cv_prog_cc_stdc" ;;
++esac
++
++# Some people use a C++ compiler to compile C. Since we use `exit',
++# in C++ we need to declare it. In case someone uses the same compiler
++# for both compiling C and C++ we need to have the C++ compiler decide
++# the declaration of exit, since it's the most demanding environment.
++cat >conftest.$ac_ext <<_ACEOF
++#ifndef __cplusplus
++ choke me
++#endif
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ for ac_declaration in \
++ '' \
++ 'extern "C" void std::exit (int) throw (); using std::exit;' \
++ 'extern "C" void std::exit (int); using std::exit;' \
++ 'extern "C" void exit (int) throw ();' \
++ 'extern "C" void exit (int);' \
++ 'void exit (int);'
++do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_declaration
++#include <stdlib.h>
++int
++main ()
++{
++exit (42);
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++continue
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_declaration
++int
++main ()
++{
++exit (42);
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ break
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++done
++rm -f conftest*
++if test -n "$ac_declaration"; then
++ echo '#ifdef __cplusplus' >>confdefs.h
++ echo $ac_declaration >>confdefs.h
++ echo '#endif' >>confdefs.h
++fi
++
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ # Find a good install program. We prefer a C program (faster),
+ # so one script is as good as another. But avoid the broken or
+ # incompatible versions:
+ # SysV /etc/install, /usr/sbin/install
+ # SunOS /usr/etc/install
+ # IRIX /sbin/install
+ # AIX /bin/install
++# AmigaOS /C/install, which installs bootblocks on floppy discs
+ # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+ # AFS /usr/afsws/bin/install, which mishandles nonexistent args
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
++# OS/2's system install, which has a completely different semantic
+ # ./install, which can be erroneously created by make from ./install.sh.
+-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+-echo "configure:879: checking for a BSD compatible install" >&5
++echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
++echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+ if test -z "$INSTALL"; then
+-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++if test "${ac_cv_path_install+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+- for ac_dir in $PATH; do
+- # Account for people who put trailing slashes in PATH elements.
+- case "$ac_dir/" in
+- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+- *)
+- # OSF1 and SCO ODT 3.0 have their own names for install.
+- # Don't use installbsd from OSF since it installs stuff as root
+- # by default.
+- for ac_prog in ginstall scoinst install; do
+- if test -f $ac_dir/$ac_prog; then
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ # Account for people who put trailing slashes in PATH elements.
++case $as_dir/ in
++ ./ | .// | /cC/* | \
++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
++ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
++ /usr/ucb/* ) ;;
++ *)
++ # OSF1 and SCO ODT 3.0 have their own names for install.
++ # Don't use installbsd from OSF since it installs stuff as root
++ # by default.
++ for ac_prog in ginstall scoinst install; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
++ elif test $ac_prog = install &&
++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++ # program-specific install script used by HP pwplus--don't use.
++ :
+ else
+- ac_cv_path_install="$ac_dir/$ac_prog -c"
+- break 2
++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
++ break 3
+ fi
+ fi
+ done
+- ;;
+- esac
+- done
+- IFS="$ac_save_IFS"
++ done
++ ;;
++esac
++done
++
+
+ fi
+ if test "${ac_cv_path_install+set}" = set; then
+- INSTALL="$ac_cv_path_install"
++ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+- INSTALL="$ac_install_sh"
++ INSTALL=$ac_install_sh
+ fi
+ fi
+-echo "$ac_t""$INSTALL" 1>&6
++echo "$as_me:$LINENO: result: $INSTALL" >&5
++echo "${ECHO_T}$INSTALL" >&6
+
+ # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+ # It thinks the first close brace ends the variable substitution.
+ test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+-echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
+-echo "configure:932: checking whether ln -s works" >&5
+-if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- rm -f conftestdata
+-if ln -s X conftestdata 2>/dev/null
+-then
+- rm -f conftestdata
+- ac_cv_prog_LN_S="ln -s"
++echo "$as_me:$LINENO: checking whether ln -s works" >&5
++echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
++LN_S=$as_ln_s
++if test "$LN_S" = "ln -s"; then
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
+ else
+- ac_cv_prog_LN_S=ln
+-fi
+-fi
+-LN_S="$ac_cv_prog_LN_S"
+-if test "$ac_cv_prog_LN_S" = "ln -s"; then
+- echo "$ac_t""yes" 1>&6
+-else
+- echo "$ac_t""no" 1>&6
++ echo "$as_me:$LINENO: result: no, using $LN_S" >&5
++echo "${ECHO_T}no, using $LN_S" >&6
+ fi
+
+
+-echo $ac_n "checking "if the C compiler accepts -Wall"""... $ac_c" 1>&6
+-echo "configure:954: checking "if the C compiler accepts -Wall"" >&5
++echo "$as_me:$LINENO: checking if the C compiler accepts -Wall" >&5
++echo $ECHO_N "checking if the C compiler accepts -Wall... $ECHO_C" >&6
+ OLDCFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Wall"
+-cat > conftest.$ac_ext <<EOF
+-#line 958 "configure"
+-#include "confdefs.h"
+-
+-int main() {
+-
+-; return 0; }
+-EOF
+-if { (eval echo configure:965: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+- rm -rf conftest*
+- echo "$ac_t""yes" 1>&6
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+-
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
+ CFLAGS="$OLDCFLAGS"
+- echo "$ac_t""no" 1>&6
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+-rm -f conftest*
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+-echo "configure:979: checking how to run the C preprocessor" >&5
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
++echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+ # On Suns, sometimes $CPP names a directory.
+ if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+ fi
+ if test -z "$CPP"; then
+-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++ if test "${ac_cv_prog_CPP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- # This must be in double quotes, not single quotes, because CPP may get
+- # substituted into the Makefile and "${CC-cc}" will confuse make.
+- CPP="${CC-cc} -E"
++ # Double quotes because CPP needs to be expanded
++ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
++ do
++ ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++ # Use a header file that comes with gcc, so configuring glibc
++ # with a fresh cross-compiler works.
++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+- # not just through cpp.
+- cat > conftest.$ac_ext <<EOF
+-#line 994 "configure"
+-#include "confdefs.h"
+-#include <assert.h>
+-Syntax Error
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1000: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- :
++ # not just through cpp. "Syntax error" is here to catch this case.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++ Syntax error
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
+ else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- CPP="${CC-cc} -E -traditional-cpp"
+- cat > conftest.$ac_ext <<EOF
+-#line 1011 "configure"
+-#include "confdefs.h"
+-#include <assert.h>
+-Syntax Error
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1017: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
+ :
+ else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- CPP="${CC-cc} -nologo -E"
+- cat > conftest.$ac_ext <<EOF
+-#line 1028 "configure"
+-#include "confdefs.h"
+-#include <assert.h>
+-Syntax Error
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1034: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- :
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Broken: fails on valid input.
++continue
++fi
++rm -f conftest.err conftest.$ac_ext
++
++ # OK, works on sane cases. Now check whether non-existent headers
++ # can be detected and how.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ac_nonexistent.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
+ else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- CPP=/lib/cpp
++ ac_cpp_err=yes
+ fi
+-rm -f conftest*
++if test -z "$ac_cpp_err"; then
++ # Broken: success on invalid input.
++continue
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Passes both tests.
++ac_preproc_ok=:
++break
+ fi
+-rm -f conftest*
++rm -f conftest.err conftest.$ac_ext
++
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++ break
+ fi
+-rm -f conftest*
+- ac_cv_prog_CPP="$CPP"
++
++ done
++ ac_cv_prog_CPP=$CPP
++
++fi
++ CPP=$ac_cv_prog_CPP
++else
++ ac_cv_prog_CPP=$CPP
++fi
++echo "$as_me:$LINENO: result: $CPP" >&5
++echo "${ECHO_T}$CPP" >&6
++ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++ # Use a header file that comes with gcc, so configuring glibc
++ # with a fresh cross-compiler works.
++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ # <limits.h> exists even on freestanding compilers.
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp. "Syntax error" is here to catch this case.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++ Syntax error
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Broken: fails on valid input.
++continue
++fi
++rm -f conftest.err conftest.$ac_ext
++
++ # OK, works on sane cases. Now check whether non-existent headers
++ # can be detected and how.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ac_nonexistent.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
+ fi
+- CPP="$ac_cv_prog_CPP"
++if test -z "$ac_cpp_err"; then
++ # Broken: success on invalid input.
++continue
+ else
+- ac_cv_prog_CPP="$CPP"
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Passes both tests.
++ac_preproc_ok=:
++break
+ fi
+-echo "$ac_t""$CPP" 1>&6
++rm -f conftest.err conftest.$ac_ext
+
+-echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+-echo "configure:1059: checking for ANSI C header files" >&5
+-if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++ :
+ else
+- cat > conftest.$ac_ext <<EOF
+-#line 1064 "configure"
+-#include "confdefs.h"
++ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&5
++echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++echo "$as_me:$LINENO: checking for egrep" >&5
++echo $ECHO_N "checking for egrep... $ECHO_C" >&6
++if test "${ac_cv_prog_egrep+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if echo a | (grep -E '(a|b)') >/dev/null 2>&1
++ then ac_cv_prog_egrep='grep -E'
++ else ac_cv_prog_egrep='egrep'
++ fi
++fi
++echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
++echo "${ECHO_T}$ac_cv_prog_egrep" >&6
++ EGREP=$ac_cv_prog_egrep
++
++
++echo "$as_me:$LINENO: checking for ANSI C header files" >&5
++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
++if test "${ac_cv_header_stdc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #include <string.h>
+ #include <float.h>
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- rm -rf conftest*
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
+ ac_cv_header_stdc=yes
+ else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- ac_cv_header_stdc=no
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_header_stdc=no
+ fi
+-rm -f conftest*
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+-cat > conftest.$ac_ext <<EOF
+-#line 1089 "configure"
+-#include "confdefs.h"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+ #include <string.h>
+-EOF
++
++_ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- egrep "memchr" >/dev/null 2>&1; then
++ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+ else
+- rm -rf conftest*
+ ac_cv_header_stdc=no
+ fi
+ rm -f conftest*
+
+ fi
+
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+-cat > conftest.$ac_ext <<EOF
+-#line 1107 "configure"
+-#include "confdefs.h"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+ #include <stdlib.h>
+-EOF
++
++_ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- egrep "free" >/dev/null 2>&1; then
++ $EGREP "free" >/dev/null 2>&1; then
+ :
+ else
+- rm -rf conftest*
+ ac_cv_header_stdc=no
+ fi
+ rm -f conftest*
+
+ fi
+
+ if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+-if test "$cross_compiling" = yes; then
++ if test "$cross_compiling" = yes; then
+ :
+ else
+- cat > conftest.$ac_ext <<EOF
+-#line 1128 "configure"
+-#include "confdefs.h"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+ #include <ctype.h>
+-#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+-#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) \
++ (('a' <= (c) && (c) <= 'i') \
++ || ('j' <= (c) && (c) <= 'r') \
++ || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
++
+ #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+-int main () { int i; for (i = 0; i < 256; i++)
+-if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
+-exit (0); }
+-
+-EOF
+-if { (eval echo configure:1139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+-then
++int
++main ()
++{
++ int i;
++ for (i = 0; i < 256; i++)
++ if (XOR (islower (i), ISLOWER (i))
++ || toupper (i) != TOUPPER (i))
++ exit(2);
++ exit (0);
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
+ :
+ else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -fr conftest*
+- ac_cv_header_stdc=no
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_header_stdc=no
+ fi
+-rm -fr conftest*
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+-
+ fi
+ fi
+-
+-echo "$ac_t""$ac_cv_header_stdc" 1>&6
++echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
++echo "${ECHO_T}$ac_cv_header_stdc" >&6
+ if test $ac_cv_header_stdc = yes; then
+- cat >> confdefs.h <<\EOF
++
++cat >>confdefs.h <<\_ACEOF
+ #define STDC_HEADERS 1
+-EOF
++_ACEOF
+
+ fi
+
+
+-ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
+-echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
+-echo "configure:1165: checking for dlfcn.h" >&5
+-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- cat > conftest.$ac_ext <<EOF
+-#line 1170 "configure"
+-#include "confdefs.h"
+-#include <dlfcn.h>
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1175: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=yes"
+-else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=no"
+-fi
+-rm -f conftest*
+-fi
+-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- :
+-else
+- echo "$ac_t""no" 1>&6
+-{ echo "configure: error: "dlfcn.h not found"" 1>&2; exit 1; }
+-fi
++# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+-ac_safe=`echo "sys/socket.h" | sed 'y%./+-%__p_%'`
+-echo $ac_n "checking for sys/socket.h""... $ac_c" 1>&6
+-echo "configure:1200: checking for sys/socket.h" >&5
+-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- cat > conftest.$ac_ext <<EOF
+-#line 1205 "configure"
+-#include "confdefs.h"
+-#include <sys/socket.h>
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1210: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=yes"
+-else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=no"
+-fi
+-rm -f conftest*
++
++
++
++
++
++
++
++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
++ inttypes.h stdint.h unistd.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++if test "${ac_cv_header_dlfcn_h+set}" = set; then
++ echo "$as_me:$LINENO: checking for dlfcn.h" >&5
++echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6
++if test "${ac_cv_header_dlfcn_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
++echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6
++else
++ # Is the header compilable?
++echo "$as_me:$LINENO: checking dlfcn.h usability" >&5
++echo $ECHO_N "checking dlfcn.h usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <dlfcn.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking dlfcn.h presence" >&5
++echo $ECHO_N "checking dlfcn.h presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <dlfcn.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: dlfcn.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: dlfcn.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: dlfcn.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: dlfcn.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: dlfcn.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&2;}
++ (
++ cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists. ##
++## ------------------------------------------ ##
++_ASBOX
++ ) |
++ sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++echo "$as_me:$LINENO: checking for dlfcn.h" >&5
++echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6
++if test "${ac_cv_header_dlfcn_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_dlfcn_h=$ac_header_preproc
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
++echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6
++
+ fi
+-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
++if test $ac_cv_header_dlfcn_h = yes; then
+ :
+ else
+- echo "$ac_t""no" 1>&6
+-{ echo "configure: error: "sys/socket.h not found"" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: \"dlfcn.h not found\"" >&5
++echo "$as_me: error: \"dlfcn.h not found\"" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+
+-ac_safe=`echo "arpa/inet.h" | sed 'y%./+-%__p_%'`
+-echo $ac_n "checking for arpa/inet.h""... $ac_c" 1>&6
+-echo "configure:1235: checking for arpa/inet.h" >&5
+-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++
++if test "${ac_cv_header_sys_socket_h+set}" = set; then
++ echo "$as_me:$LINENO: checking for sys/socket.h" >&5
++echo $ECHO_N "checking for sys/socket.h... $ECHO_C" >&6
++if test "${ac_cv_header_sys_socket_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_sys_socket_h" >&5
++echo "${ECHO_T}$ac_cv_header_sys_socket_h" >&6
++else
++ # Is the header compilable?
++echo "$as_me:$LINENO: checking sys/socket.h usability" >&5
++echo $ECHO_N "checking sys/socket.h usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <sys/socket.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking sys/socket.h presence" >&5
++echo $ECHO_N "checking sys/socket.h presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/socket.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
+ else
+- cat > conftest.$ac_ext <<EOF
+-#line 1240 "configure"
+-#include "confdefs.h"
+-#include <arpa/inet.h>
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1245: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=yes"
+-else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=no"
++ ac_cpp_err=yes
+ fi
+-rm -f conftest*
++if test -z "$ac_cpp_err"; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: sys/socket.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: sys/socket.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/socket.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: sys/socket.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: sys/socket.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: sys/socket.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/socket.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: sys/socket.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/socket.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: sys/socket.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/socket.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: sys/socket.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/socket.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: sys/socket.h: in the future, the compiler will take precedence" >&2;}
++ (
++ cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists. ##
++## ------------------------------------------ ##
++_ASBOX
++ ) |
++ sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++echo "$as_me:$LINENO: checking for sys/socket.h" >&5
++echo $ECHO_N "checking for sys/socket.h... $ECHO_C" >&6
++if test "${ac_cv_header_sys_socket_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_sys_socket_h=$ac_header_preproc
+ fi
+-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
++echo "$as_me:$LINENO: result: $ac_cv_header_sys_socket_h" >&5
++echo "${ECHO_T}$ac_cv_header_sys_socket_h" >&6
++
++fi
++if test $ac_cv_header_sys_socket_h = yes; then
+ :
+ else
+- echo "$ac_t""no" 1>&6
+-{ echo "configure: error: "arpa/inet.h not found"" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: \"sys/socket.h not found\"" >&5
++echo "$as_me: error: \"sys/socket.h not found\"" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+
+-ac_safe=`echo "fcntl.h" | sed 'y%./+-%__p_%'`
+-echo $ac_n "checking for fcntl.h""... $ac_c" 1>&6
+-echo "configure:1270: checking for fcntl.h" >&5
+-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++
++if test "${ac_cv_header_arpa_inet_h+set}" = set; then
++ echo "$as_me:$LINENO: checking for arpa/inet.h" >&5
++echo $ECHO_N "checking for arpa/inet.h... $ECHO_C" >&6
++if test "${ac_cv_header_arpa_inet_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_arpa_inet_h" >&5
++echo "${ECHO_T}$ac_cv_header_arpa_inet_h" >&6
++else
++ # Is the header compilable?
++echo "$as_me:$LINENO: checking arpa/inet.h usability" >&5
++echo $ECHO_N "checking arpa/inet.h usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <arpa/inet.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking arpa/inet.h presence" >&5
++echo $ECHO_N "checking arpa/inet.h presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <arpa/inet.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
+ else
+- cat > conftest.$ac_ext <<EOF
+-#line 1275 "configure"
+-#include "confdefs.h"
+-#include <fcntl.h>
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1280: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=yes"
+-else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=no"
++ ac_cpp_err=yes
+ fi
+-rm -f conftest*
++if test -z "$ac_cpp_err"; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: arpa/inet.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: arpa/inet.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: arpa/inet.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: arpa/inet.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: arpa/inet.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: arpa/inet.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: arpa/inet.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: arpa/inet.h: in the future, the compiler will take precedence" >&2;}
++ (
++ cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists. ##
++## ------------------------------------------ ##
++_ASBOX
++ ) |
++ sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++echo "$as_me:$LINENO: checking for arpa/inet.h" >&5
++echo $ECHO_N "checking for arpa/inet.h... $ECHO_C" >&6
++if test "${ac_cv_header_arpa_inet_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_arpa_inet_h=$ac_header_preproc
+ fi
+-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
++echo "$as_me:$LINENO: result: $ac_cv_header_arpa_inet_h" >&5
++echo "${ECHO_T}$ac_cv_header_arpa_inet_h" >&6
++
++fi
++if test $ac_cv_header_arpa_inet_h = yes; then
+ :
+ else
+- echo "$ac_t""no" 1>&6
+-{ echo "configure: error: "fcntl.h not found"" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: \"arpa/inet.h not found\"" >&5
++echo "$as_me: error: \"arpa/inet.h not found\"" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+
+-ac_safe=`echo "sys/poll.h" | sed 'y%./+-%__p_%'`
+-echo $ac_n "checking for sys/poll.h""... $ac_c" 1>&6
+-echo "configure:1305: checking for sys/poll.h" >&5
+-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++
++if test "${ac_cv_header_fcntl_h+set}" = set; then
++ echo "$as_me:$LINENO: checking for fcntl.h" >&5
++echo $ECHO_N "checking for fcntl.h... $ECHO_C" >&6
++if test "${ac_cv_header_fcntl_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_fcntl_h" >&5
++echo "${ECHO_T}$ac_cv_header_fcntl_h" >&6
++else
++ # Is the header compilable?
++echo "$as_me:$LINENO: checking fcntl.h usability" >&5
++echo $ECHO_N "checking fcntl.h usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <fcntl.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking fcntl.h presence" >&5
++echo $ECHO_N "checking fcntl.h presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <fcntl.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
+ else
+- cat > conftest.$ac_ext <<EOF
+-#line 1310 "configure"
+-#include "confdefs.h"
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: fcntl.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: fcntl.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: fcntl.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: fcntl.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: fcntl.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: fcntl.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: fcntl.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: fcntl.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: fcntl.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: fcntl.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: fcntl.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: fcntl.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: fcntl.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: fcntl.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: fcntl.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: fcntl.h: in the future, the compiler will take precedence" >&2;}
++ (
++ cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists. ##
++## ------------------------------------------ ##
++_ASBOX
++ ) |
++ sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++echo "$as_me:$LINENO: checking for fcntl.h" >&5
++echo $ECHO_N "checking for fcntl.h... $ECHO_C" >&6
++if test "${ac_cv_header_fcntl_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_fcntl_h=$ac_header_preproc
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_fcntl_h" >&5
++echo "${ECHO_T}$ac_cv_header_fcntl_h" >&6
++
++fi
++if test $ac_cv_header_fcntl_h = yes; then
++ :
++else
++ { { echo "$as_me:$LINENO: error: \"fcntl.h not found\"" >&5
++echo "$as_me: error: \"fcntl.h not found\"" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++
++
++if test "${ac_cv_header_sys_poll_h+set}" = set; then
++ echo "$as_me:$LINENO: checking for sys/poll.h" >&5
++echo $ECHO_N "checking for sys/poll.h... $ECHO_C" >&6
++if test "${ac_cv_header_sys_poll_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_sys_poll_h" >&5
++echo "${ECHO_T}$ac_cv_header_sys_poll_h" >&6
++else
++ # Is the header compilable?
++echo "$as_me:$LINENO: checking sys/poll.h usability" >&5
++echo $ECHO_N "checking sys/poll.h usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <sys/poll.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking sys/poll.h presence" >&5
++echo $ECHO_N "checking sys/poll.h presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+ #include <sys/poll.h>
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1315: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=yes"
+-else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=no"
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
+ fi
+-rm -f conftest*
++if test -z "$ac_cpp_err"; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: sys/poll.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: sys/poll.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/poll.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: sys/poll.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: sys/poll.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: sys/poll.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/poll.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: sys/poll.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/poll.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: sys/poll.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/poll.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: sys/poll.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/poll.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: sys/poll.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/poll.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: sys/poll.h: in the future, the compiler will take precedence" >&2;}
++ (
++ cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists. ##
++## ------------------------------------------ ##
++_ASBOX
++ ) |
++ sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++echo "$as_me:$LINENO: checking for sys/poll.h" >&5
++echo $ECHO_N "checking for sys/poll.h... $ECHO_C" >&6
++if test "${ac_cv_header_sys_poll_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_sys_poll_h=$ac_header_preproc
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_sys_poll_h" >&5
++echo "${ECHO_T}$ac_cv_header_sys_poll_h" >&6
++
+ fi
+-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
++if test $ac_cv_header_sys_poll_h = yes; then
+ :
+ else
+- echo "$ac_t""no" 1>&6
+-{ echo "configure: error: "sys/poll.h not found"" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: \"sys/poll.h not found\"" >&5
++echo "$as_me: error: \"sys/poll.h not found\"" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++
++
++if test "${ac_cv_header_sys_mman_h+set}" = set; then
++ echo "$as_me:$LINENO: checking for sys/mman.h" >&5
++echo $ECHO_N "checking for sys/mman.h... $ECHO_C" >&6
++if test "${ac_cv_header_sys_mman_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_sys_mman_h" >&5
++echo "${ECHO_T}$ac_cv_header_sys_mman_h" >&6
++else
++ # Is the header compilable?
++echo "$as_me:$LINENO: checking sys/mman.h usability" >&5
++echo $ECHO_N "checking sys/mman.h usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <sys/mman.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking sys/mman.h presence" >&5
++echo $ECHO_N "checking sys/mman.h presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/mman.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
+ fi
++if test -z "$ac_cpp_err"; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
++ ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: sys/mman.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: sys/mman.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/mman.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: sys/mman.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: sys/mman.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: sys/mman.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/mman.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: sys/mman.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/mman.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: sys/mman.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/mman.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: sys/mman.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/mman.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: sys/mman.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: sys/mman.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: sys/mman.h: in the future, the compiler will take precedence" >&2;}
++ (
++ cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists. ##
++## ------------------------------------------ ##
++_ASBOX
++ ) |
++ sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++echo "$as_me:$LINENO: checking for sys/mman.h" >&5
++echo $ECHO_N "checking for sys/mman.h... $ECHO_C" >&6
++if test "${ac_cv_header_sys_mman_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_sys_mman_h=$ac_header_preproc
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_sys_mman_h" >&5
++echo "${ECHO_T}$ac_cv_header_sys_mman_h" >&6
+
+-for ac_hdr in unistd.h
+-do
+-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:1342: checking for $ac_hdr" >&5
+-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- cat > conftest.$ac_ext <<EOF
+-#line 1347 "configure"
+-#include "confdefs.h"
+-#include <$ac_hdr>
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1352: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=yes"
+-else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_header_$ac_safe=no"
+ fi
+-rm -f conftest*
++if test $ac_cv_header_sys_mman_h = yes; then
++ :
++else
++ { { echo "$as_me:$LINENO: error: \"sys/mman.h not found\"" >&5
++echo "$as_me: error: \"sys/mman.h not found\"" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++
++
++
++for ac_header in unistd.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++else
++ # Is the header compilable?
++echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
+ fi
+-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+- cat >> confdefs.h <<EOF
+-#define $ac_tr_hdr 1
+-EOF
+-
++if test -z "$ac_cpp_err"; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ (
++ cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists. ##
++## ------------------------------------------ ##
++_ASBOX
++ ) |
++ sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- echo "$ac_t""no" 1>&6
++ eval "$as_ac_Header=\$ac_header_preproc"
+ fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
+ done
+
+
+-for ac_func in strcspn strdup strerror strspn strtol
++
++
++
++
++
++
++
++
++
++for ac_func in strcspn strdup strerror strspn strtol mmap strcasecmp \
++ strncasecmp strtol
+ do
+-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:1382: checking for $ac_func" >&5
+-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- cat > conftest.$ac_ext <<EOF
+-#line 1387 "configure"
+-#include "confdefs.h"
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
+ /* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $ac_func(); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char $ac_func();
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
+
+-int main() {
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
+
++#undef $ac_func
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func ();
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-$ac_func();
++char (*f) () = $ac_func;
++#endif
++#ifdef __cplusplus
++}
+ #endif
+
+-; return 0; }
+-EOF
+-if { (eval echo configure:1410: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_func_$ac_func=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_func_$ac_func=no"
++int
++main ()
++{
++return f != $ac_func;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_var=no"
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++else
++ { { echo "$as_me:$LINENO: error: \"Required function not found\"" >&5
++echo "$as_me: error: \"Required function not found\"" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+-rm -f conftest*
++done
++
++
++
++
++ ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++ echo "$as_me:$LINENO: checking how many arguments gethostbyname_r() takes" >&5
++echo $ECHO_N "checking how many arguments gethostbyname_r() takes... $ECHO_C" >&6
++
++ if test "${ac_cv_func_which_gethostbyname_r+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++
++
++ac_cv_func_which_gethostbyname_r=unknown
++
++#
++# ONE ARGUMENT (sanity check)
++#
++
++# This should fail, as there is no variant of gethostbyname_r() that takes
++# a single argument. If it actually compiles, then we can assume that
++# netdb.h is not declaring the function, and the compiler is thereby
++# assuming an implicit prototype. In which case, we're out of luck.
++#
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <netdb.h>
++int
++main ()
++{
++
++ char *name = "www.gnu.org";
++ (void)gethostbyname_r(name) /* ; */
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_which_gethostbyname_r=no
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
+ fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++#
++# SIX ARGUMENTS
++# (e.g. Linux)
++#
++
++if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
+
+-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+- cat >> confdefs.h <<EOF
+-#define $ac_tr_func 1
+-EOF
+-
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <netdb.h>
++int
++main ()
++{
++
++ char *name = "www.gnu.org";
++ struct hostent ret, *retp;
++ char buf[1024];
++ int buflen = 1024;
++ int my_h_errno;
++ (void)gethostbyname_r(name, &ret, buf, buflen, &retp, &my_h_errno) /* ; */
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_which_gethostbyname_r=six
+ else
+- echo "$ac_t""no" 1>&6
+-{ echo "configure: error: "Required function not found"" 1>&2; exit 1; }
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
+ fi
+-done
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++
++#
++# FIVE ARGUMENTS
++# (e.g. Solaris)
++#
++
++if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <netdb.h>
++int
++main ()
++{
++
++ char *name = "www.gnu.org";
++ struct hostent ret;
++ char buf[1024];
++ int buflen = 1024;
++ int my_h_errno;
++ (void)gethostbyname_r(name, &ret, buf, buflen, &my_h_errno) /* ; */
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_which_gethostbyname_r=five
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++
++#
++# THREE ARGUMENTS
++# (e.g. AIX, HP-UX, Tru64)
++#
++
++if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <netdb.h>
++int
++main ()
++{
++
++ char *name = "www.gnu.org";
++ struct hostent ret;
++ struct hostent_data data;
++ (void)gethostbyname_r(name, &ret, &data) /* ; */
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_which_gethostbyname_r=three
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++
++
++
++fi
++
++case "$ac_cv_func_which_gethostbyname_r" in
++ three)
++ echo "$as_me:$LINENO: result: three" >&5
++echo "${ECHO_T}three" >&6
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_FUNC_GETHOSTBYNAME_R_3 1
++_ACEOF
++
++ ;;
++
++ five)
++ echo "$as_me:$LINENO: result: five" >&5
++echo "${ECHO_T}five" >&6
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_FUNC_GETHOSTBYNAME_R_5 1
++_ACEOF
++
++ ;;
++
++ six)
++ echo "$as_me:$LINENO: result: six" >&5
++echo "${ECHO_T}six" >&6
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_FUNC_GETHOSTBYNAME_R_6 1
++_ACEOF
++
++ ;;
++
++ no)
++ echo "$as_me:$LINENO: result: cannot find function declaration in netdb.h" >&5
++echo "${ECHO_T}cannot find function declaration in netdb.h" >&6
++ ;;
++
++ unknown)
++ echo "$as_me:$LINENO: result: can't tell" >&5
++echo "${ECHO_T}can't tell" >&6
++ ;;
++
++ *)
++ { { echo "$as_me:$LINENO: error: internal error" >&5
++echo "$as_me: error: internal error" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
+
+
+ OLDLIBS="${LIBS}"
+ LIBS=
+ CONNECTLIB=
+ for LIB in c socket; do
+- echo $ac_n "checking for connect in -l"${LIB}"""... $ac_c" 1>&6
+-echo "configure:1441: checking for connect in -l"${LIB}"" >&5
+-ac_lib_var=`echo "${LIB}"'_'connect | sed 'y%./+-%__p_%'`
+-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++ as_ac_Lib=`echo "ac_cv_lib_"${LIB}"''_connect" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for connect in -l\"${LIB}\"" >&5
++echo $ECHO_N "checking for connect in -l\"${LIB}\"... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_save_LIBS="$LIBS"
++ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-l"${LIB}" $LIBS"
+-cat > conftest.$ac_ext <<EOF
+-#line 1449 "configure"
+-#include "confdefs.h"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
+ /* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
+ /* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char connect();
+-
+-int main() {
+-connect()
+-; return 0; }
+-EOF
+-if { (eval echo configure:1460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=no"
+-fi
+-rm -f conftest*
+-LIBS="$ac_save_LIBS"
++ builtin and then its argument prototype would still apply. */
++char connect ();
++int
++main ()
++{
++connect ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ eval "$as_ac_Lib=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_Lib=no"
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+
+-fi
+-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+-
+ CONNECTLIB="${LIB}"
+ break
+-
+-else
+- echo "$ac_t""no" 1>&6
++
+ fi
+
+ done
+ LIBS="${OLDLIBS} -l${CONNECTLIB}"
+ if test "${CONNECTLIB}" = ""; then
+- { echo "configure: error: 'Could not find library containing connect()'" 1>&2; exit 1; }
+-fi
++ { { echo "$as_me:$LINENO: error: 'Could not find library containing connect()'" >&5
++echo "$as_me: error: 'Could not find library containing connect()'" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++echo "$as_me:$LINENO: checking for socket" >&5
++echo $ECHO_N "checking for socket... $ECHO_C" >&6
++if test "${ac_cv_func_socket+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define socket to an innocuous variant, in case <limits.h> declares socket.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define socket innocuous_socket
+
+-echo $ac_n "checking for socket""... $ac_c" 1>&6
+-echo "configure:1490: checking for socket" >&5
+-if eval "test \"`echo '$''{'ac_cv_func_socket'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- cat > conftest.$ac_ext <<EOF
+-#line 1495 "configure"
+-#include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char socket(); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char socket();
++ which can conflict with char socket (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
+
+-int main() {
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
+
++#undef socket
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char socket ();
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+ #if defined (__stub_socket) || defined (__stub___socket)
+ choke me
+ #else
+-socket();
++char (*f) () = socket;
++#endif
++#ifdef __cplusplus
++}
+ #endif
+
+-; return 0; }
+-EOF
+-if { (eval echo configure:1518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_func_socket=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_func_socket=no"
+-fi
+-rm -f conftest*
+-fi
+-
+-if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
++int
++main ()
++{
++return f != socket;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_socket=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_func_socket=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_func_socket" >&5
++echo "${ECHO_T}$ac_cv_func_socket" >&6
++if test $ac_cv_func_socket = yes; then
+ :
+ else
+- echo "$ac_t""no" 1>&6
+
+- echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
+-echo "configure:1537: checking for socket in -lsocket" >&5
+-ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
+-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++
++echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
++echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6
++if test "${ac_cv_lib_socket_socket+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_save_LIBS="$LIBS"
++ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lsocket $LIBS"
+-cat > conftest.$ac_ext <<EOF
+-#line 1545 "configure"
+-#include "confdefs.h"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
+ /* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
+ /* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char socket();
+-
+-int main() {
+-socket()
+-; return 0; }
+-EOF
+-if { (eval echo configure:1556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=no"
+-fi
+-rm -f conftest*
+-LIBS="$ac_save_LIBS"
+-
+-fi
+-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+- cat >> confdefs.h <<EOF
+-#define $ac_tr_lib 1
+-EOF
++ builtin and then its argument prototype would still apply. */
++char socket ();
++int
++main ()
++{
++socket ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_socket_socket=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_socket_socket=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
++echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6
++if test $ac_cv_lib_socket_socket = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBSOCKET 1
++_ACEOF
+
+ LIBS="-lsocket $LIBS"
+
+ else
+- echo "$ac_t""no" 1>&6
+-{ echo "configure: error: "socket function not found"" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: \"socket function not found\"" >&5
++echo "$as_me: error: \"socket function not found\"" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+ fi
+
+
+-echo $ac_n "checking for inet_aton""... $ac_c" 1>&6
+-echo "configure:1588: checking for inet_aton" >&5
+-if eval "test \"`echo '$''{'ac_cv_func_inet_aton'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++echo "$as_me:$LINENO: checking for inet_aton" >&5
++echo $ECHO_N "checking for inet_aton... $ECHO_C" >&6
++if test "${ac_cv_func_inet_aton+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat > conftest.$ac_ext <<EOF
+-#line 1593 "configure"
+-#include "confdefs.h"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define inet_aton to an innocuous variant, in case <limits.h> declares inet_aton.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define inet_aton innocuous_inet_aton
++
+ /* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char inet_aton(); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char inet_aton();
++ which can conflict with char inet_aton (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
+
+-int main() {
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
+
++#undef inet_aton
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char inet_aton ();
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+ #if defined (__stub_inet_aton) || defined (__stub___inet_aton)
+ choke me
+ #else
+-inet_aton();
++char (*f) () = inet_aton;
++#endif
++#ifdef __cplusplus
++}
+ #endif
+
+-; return 0; }
+-EOF
+-if { (eval echo configure:1616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_func_inet_aton=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_func_inet_aton=no"
+-fi
+-rm -f conftest*
+-fi
+-
+-if eval "test \"`echo '$ac_cv_func_'inet_aton`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- cat >> confdefs.h <<\EOF
++int
++main ()
++{
++return f != inet_aton;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_inet_aton=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_func_inet_aton=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_func_inet_aton" >&5
++echo "${ECHO_T}$ac_cv_func_inet_aton" >&6
++if test $ac_cv_func_inet_aton = yes; then
++ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_INET_ATON 1
+-EOF
++_ACEOF
+
+ else
+- echo "$ac_t""no" 1>&6
+
+- echo $ac_n "checking for inet_addr""... $ac_c" 1>&6
+-echo "configure:1638: checking for inet_addr" >&5
+-if eval "test \"`echo '$''{'ac_cv_func_inet_addr'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- cat > conftest.$ac_ext <<EOF
+-#line 1643 "configure"
+-#include "confdefs.h"
++ echo "$as_me:$LINENO: checking for inet_addr" >&5
++echo $ECHO_N "checking for inet_addr... $ECHO_C" >&6
++if test "${ac_cv_func_inet_addr+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define inet_addr to an innocuous variant, in case <limits.h> declares inet_addr.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define inet_addr innocuous_inet_addr
++
+ /* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char inet_addr(); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char inet_addr();
++ which can conflict with char inet_addr (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
+
+-int main() {
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef inet_addr
+
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char inet_addr ();
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+ #if defined (__stub_inet_addr) || defined (__stub___inet_addr)
+ choke me
+ #else
+-inet_addr();
++char (*f) () = inet_addr;
++#endif
++#ifdef __cplusplus
++}
+ #endif
+
+-; return 0; }
+-EOF
+-if { (eval echo configure:1666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_func_inet_addr=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_func_inet_addr=no"
+-fi
+-rm -f conftest*
+-fi
+-
+-if eval "test \"`echo '$ac_cv_func_'inet_addr`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- cat >> confdefs.h <<\EOF
++int
++main ()
++{
++return f != inet_addr;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_inet_addr=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_func_inet_addr=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_func_inet_addr" >&5
++echo "${ECHO_T}$ac_cv_func_inet_addr" >&6
++if test $ac_cv_func_inet_addr = yes; then
++ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_INET_ADDR 1
+-EOF
++_ACEOF
+
+ else
+- echo "$ac_t""no" 1>&6
+
+- echo $ac_n "checking for inet_addr in -lnsl""... $ac_c" 1>&6
+-echo "configure:1688: checking for inet_addr in -lnsl" >&5
+-ac_lib_var=`echo nsl'_'inet_addr | sed 'y%./+-%__p_%'`
+-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++ echo "$as_me:$LINENO: checking for inet_addr in -lnsl" >&5
++echo $ECHO_N "checking for inet_addr in -lnsl... $ECHO_C" >&6
++if test "${ac_cv_lib_nsl_inet_addr+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_save_LIBS="$LIBS"
+-LIBS="-lnsl $LIBS"
+-cat > conftest.$ac_ext <<EOF
+-#line 1696 "configure"
+-#include "confdefs.h"
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char inet_addr();
+-
+-int main() {
+-inet_addr()
+-; return 0; }
+-EOF
+-if { (eval echo configure:1707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=no"
+-fi
+-rm -f conftest*
+-LIBS="$ac_save_LIBS"
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lnsl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+-fi
+-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- cat >> confdefs.h <<\EOF
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char inet_addr ();
++int
++main ()
++{
++inet_addr ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_nsl_inet_addr=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_nsl_inet_addr=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_inet_addr" >&5
++echo "${ECHO_T}$ac_cv_lib_nsl_inet_addr" >&6
++if test $ac_cv_lib_nsl_inet_addr = yes; then
++ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_INET_ADDR 1
+-EOF
++_ACEOF
+
+- LIBS="${LIBS} -lnsl"
++ LIBS="${LIBS} -lnsl"
+ else
+- echo "$ac_t""no" 1>&6
+
+- { echo "configure: error: "Neither inet_aton or inet_addr present"" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: \"Neither inet_aton or inet_addr present\"" >&5
++echo "$as_me: error: \"Neither inet_aton or inet_addr present\"" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+ fi
+
+ fi
+
+
+-echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
+-echo "configure:1739: checking for gethostbyname" >&5
+-if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++echo "$as_me:$LINENO: checking for gethostbyname" >&5
++echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
++if test "${ac_cv_func_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat > conftest.$ac_ext <<EOF
+-#line 1744 "configure"
+-#include "confdefs.h"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define gethostbyname to an innocuous variant, in case <limits.h> declares gethostbyname.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define gethostbyname innocuous_gethostbyname
++
+ /* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char gethostbyname(); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char gethostbyname();
++ which can conflict with char gethostbyname (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
+
+-int main() {
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
+
++#undef gethostbyname
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char gethostbyname ();
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+ #if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
+ choke me
+ #else
+-gethostbyname();
++char (*f) () = gethostbyname;
++#endif
++#ifdef __cplusplus
++}
+ #endif
+
+-; return 0; }
+-EOF
+-if { (eval echo configure:1767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_func_gethostbyname=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_func_gethostbyname=no"
+-fi
+-rm -f conftest*
+-fi
+-
+-if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- cat >> confdefs.h <<\EOF
++int
++main ()
++{
++return f != gethostbyname;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_func_gethostbyname=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
++if test $ac_cv_func_gethostbyname = yes; then
++ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_GETHOSTBYNAME 1
+-EOF
++_ACEOF
+
+ else
+- echo "$ac_t""no" 1>&6
+
+- echo $ac_n "checking for gethostbyname in -lxnet""... $ac_c" 1>&6
+-echo "configure:1789: checking for gethostbyname in -lxnet" >&5
+-ac_lib_var=`echo xnet'_'gethostbyname | sed 'y%./+-%__p_%'`
+-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++ echo "$as_me:$LINENO: checking for gethostbyname in -lxnet" >&5
++echo $ECHO_N "checking for gethostbyname in -lxnet... $ECHO_C" >&6
++if test "${ac_cv_lib_xnet_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_save_LIBS="$LIBS"
++ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lxnet $LIBS"
+-cat > conftest.$ac_ext <<EOF
+-#line 1797 "configure"
+-#include "confdefs.h"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
+ /* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
+ /* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char gethostbyname();
+-
+-int main() {
+-gethostbyname()
+-; return 0; }
+-EOF
+-if { (eval echo configure:1808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=no"
+-fi
+-rm -f conftest*
+-LIBS="$ac_save_LIBS"
+-
+-fi
+-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- cat >> confdefs.h <<\EOF
++ builtin and then its argument prototype would still apply. */
++char gethostbyname ();
++int
++main ()
++{
++gethostbyname ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_xnet_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_xnet_gethostbyname=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_xnet_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_xnet_gethostbyname" >&6
++if test $ac_cv_lib_xnet_gethostbyname = yes; then
++ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_GETHOSTBYNAME 1
+-EOF
++_ACEOF
+
+ else
+- echo "$ac_t""no" 1>&6
+
+- { echo "configure: error: "gethostbyname not found, name lookups in " \
+- "tsocks and inspectsocks disabled"" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: \"gethostbyname not found, name lookups in \" \
++ \"tsocks and inspectsocks disabled\"" >&5
++echo "$as_me: error: \"gethostbyname not found, name lookups in \" \
++ \"tsocks and inspectsocks disabled\"" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+ fi
+
+
+ SIMPLELIBS=${LIBS}
+ LIBS=
+
+-echo $ac_n "checking for dlsym in -ldl""... $ac_c" 1>&6
+-echo "configure:1841: checking for dlsym in -ldl" >&5
+-ac_lib_var=`echo dl'_'dlsym | sed 'y%./+-%__p_%'`
+-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++
++echo "$as_me:$LINENO: checking for dlsym in -ldl" >&5
++echo $ECHO_N "checking for dlsym in -ldl... $ECHO_C" >&6
++if test "${ac_cv_lib_dl_dlsym+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_save_LIBS="$LIBS"
++ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldl $LIBS"
+-cat > conftest.$ac_ext <<EOF
+-#line 1849 "configure"
+-#include "confdefs.h"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
+ /* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
+ /* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char dlsym();
+-
+-int main() {
+-dlsym()
+-; return 0; }
+-EOF
+-if { (eval echo configure:1860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=yes"
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=no"
+-fi
+-rm -f conftest*
+-LIBS="$ac_save_LIBS"
+-
+-fi
+-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- ac_tr_lib=HAVE_LIB`echo dl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+- cat >> confdefs.h <<EOF
+-#define $ac_tr_lib 1
+-EOF
++ builtin and then its argument prototype would still apply. */
++char dlsym ();
++int
++main ()
++{
++dlsym ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_dl_dlsym=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_dl_dlsym=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlsym" >&5
++echo "${ECHO_T}$ac_cv_lib_dl_dlsym" >&6
++if test $ac_cv_lib_dl_dlsym = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBDL 1
++_ACEOF
+
+ LIBS="-ldl $LIBS"
+
+ else
+- echo "$ac_t""no" 1>&6
+-{ echo "configure: error: "libdl is required"" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: \"libdl is required\"" >&5
++echo "$as_me: error: \"libdl is required\"" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+
+-echo $ac_n "checking "for RTLD_NEXT from dlfcn.h"""... $ac_c" 1>&6
+-echo "configure:1890: checking "for RTLD_NEXT from dlfcn.h"" >&5
+-cat > conftest.$ac_ext <<EOF
+-#line 1892 "configure"
+-#include "confdefs.h"
++echo "$as_me:$LINENO: checking for RTLD_NEXT from dlfcn.h" >&5
++echo $ECHO_N "checking for RTLD_NEXT from dlfcn.h... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+ #include <dlfcn.h>
+ #ifdef RTLD_NEXT
+ yes
+ #endif
+
+-EOF
++_ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- egrep "yes" >/dev/null 2>&1; then
+- rm -rf conftest*
+-
+- echo "$ac_t""yes" 1>&6
++ $EGREP "yes" >/dev/null 2>&1; then
++
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
+
+ else
+- rm -rf conftest*
+-
+- echo "$ac_t""no" 1>&6
+- echo $ac_n "checking "for RTLD_NEXT from dlfcn.h with _GNU_SOURCE"""... $ac_c" 1>&6
+-echo "configure:1912: checking "for RTLD_NEXT from dlfcn.h with _GNU_SOURCE"" >&5
+- cat > conftest.$ac_ext <<EOF
+-#line 1914 "configure"
+-#include "confdefs.h"
++
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++ echo "$as_me:$LINENO: checking for RTLD_NEXT from dlfcn.h with _GNU_SOURCE" >&5
++echo $ECHO_N "checking for RTLD_NEXT from dlfcn.h with _GNU_SOURCE... $ECHO_C" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+ #define _GNU_SOURCE
+ #include <dlfcn.h>
+ #ifdef RTLD_NEXT
+ yes
+ #endif
+-
+-EOF
++
++_ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- egrep "yes" >/dev/null 2>&1; then
+- rm -rf conftest*
+-
+- echo "$ac_t""yes" 1>&6
+- cat >> confdefs.h <<\EOF
++ $EGREP "yes" >/dev/null 2>&1; then
++
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ cat >>confdefs.h <<\_ACEOF
+ #define USE_GNU_SOURCE 1
+-EOF
++_ACEOF
++
+
+-
+ else
+- rm -rf conftest*
+-
+- echo "$ac_t""no" 1>&6
+- cat >> confdefs.h <<\EOF
++
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++ cat >>confdefs.h <<\_ACEOF
+ #define USE_OLD_DLSYM 1
+-EOF
++_ACEOF
+
+ oldmethod="yes"
+-
++
+ fi
+ rm -f conftest*
+-
++
+
+ fi
+ rm -f conftest*
+
+
+ if test "${enable_socksdns}" = "yes"; then
+- cat >> confdefs.h <<\EOF
++ cat >>confdefs.h <<\_ACEOF
+ #define USE_SOCKS_DNS 1
+-EOF
++_ACEOF
++
++fi
+
++echo "$as_me:$LINENO: checking whether to enable tordns" >&5
++echo $ECHO_N "checking whether to enable tordns... $ECHO_C" >&6
++if test "x${enable_tordns}" = "x"; then
++ cat >>confdefs.h <<\_ACEOF
++#define USE_TOR_DNS 1
++_ACEOF
++
++ DEADPOOL_O="\${DEADPOOL}.o"
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++ DEADPOOL_O=""
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
++
+ if test "x${enable_envconf}" = "x"; then
+- cat >> confdefs.h <<\EOF
++ cat >>confdefs.h <<\_ACEOF
+ #define ALLOW_ENV_CONFIG 1
+-EOF
++_ACEOF
+
+ fi
+
+ if test "${enable_oldmethod}" = "yes"; then
+- cat >> confdefs.h <<\EOF
++ cat >>confdefs.h <<\_ACEOF
+ #define USE_OLD_DLSYM 1
+-EOF
++_ACEOF
+
+ oldmethod="yes"
+ fi
+
+ if test "x${enable_debug}" = "x"; then
+- cat >> confdefs.h <<\EOF
++ cat >>confdefs.h <<\_ACEOF
+ #define ALLOW_MSG_OUTPUT 1
+-EOF
++_ACEOF
+
+ fi
+
+-if test "x${enable_hostnames}" = "x"; then
+- cat >> confdefs.h <<\EOF
++if test "x${enable_hostnames}" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
+ #define HOSTNAMES 1
+-EOF
++_ACEOF
+
+ fi
+
+ if test "${enable_socksdns}" = "yes" -a \
+- "x${enable_hostnames}" = "x" ; then
+- { echo "configure: error: "--enable-socksdns is not valid without --disable-hostnames"" 1>&2; exit 1; }
++ "x${enable_hostnames}" = "xyes" ; then
++ { { echo "$as_me:$LINENO: error: \"--enable-socksdns is not valid with --enable-hostnames\"" >&5
++echo "$as_me: error: \"--enable-socksdns is not valid with --enable-hostnames\"" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++if test "x${enable_tordns}" = "x" -a \
++ "x${enable_hostnames}" = "xyes" ; then
++ { { echo "$as_me:$LINENO: error: \"--enable-tordns is not valid with --enable-hostnames\"" >&5
++echo "$as_me: error: \"--enable-tordns is not valid with --enable-hostnames\"" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+-if test "${oldmethod}" = "yes"; then
+-
++if test "${oldmethod}" = "yes"; then
++
+ # Extract the first word of "find", so it can be a program name with args.
+ set dummy find; ac_word=$2
+-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:1998: checking for $ac_word" >&5
+-if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_FIND+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ if test -n "$FIND"; then
+ ac_cv_prog_FIND="$FIND" # Let the user override the test.
+ else
+- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+- ac_dummy="$PATH"
+- for ac_dir in $ac_dummy; do
+- test -z "$ac_dir" && ac_dir=.
+- if test -f $ac_dir/$ac_word; then
+- ac_cv_prog_FIND="find"
+- break
+- fi
+- done
+- IFS="$ac_save_ifs"
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_FIND="find"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
+ fi
+ fi
+-FIND="$ac_cv_prog_FIND"
++FIND=$ac_cv_prog_FIND
+ if test -n "$FIND"; then
+- echo "$ac_t""$FIND" 1>&6
++ echo "$as_me:$LINENO: result: $FIND" >&5
++echo "${ECHO_T}$FIND" >&6
+ else
+- echo "$ac_t""no" 1>&6
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+ if test "${FIND}" = ""; then
+- { echo "configure: error: 'find not found in path'" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: 'find not found in path'" >&5
++echo "$as_me: error: 'find not found in path'" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+ # Extract the first word of "tail", so it can be a program name with args.
+ set dummy tail; ac_word=$2
+-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:2031: checking for $ac_word" >&5
+-if eval "test \"`echo '$''{'ac_cv_prog_TAIL'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_TAIL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ if test -n "$TAIL"; then
+ ac_cv_prog_TAIL="$TAIL" # Let the user override the test.
+ else
+- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+- ac_dummy="$PATH"
+- for ac_dir in $ac_dummy; do
+- test -z "$ac_dir" && ac_dir=.
+- if test -f $ac_dir/$ac_word; then
+- ac_cv_prog_TAIL="tail"
+- break
+- fi
+- done
+- IFS="$ac_save_ifs"
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_TAIL="tail"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
+ fi
+ fi
+-TAIL="$ac_cv_prog_TAIL"
++TAIL=$ac_cv_prog_TAIL
+ if test -n "$TAIL"; then
+- echo "$ac_t""$TAIL" 1>&6
++ echo "$as_me:$LINENO: result: $TAIL" >&5
++echo "${ECHO_T}$TAIL" >&6
+ else
+- echo "$ac_t""no" 1>&6
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+ if test "${TAIL}" = ""; then
+- { echo "configure: error: 'tail not found in path'" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: 'tail not found in path'" >&5
++echo "$as_me: error: 'tail not found in path'" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+- echo $ac_n "checking "location of lib${CONNECTLIB}.so"""... $ac_c" 1>&6
+-echo "configure:2062: checking "location of lib${CONNECTLIB}.so"" >&5
++ echo "$as_me:$LINENO: checking location of lib${CONNECTLIB}.so" >&5
++echo $ECHO_N "checking location of lib${CONNECTLIB}.so... $ECHO_C" >&6
+ LIBCONNECT=
+ for DIR in '/lib' '/usr/lib'; do
+ if test "${LIBCONNECT}" = ""; then
+ LIBCONNECT=`$FIND $DIR -name "lib${CONNECTLIB}.so.?" 2>/dev/null | $TAIL -1`
+ fi
+ done
+
+- cat >> confdefs.h <<EOF
++ cat >>confdefs.h <<_ACEOF
+ #define LIBCONNECT "${LIBCONNECT}"
+-EOF
++_ACEOF
+
+ if test "${LIBCONNECT}" = ""; then
+- { echo "configure: error: "not found!"" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: \"not found!\"" >&5
++echo "$as_me: error: \"not found!\"" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+- echo "$ac_t""$LIBCONNECT" 1>&6
++ echo "$as_me:$LINENO: result: $LIBCONNECT" >&5
++echo "${ECHO_T}$LIBCONNECT" >&6
+
+- echo $ac_n "checking "location of libc.so"""... $ac_c" 1>&6
+-echo "configure:2081: checking "location of libc.so"" >&5
++ echo "$as_me:$LINENO: checking location of libc.so" >&5
++echo $ECHO_N "checking location of libc.so... $ECHO_C" >&6
+ LIBC=
+ for DIR in '/lib' '/usr/lib'; do
+ if test "${LIBC}" = ""; then
+ LIBC=`$FIND $DIR -name "libc.so.?" 2>/dev/null | $TAIL -1`
+ fi
+ done
+
+- cat >> confdefs.h <<EOF
++ cat >>confdefs.h <<_ACEOF
+ #define LIBC "${LIBC}"
+-EOF
++_ACEOF
+
+ if test "${LIBC}" = ""; then
+- { echo "configure: error: "not found!"" 1>&2; exit 1; }
++ { { echo "$as_me:$LINENO: error: \"not found!\"" >&5
++echo "$as_me: error: \"not found!\"" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+- echo "$ac_t""$LIBC" 1>&6
++ echo "$as_me:$LINENO: result: $LIBC" >&5
++echo "${ECHO_T}$LIBC" >&6
+ fi
+
+-echo $ac_n "checking for correct select prototype""... $ac_c" 1>&6
+-echo "configure:2101: checking for correct select prototype" >&5
++echo "$as_me:$LINENO: checking for correct select prototype" >&5
++echo $ECHO_N "checking for correct select prototype... $ECHO_C" >&6
+ PROTO=
+-for testproto in 'int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout'
++for testproto in 'int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout'
+ do
+ if test "${PROTO}" = ""; then
+- cat > conftest.$ac_ext <<EOF
+-#line 2107 "configure"
+-#include "confdefs.h"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+ int select($testproto);
+-
+-int main() {
+
+-; return 0; }
+-EOF
+-if { (eval echo configure:2119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+- rm -rf conftest*
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
+ PROTO="$testproto";
+ else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
+ fi
+-rm -f conftest*
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ done
+ if test "${PROTO}" = ""; then
+- { echo "configure: error: "no match found!"" 1>&2; exit 1; }
+-fi
+-echo "$ac_t""select(${PROTO})" 1>&6
+-cat >> confdefs.h <<EOF
++ { { echo "$as_me:$LINENO: error: \"no match found!\"" >&5
++echo "$as_me: error: \"no match found!\"" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++echo "$as_me:$LINENO: result: select(${PROTO})" >&5
++echo "${ECHO_T}select(${PROTO})" >&6
++cat >>confdefs.h <<_ACEOF
+ #define SELECT_SIGNATURE ${PROTO}
+-EOF
++_ACEOF
+
+
+-echo $ac_n "checking for correct connect prototype""... $ac_c" 1>&6
+-echo "configure:2139: checking for correct connect prototype" >&5
++echo "$as_me:$LINENO: checking for correct connect prototype" >&5
++echo $ECHO_N "checking for correct connect prototype... $ECHO_C" >&6
+ PROTO=
+ PROTO1='int __fd, const struct sockaddr * __addr, int len'
+ PROTO2='int __fd, const struct sockaddr_in * __addr, socklen_t __len'
+ PROTO3='int __fd, struct sockaddr * __addr, int __len'
+ PROTO4='int __fd, const struct sockaddr * __addr, socklen_t __len'
+ for testproto in "${PROTO1}" \
+ "${PROTO2}" \
+ "${PROTO3}" \
+- "${PROTO4}"
++ "${PROTO4}"
+ do
+ if test "${PROTO}" = ""; then
+- cat > conftest.$ac_ext <<EOF
+-#line 2152 "configure"
+-#include "confdefs.h"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+ #include <sys/socket.h>
+ int connect($testproto);
+-
+-int main() {
+
+-; return 0; }
+-EOF
+-if { (eval echo configure:2162: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+- rm -rf conftest*
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
+ PROTO="$testproto";
+ else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
+ fi
+-rm -f conftest*
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ done
+ if test "${PROTO}" = ""; then
+- { echo "configure: error: "no match found!"" 1>&2; exit 1; }
+-fi
+-echo "$ac_t""connect(${PROTO})" 1>&6
+-cat >> confdefs.h <<EOF
++ { { echo "$as_me:$LINENO: error: \"no match found!\"" >&5
++echo "$as_me: error: \"no match found!\"" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++echo "$as_me:$LINENO: result: connect(${PROTO})" >&5
++echo "${ECHO_T}connect(${PROTO})" >&6
++cat >>confdefs.h <<_ACEOF
+ #define CONNECT_SIGNATURE ${PROTO}
+-EOF
++_ACEOF
+
+
+ SOCKETARG="struct sockaddr *"
+ case "${PROTO}" in
+ *sockaddr_in*)
+ SOCKETARG="struct sockaddr_in *"
+ ;;
+ esac
+-cat >> confdefs.h <<EOF
++cat >>confdefs.h <<_ACEOF
+ #define CONNECT_SOCKARG ${SOCKETARG}
+-EOF
++_ACEOF
+
+
+-echo $ac_n "checking for correct close prototype""... $ac_c" 1>&6
+-echo "configure:2193: checking for correct close prototype" >&5
++echo "$as_me:$LINENO: checking for correct close prototype" >&5
++echo $ECHO_N "checking for correct close prototype... $ECHO_C" >&6
+ PROTO=
+ PROTO1='int fd'
+-for testproto in "${PROTO1}"
++for testproto in "${PROTO1}"
+ do
+ if test "${PROTO}" = ""; then
+- cat > conftest.$ac_ext <<EOF
+-#line 2200 "configure"
+-#include "confdefs.h"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+ #include <stdlib.h>
+ int close($testproto);
+-
+-int main() {
+
+-; return 0; }
+-EOF
+-if { (eval echo configure:2210: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+- rm -rf conftest*
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
+ PROTO="$testproto";
+ else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
+ fi
+-rm -f conftest*
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ done
+ if test "${PROTO}" = ""; then
+- { echo "configure: error: "no match found!"" 1>&2; exit 1; }
+-fi
+-echo "$ac_t""close(${PROTO})" 1>&6
+-cat >> confdefs.h <<EOF
++ { { echo "$as_me:$LINENO: error: \"no match found!\"" >&5
++echo "$as_me: error: \"no match found!\"" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++echo "$as_me:$LINENO: result: close(${PROTO})" >&5
++echo "${ECHO_T}close(${PROTO})" >&6
++cat >>confdefs.h <<_ACEOF
+ #define CLOSE_SIGNATURE ${PROTO}
+-EOF
++_ACEOF
+
+
+-echo $ac_n "checking for correct poll prototype""... $ac_c" 1>&6
+-echo "configure:2230: checking for correct poll prototype" >&5
++echo "$as_me:$LINENO: checking for correct poll prototype" >&5
++echo $ECHO_N "checking for correct poll prototype... $ECHO_C" >&6
+ PROTO=
+-for testproto in 'struct pollfd *ufds, unsigned long nfds, int timeout'
++for testproto in 'struct pollfd *ufds, unsigned long nfds, int timeout'
+ do
+ if test "${PROTO}" = ""; then
+- cat > conftest.$ac_ext <<EOF
+-#line 2236 "configure"
+-#include "confdefs.h"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+ #include <sys/poll.h>
+ int poll($testproto);
+-
+-int main() {
+
+-; return 0; }
+-EOF
+-if { (eval echo configure:2246: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+- rm -rf conftest*
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
+ PROTO="$testproto";
+ else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
+ fi
+-rm -f conftest*
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ done
+ if test "${PROTO}" = ""; then
+- { echo "configure: error: "no match found!"" 1>&2; exit 1; }
+-fi
+-echo "$ac_t""poll(${PROTO})" 1>&6
+-cat >> confdefs.h <<EOF
++ { { echo "$as_me:$LINENO: error: \"no match found!\"" >&5
++echo "$as_me: error: \"no match found!\"" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++echo "$as_me:$LINENO: result: poll(${PROTO})" >&5
++echo "${ECHO_T}poll(${PROTO})" >&6
++cat >>confdefs.h <<_ACEOF
+ #define POLL_SIGNATURE ${PROTO}
+-EOF
++_ACEOF
++
++
++PROTO="const char *name"
++cat >>confdefs.h <<_ACEOF
++#define GETHOSTBYNAME_SIGNATURE ${PROTO}
++_ACEOF
++
++
++PROTO="const char *node, const char *service, void *hints, void *res"
++cat >>confdefs.h <<_ACEOF
++#define GETADDRINFO_SIGNATURE ${PROTO}
++_ACEOF
++
++
++PROTO="const char *name, int af, int flags, int *error_num"
++cat >>confdefs.h <<_ACEOF
++#define GETIPNODEBYNAME_SIGNATURE ${PROTO}
++_ACEOF
+
+
+ SPECIALLIBS=${LIBS}
+
+ LIBS=${SIMPLELIBS}
+
+-trap '' 1 2 15
+-cat > confcache <<\EOF
++ ac_config_files="$ac_config_files Makefile"
++cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
+ # tests run on this system so they can be shared between configure
+-# scripts and configure runs. It is not useful on other systems.
+-# If it contains results you don't want to keep, you may remove or edit it.
++# scripts and configure runs, see configure's option --config-cache.
++# It is not useful on other systems. If it contains results you don't
++# want to keep, you may remove or edit it.
+ #
+-# By default, configure uses ./config.cache as the cache file,
+-# creating it if it does not exist already. You can give configure
+-# the --cache-file=FILE option to use a different cache file; that is
+-# what configure does when it calls configure scripts in
+-# subdirectories, so they share the cache.
+-# Giving --cache-file=/dev/null disables caching, for debugging configure.
+-# config.status only pays attention to the cache file if you give it the
+-# --recheck option to rerun configure.
++# config.status only pays attention to the cache file if you give it
++# the --recheck option to rerun configure.
+ #
+-EOF
++# `ac_cv_env_foo' variables (set or unset) will be overridden when
++# loading this file, other *unset* `ac_cv_foo' will be assigned the
++# following values.
++
++_ACEOF
++
+ # The following way of writing the cache mishandles newlines in values,
+ # but we know of no workaround that is simple, portable, and efficient.
+ # So, don't put newlines in cache variables' values.
+ # Ultrix sh set writes to stderr and can't be redirected directly,
+ # and sets the high bit in the cache file unless we assign to the vars.
+-(set) 2>&1 |
+- case `(ac_space=' '; set | grep ac_space) 2>&1` in
+- *ac_space=\ *)
+- # `set' does not quote correctly, so add quotes (double-quote substitution
+- # turns \\\\ into \\, and sed turns \\ into \).
+- sed -n \
+- -e "s/'/'\\\\''/g" \
+- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+- ;;
+- *)
+- # `set' quotes correctly as required by POSIX, so do not add quotes.
+- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+- ;;
+- esac >> confcache
+-if cmp -s $cache_file confcache; then
+- :
+-else
++{
++ (set) 2>&1 |
++ case `(ac_space=' '; set | grep ac_space) 2>&1` in
++ *ac_space=\ *)
++ # `set' does not quote correctly, so add quotes (double-quote
++ # substitution turns \\\\ into \\, and sed turns \\ into \).
++ sed -n \
++ "s/'/'\\\\''/g;
++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
++ ;;
++ *)
++ # `set' quotes correctly as required by POSIX, so do not add quotes.
++ sed -n \
++ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
++ ;;
++ esac;
++} |
++ sed '
++ t clear
++ : clear
++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
++ t end
++ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
++ : end' >>confcache
++if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+- echo "updating cache $cache_file"
+- cat confcache > $cache_file
++ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
++ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+ fi
+ rm -f confcache
+
+-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+-
+ test "x$prefix" = xNONE && prefix=$ac_default_prefix
+ # Let make expand exec_prefix.
+ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+-# Any assignment to VPATH causes Sun make to only execute
+-# the first set of double-colon rules, so remove it if not needed.
+-# If there is a colon in the path, we need to keep it.
++# VPATH may cause trouble with some makes, so we remove $(srcdir),
++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
++# trailing colons and then remove the whole line if VPATH becomes empty
++# (actually we leave an empty line to preserve line numbers).
+ if test "x$srcdir" = x.; then
+- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
++ ac_vpsub='/^[ ]*VPATH[ ]*=/{
++s/:*\$(srcdir):*/:/;
++s/:*\${srcdir}:*/:/;
++s/:*@srcdir@:*/:/;
++s/^\([^=]*=[ ]*\):*/\1/;
++s/:*$//;
++s/^[^=]*=[ ]*$//;
++}'
+ fi
+
+-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+-
+ DEFS=-DHAVE_CONFIG_H
+
+-# Without the "./", some shells look in PATH for config.status.
+-: ${CONFIG_STATUS=./config.status}
++ac_libobjs=
++ac_ltlibobjs=
++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
++ # 1. Remove the extension, and $U if already installed.
++ ac_i=`echo "$ac_i" |
++ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
++ # 2. Add them.
++ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
++ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
++done
++LIBOBJS=$ac_libobjs
+
+-echo creating $CONFIG_STATUS
+-rm -f $CONFIG_STATUS
+-cat > $CONFIG_STATUS <<EOF
+-#! /bin/sh
+-# Generated automatically by configure.
++LTLIBOBJS=$ac_ltlibobjs
++
++
++
++: ${CONFIG_STATUS=./config.status}
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
++echo "$as_me: creating $CONFIG_STATUS" >&6;}
++cat >$CONFIG_STATUS <<_ACEOF
++#! $SHELL
++# Generated by $as_me.
+ # Run this file to recreate the current configuration.
+-# This directory was configured as follows,
+-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+-#
+-# $0 $ac_configure_args
+-#
+ # Compiler output produced by configure, useful for debugging
+-# configure, is in ./config.log if it exists.
++# configure, is in config.log if it exists.
+
+-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+-for ac_option
++debug=false
++ac_cs_recheck=false
++ac_cs_silent=false
++SHELL=\${CONFIG_SHELL-$SHELL}
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++## --------------------- ##
++## M4sh Initialization. ##
++## --------------------- ##
++
++# Be Bourne compatible
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
++ set -o posix
++fi
++DUALCASE=1; export DUALCASE # for MKS sh
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++fi
++
++
++# Work around bugs in pre-3.0 UWIN ksh.
++$as_unset ENV MAIL MAILPATH
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ $as_unset $as_var
++ fi
++done
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
++ as_basename=basename
++else
++ as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)$' \| \
++ . : '\(.\)' 2>/dev/null ||
++echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
++ /^X\/\(\/\/\)$/{ s//\1/; q; }
++ /^X\/\(\/\).*/{ s//\1/; q; }
++ s/.*/./; q'`
++
++
++# PATH needs CR, and LINENO needs CR and PATH.
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x$as_lineno_3" = "x$as_lineno_2" || {
++ # Find who we are. Look in the path if we contain no path at all
++ # relative or not.
++ case $0 in
++ *[\\/]* ) as_myself=$0 ;;
++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++
++ ;;
++ esac
++ # We did not find ourselves, most probably we were run as `sh COMMAND'
++ # in which case we are not to be found in the path.
++ if test "x$as_myself" = x; then
++ as_myself=$0
++ fi
++ if test ! -f "$as_myself"; then
++ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
++echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++ case $CONFIG_SHELL in
++ '')
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+ do
+- case "\$ac_option" in
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for as_base in sh bash ksh sh5; do
++ case $as_dir in
++ /*)
++ if ("$as_dir/$as_base" -c '
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
++ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
++ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
++ CONFIG_SHELL=$as_dir/$as_base
++ export CONFIG_SHELL
++ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
++ fi;;
++ esac
++ done
++done
++;;
++ esac
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line before each line; the second 'sed' does the real
++ # work. The second script uses 'N' to pair each line-number line
++ # with the numbered line, and appends trailing '-' during
++ # substitution so that $LINENO is not a special case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
++ sed '=' <$as_myself |
++ sed '
++ N
++ s,$,-,
++ : loop
++ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
++ t loop
++ s,-$,,
++ s,^['$as_cr_digits']*\n,,
++ ' >$as_me.lineno &&
++ chmod +x $as_me.lineno ||
++ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
++echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
++ { (exit 1); exit 1; }; }
++
++ # Don't try to exec as it changes $[0], causing all sort of problems
++ # (the dirname of $[0] is not the place where we might find the
++ # original and so on. Autoconf is especially sensible to this).
++ . ./$as_me.lineno
++ # Exit status is that of the last command.
++ exit
++}
++
++
++case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
++ *c*,-n*) ECHO_N= ECHO_C='
++' ECHO_T=' ' ;;
++ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
++ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++echo >conf$$.file
++if ln -s conf$$.file conf$$ 2>/dev/null; then
++ # We could just check for DJGPP; but this test a) works b) is more generic
++ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
++ if test -f conf$$.exe; then
++ # Don't use ln at all; we don't have any links
++ as_ln_s='cp -p'
++ else
++ as_ln_s='ln -s'
++ fi
++elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++else
++ as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.file
++
++if mkdir -p . 2>/dev/null; then
++ as_mkdir_p=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++as_executable_p="test -f"
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++# IFS
++# We need space, tab and new line, in precisely that order.
++as_nl='
++'
++IFS=" $as_nl"
++
++# CDPATH.
++$as_unset CDPATH
++
++exec 6>&1
++
++# Open the log real soon, to keep \$[0] and so on meaningful, and to
++# report actual input values of CONFIG_FILES etc. instead of their
++# values after options handling. Logging --version etc. is OK.
++exec 5>>config.log
++{
++ echo
++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
++## Running $as_me. ##
++_ASBOX
++} >&5
++cat >&5 <<_CSEOF
++
++This file was extended by $as_me, which was
++generated by GNU Autoconf 2.59. Invocation command line was
++
++ CONFIG_FILES = $CONFIG_FILES
++ CONFIG_HEADERS = $CONFIG_HEADERS
++ CONFIG_LINKS = $CONFIG_LINKS
++ CONFIG_COMMANDS = $CONFIG_COMMANDS
++ $ $0 $@
++
++_CSEOF
++echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
++echo >&5
++_ACEOF
++
++# Files that config.status was made for.
++if test -n "$ac_config_files"; then
++ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
++fi
++
++if test -n "$ac_config_headers"; then
++ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
++fi
++
++if test -n "$ac_config_links"; then
++ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
++fi
++
++if test -n "$ac_config_commands"; then
++ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
++fi
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++
++ac_cs_usage="\
++\`$as_me' instantiates files from templates according to the
++current configuration.
++
++Usage: $0 [OPTIONS] [FILE]...
++
++ -h, --help print this help, then exit
++ -V, --version print version number, then exit
++ -q, --quiet do not print progress messages
++ -d, --debug don't remove temporary files
++ --recheck update $as_me by reconfiguring in the same conditions
++ --file=FILE[:TEMPLATE]
++ instantiate the configuration file FILE
++ --header=FILE[:TEMPLATE]
++ instantiate the configuration header FILE
++
++Configuration files:
++$config_files
++
++Configuration headers:
++$config_headers
++
++Report bugs to <bug-autoconf(a)gnu.org>."
++_ACEOF
++
++cat >>$CONFIG_STATUS <<_ACEOF
++ac_cs_version="\\
++config.status
++configured by $0, generated by GNU Autoconf 2.59,
++ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
++
++Copyright (C) 2003 Free Software Foundation, Inc.
++This config.status script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it."
++srcdir=$srcdir
++INSTALL="$INSTALL"
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++# If no file are specified by the user, then we need to provide default
++# value. By we need to know if files were specified by the user.
++ac_need_defaults=:
++while test $# != 0
++do
++ case $1 in
++ --*=*)
++ ac_option=`expr "x$1" : 'x\([^=]*\)='`
++ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
++ ac_shift=:
++ ;;
++ -*)
++ ac_option=$1
++ ac_optarg=$2
++ ac_shift=shift
++ ;;
++ *) # This is not an option, so the user has probably given explicit
++ # arguments.
++ ac_option=$1
++ ac_need_defaults=false;;
++ esac
++
++ case $ac_option in
++ # Handling of the options.
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+- echo "$CONFIG_STATUS generated by autoconf version 2.13"
+- exit 0 ;;
+- -help | --help | --hel | --he | --h)
+- echo "\$ac_cs_usage"; exit 0 ;;
+- *) echo "\$ac_cs_usage"; exit 1 ;;
++ ac_cs_recheck=: ;;
++ --version | --vers* | -V )
++ echo "$ac_cs_version"; exit 0 ;;
++ --he | --h)
++ # Conflict between --help and --header
++ { { echo "$as_me:$LINENO: error: ambiguous option: $1
++Try \`$0 --help' for more information." >&5
++echo "$as_me: error: ambiguous option: $1
++Try \`$0 --help' for more information." >&2;}
++ { (exit 1); exit 1; }; };;
++ --help | --hel | -h )
++ echo "$ac_cs_usage"; exit 0 ;;
++ --debug | --d* | -d )
++ debug=: ;;
++ --file | --fil | --fi | --f )
++ $ac_shift
++ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
++ ac_need_defaults=false;;
++ --header | --heade | --head | --hea )
++ $ac_shift
++ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
++ ac_need_defaults=false;;
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil | --si | --s)
++ ac_cs_silent=: ;;
++
++ # This is an error.
++ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
++Try \`$0 --help' for more information." >&5
++echo "$as_me: error: unrecognized option: $1
++Try \`$0 --help' for more information." >&2;}
++ { (exit 1); exit 1; }; } ;;
++
++ *) ac_config_targets="$ac_config_targets $1" ;;
++
+ esac
++ shift
+ done
+
+-ac_given_srcdir=$srcdir
+-ac_given_INSTALL="$INSTALL"
++ac_configure_extra_args=
++
++if $ac_cs_silent; then
++ exec 6>/dev/null
++ ac_configure_extra_args="$ac_configure_extra_args --silent"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++if \$ac_cs_recheck; then
++ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
++ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++fi
++
++_ACEOF
++
++
++
+
+-trap 'rm -fr `echo "Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+-EOF
+-cat >> $CONFIG_STATUS <<EOF
+-
+-# Protect against being on the right side of a sed subst in config.status.
+-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+-$ac_vpsub
+-$extrasub
+-s%@SHELL@%$SHELL%g
+-s%@CFLAGS@%$CFLAGS%g
+-s%@CPPFLAGS@%$CPPFLAGS%g
+-s%@CXXFLAGS@%$CXXFLAGS%g
+-s%@FFLAGS@%$FFLAGS%g
+-s%@DEFS@%$DEFS%g
+-s%@LDFLAGS@%$LDFLAGS%g
+-s%@LIBS@%$LIBS%g
+-s%@exec_prefix@%$exec_prefix%g
+-s%@prefix@%$prefix%g
+-s%@program_transform_name@%$program_transform_name%g
+-s%@bindir@%$bindir%g
+-s%@sbindir@%$sbindir%g
+-s%@libexecdir@%$libexecdir%g
+-s%@datadir@%$datadir%g
+-s%@sysconfdir@%$sysconfdir%g
+-s%@sharedstatedir@%$sharedstatedir%g
+-s%@localstatedir@%$localstatedir%g
+-s%@libdir@%$libdir%g
+-s%@includedir@%$includedir%g
+-s%@oldincludedir@%$oldincludedir%g
+-s%@infodir@%$infodir%g
+-s%@mandir@%$mandir%g
+-s%@host@%$host%g
+-s%@host_alias@%$host_alias%g
+-s%@host_cpu@%$host_cpu%g
+-s%@host_vendor@%$host_vendor%g
+-s%@host_os@%$host_os%g
+-s%@CC@%$CC%g
+-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+-s%@INSTALL_DATA@%$INSTALL_DATA%g
+-s%@LN_S@%$LN_S%g
+-s%@CPP@%$CPP%g
+-s%@FIND@%$FIND%g
+-s%@TAIL@%$TAIL%g
+-s%@SPECIALLIBS@%$SPECIALLIBS%g
+
++cat >>$CONFIG_STATUS <<\_ACEOF
++for ac_config_target in $ac_config_targets
++do
++ case "$ac_config_target" in
++ # Handling of arguments.
++ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
++ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
++ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
++echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
++ { (exit 1); exit 1; }; };;
++ esac
++done
++
++# If the user did not use the arguments to specify the items to instantiate,
++# then the envvar interface is used. Set only those that are not.
++# We use the long form for the default assignment because of an extremely
++# bizarre bug on SunOS 4.1.3.
++if $ac_need_defaults; then
++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
++fi
++
++# Have a temporary directory for convenience. Make it in the build tree
++# simply because there is no reason to put it here, and in addition,
++# creating and moving files from /tmp can sometimes cause problems.
++# Create a temporary directory, and hook for its removal unless debugging.
++$debug ||
++{
++ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
++ trap '{ (exit 1); exit 1; }' 1 2 13 15
++}
++
++# Create a (secure) tmp directory for tmp files.
++
++{
++ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
++ test -n "$tmp" && test -d "$tmp"
++} ||
++{
++ tmp=./confstat$$-$RANDOM
++ (umask 077 && mkdir $tmp)
++} ||
++{
++ echo "$me: cannot create a temporary directory in ." >&2
++ { (exit 1); exit 1; }
++}
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<_ACEOF
++
++#
++# CONFIG_FILES section.
++#
++
++# No need to generate the scripts if there are no CONFIG_FILES.
++# This happens for instance when ./config.status config.h
++if test -n "\$CONFIG_FILES"; then
++ # Protect against being on the right side of a sed subst in config.status.
++ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
++ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
++s,@SHELL@,$SHELL,;t t
++s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
++s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
++s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
++s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
++s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
++s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
++s,@exec_prefix@,$exec_prefix,;t t
++s,@prefix@,$prefix,;t t
++s,@program_transform_name@,$program_transform_name,;t t
++s,@bindir@,$bindir,;t t
++s,@sbindir@,$sbindir,;t t
++s,@libexecdir@,$libexecdir,;t t
++s,@datadir@,$datadir,;t t
++s,@sysconfdir@,$sysconfdir,;t t
++s,@sharedstatedir@,$sharedstatedir,;t t
++s,@localstatedir@,$localstatedir,;t t
++s,@libdir@,$libdir,;t t
++s,@includedir@,$includedir,;t t
++s,@oldincludedir@,$oldincludedir,;t t
++s,@infodir@,$infodir,;t t
++s,@mandir@,$mandir,;t t
++s,@build_alias@,$build_alias,;t t
++s,@host_alias@,$host_alias,;t t
++s,@target_alias@,$target_alias,;t t
++s,@DEFS@,$DEFS,;t t
++s,@ECHO_C@,$ECHO_C,;t t
++s,@ECHO_N@,$ECHO_N,;t t
++s,@ECHO_T@,$ECHO_T,;t t
++s,@LIBS@,$LIBS,;t t
++s,@build@,$build,;t t
++s,@build_cpu@,$build_cpu,;t t
++s,@build_vendor@,$build_vendor,;t t
++s,@build_os@,$build_os,;t t
++s,@host@,$host,;t t
++s,@host_cpu@,$host_cpu,;t t
++s,@host_vendor@,$host_vendor,;t t
++s,@host_os@,$host_os,;t t
++s,@CC@,$CC,;t t
++s,@CFLAGS@,$CFLAGS,;t t
++s,@LDFLAGS@,$LDFLAGS,;t t
++s,@CPPFLAGS@,$CPPFLAGS,;t t
++s,@ac_ct_CC@,$ac_ct_CC,;t t
++s,@EXEEXT@,$EXEEXT,;t t
++s,@OBJEXT@,$OBJEXT,;t t
++s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
++s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
++s,@INSTALL_DATA@,$INSTALL_DATA,;t t
++s,@LN_S@,$LN_S,;t t
++s,@CPP@,$CPP,;t t
++s,@EGREP@,$EGREP,;t t
++s,@DEADPOOL_O@,$DEADPOOL_O,;t t
++s,@FIND@,$FIND,;t t
++s,@TAIL@,$TAIL,;t t
++s,@SPECIALLIBS@,$SPECIALLIBS,;t t
++s,@LIBOBJS@,$LIBOBJS,;t t
++s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+ CEOF
+-EOF
+
+-cat >> $CONFIG_STATUS <<\EOF
++_ACEOF
+
+-# Split the substitutions into bite-sized pieces for seds with
+-# small command number limits, like on Digital OSF/1 and HP-UX.
+-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+-ac_file=1 # Number of current file.
+-ac_beg=1 # First line for current file.
+-ac_end=$ac_max_sed_cmds # Line after last line for current file.
+-ac_more_lines=:
+-ac_sed_cmds=""
+-while $ac_more_lines; do
+- if test $ac_beg -gt 1; then
+- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+- else
+- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+- fi
+- if test ! -s conftest.s$ac_file; then
+- ac_more_lines=false
+- rm -f conftest.s$ac_file
+- else
+- if test -z "$ac_sed_cmds"; then
+- ac_sed_cmds="sed -f conftest.s$ac_file"
++ cat >>$CONFIG_STATUS <<\_ACEOF
++ # Split the substitutions into bite-sized pieces for seds with
++ # small command number limits, like on Digital OSF/1 and HP-UX.
++ ac_max_sed_lines=48
++ ac_sed_frag=1 # Number of current file.
++ ac_beg=1 # First line for current file.
++ ac_end=$ac_max_sed_lines # Line after last line for current file.
++ ac_more_lines=:
++ ac_sed_cmds=
++ while $ac_more_lines; do
++ if test $ac_beg -gt 1; then
++ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
++ else
++ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
++ fi
++ if test ! -s $tmp/subs.frag; then
++ ac_more_lines=false
+ else
+- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
++ # The purpose of the label and of the branching condition is to
++ # speed up the sed processing (if there are no `@' at all, there
++ # is no need to browse any of the substitutions).
++ # These are the two extra sed commands mentioned above.
++ (echo ':t
++ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
++ if test -z "$ac_sed_cmds"; then
++ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
++ else
++ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
++ fi
++ ac_sed_frag=`expr $ac_sed_frag + 1`
++ ac_beg=$ac_end
++ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+- ac_file=`expr $ac_file + 1`
+- ac_beg=$ac_end
+- ac_end=`expr $ac_end + $ac_max_sed_cmds`
++ done
++ if test -z "$ac_sed_cmds"; then
++ ac_sed_cmds=cat
+ fi
+-done
+-if test -z "$ac_sed_cmds"; then
+- ac_sed_cmds=cat
+-fi
+-EOF
+-
+-cat >> $CONFIG_STATUS <<EOF
++fi # test -n "$CONFIG_FILES"
+
+-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+-EOF
+-cat >> $CONFIG_STATUS <<\EOF
+-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+- case "$ac_file" in
+- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+- *) ac_file_in="${ac_file}.in" ;;
++ case $ac_file in
++ - | *:- | *:-:* ) # input from stdin
++ cat >$tmp/stdin
++ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
++ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
++ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+-
+- # Remove last slash and all that follows it. Not all systems have dirname.
+- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+- # The file is in a subdirectory.
+- test ! -d "$ac_dir" && mkdir "$ac_dir"
+- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+- # A "../" for each directory in $ac_dir_suffix.
+- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+- else
+- ac_dir_suffix= ac_dots=
+- fi
+-
+- case "$ac_given_srcdir" in
+- .) srcdir=.
+- if test -z "$ac_dots"; then top_srcdir=.
+- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
++ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
++ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$ac_file" : 'X\(//\)[^/]' \| \
++ X"$ac_file" : 'X\(//\)$' \| \
++ X"$ac_file" : 'X\(/\)' \| \
++ . : '\(.\)' 2>/dev/null ||
++echo X"$ac_file" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
++ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
++ /^X\(\/\/\)$/{ s//\1/; q; }
++ /^X\(\/\).*/{ s//\1/; q; }
++ s/.*/./; q'`
++ { if $as_mkdir_p; then
++ mkdir -p "$ac_dir"
++ else
++ as_dir="$ac_dir"
++ as_dirs=
++ while test ! -d "$as_dir"; do
++ as_dirs="$as_dir $as_dirs"
++ as_dir=`(dirname "$as_dir") 2>/dev/null ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| \
++ . : '\(.\)' 2>/dev/null ||
++echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
++ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
++ /^X\(\/\/\)$/{ s//\1/; q; }
++ /^X\(\/\).*/{ s//\1/; q; }
++ s/.*/./; q'`
++ done
++ test ! -n "$as_dirs" || mkdir $as_dirs
++ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
++echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
++ { (exit 1); exit 1; }; }; }
++
++ ac_builddir=.
++
++if test "$ac_dir" != .; then
++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++ # A "../" for each directory in $ac_dir_suffix.
++ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
++else
++ ac_dir_suffix= ac_top_builddir=
++fi
++
++case $srcdir in
++ .) # No --srcdir option. We are building in place.
++ ac_srcdir=.
++ if test -z "$ac_top_builddir"; then
++ ac_top_srcdir=.
++ else
++ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
++ fi ;;
++ [\\/]* | ?:[\\/]* ) # Absolute path.
++ ac_srcdir=$srcdir$ac_dir_suffix;
++ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+- top_srcdir="$ac_dots$ac_given_srcdir" ;;
+- esac
++ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
++ ac_top_srcdir=$ac_top_builddir$srcdir ;;
++esac
++
++# Do not use `cd foo && pwd` to compute absolute paths, because
++# the directories may not exist.
++case `pwd` in
++.) ac_abs_builddir="$ac_dir";;
++*)
++ case "$ac_dir" in
++ .) ac_abs_builddir=`pwd`;;
++ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
++ *) ac_abs_builddir=`pwd`/"$ac_dir";;
++ esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_top_builddir=${ac_top_builddir}.;;
++*)
++ case ${ac_top_builddir}. in
++ .) ac_abs_top_builddir=$ac_abs_builddir;;
++ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
++ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
++ esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_srcdir=$ac_srcdir;;
++*)
++ case $ac_srcdir in
++ .) ac_abs_srcdir=$ac_abs_builddir;;
++ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
++ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
++ esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_top_srcdir=$ac_top_srcdir;;
++*)
++ case $ac_top_srcdir in
++ .) ac_abs_top_srcdir=$ac_abs_builddir;;
++ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
++ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
++ esac;;
++esac
+
+- case "$ac_given_INSTALL" in
+- [/$]*) INSTALL="$ac_given_INSTALL" ;;
+- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+- esac
+
+- echo creating "$ac_file"
+- rm -f "$ac_file"
+- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+- case "$ac_file" in
+- *Makefile*) ac_comsub="1i\\
+-# $configure_input" ;;
+- *) ac_comsub= ;;
++ case $INSTALL in
++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
++ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
+- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+- sed -e "$ac_comsub
+-s%@configure_input@%$configure_input%g
+-s%@srcdir@%$srcdir%g
+-s%@top_srcdir@%$top_srcdir%g
+-s%@INSTALL@%$INSTALL%g
+-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+-fi; done
+-rm -f conftest.s*
++ # Let's still pretend it is `configure' which instantiates (i.e., don't
++ # use $as_me), people would be surprised to read:
++ # /* config.h. Generated by config.status. */
++ if test x"$ac_file" = x-; then
++ configure_input=
++ else
++ configure_input="$ac_file. "
++ fi
++ configure_input=$configure_input"Generated from `echo $ac_file_in |
++ sed 's,.*/,,'` by configure."
++
++ # First look for the input files in the build tree, otherwise in the
++ # src tree.
++ ac_file_inputs=`IFS=:
++ for f in $ac_file_in; do
++ case $f in
++ -) echo $tmp/stdin ;;
++ [\\/$]*)
++ # Absolute (can't be DOS-style, as IFS=:)
++ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
++echo "$as_me: error: cannot find input file: $f" >&2;}
++ { (exit 1); exit 1; }; }
++ echo "$f";;
++ *) # Relative
++ if test -f "$f"; then
++ # Build tree
++ echo "$f"
++ elif test -f "$srcdir/$f"; then
++ # Source tree
++ echo "$srcdir/$f"
++ else
++ # /dev/null tree
++ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
++echo "$as_me: error: cannot find input file: $f" >&2;}
++ { (exit 1); exit 1; }; }
++ fi;;
++ esac
++ done` || { (exit 1); exit 1; }
++
++ if test x"$ac_file" != x-; then
++ { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
++ rm -f "$ac_file"
++ fi
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++ sed "$ac_vpsub
++$extrasub
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s,@configure_input@,$configure_input,;t t
++s,@srcdir@,$ac_srcdir,;t t
++s,@abs_srcdir@,$ac_abs_srcdir,;t t
++s,@top_srcdir@,$ac_top_srcdir,;t t
++s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
++s,@builddir@,$ac_builddir,;t t
++s,@abs_builddir@,$ac_abs_builddir,;t t
++s,@top_builddir@,$ac_top_builddir,;t t
++s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
++s,@INSTALL@,$ac_INSTALL,;t t
++" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
++ rm -f $tmp/stdin
++ if test x"$ac_file" != x-; then
++ mv $tmp/out $ac_file
++ else
++ cat $tmp/out
++ rm -f $tmp/out
++ fi
++
++done
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++
++#
++# CONFIG_HEADER section.
++#
+
+ # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+ # NAME is the cpp macro being defined and VALUE is the value it is being given.
+ #
+ # ac_d sets the value in "#define NAME VALUE" lines.
+-ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+-ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
+-ac_dC='\3'
+-ac_dD='%g'
+-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+-ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+-ac_uB='\([ ]\)%\1#\2define\3'
++ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
++ac_dB='[ ].*$,\1#\2'
++ac_dC=' '
++ac_dD=',;t'
++# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
++ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
++ac_uB='$,\1#\2define\3'
+ ac_uC=' '
+-ac_uD='\4%g'
+-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+-ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+-ac_eB='$%\1#\2define\3'
+-ac_eC=' '
+-ac_eD='%g'
+-
+-if test "${CONFIG_HEADERS+set}" != set; then
+-EOF
+-cat >> $CONFIG_STATUS <<EOF
+- CONFIG_HEADERS="config.h"
+-EOF
+-cat >> $CONFIG_STATUS <<\EOF
+-fi
+-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
++ac_uD=',;t'
++
++for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+- case "$ac_file" in
+- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+- *) ac_file_in="${ac_file}.in" ;;
++ case $ac_file in
++ - | *:- | *:-:* ) # input from stdin
++ cat >$tmp/stdin
++ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
++ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
++ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+- echo creating $ac_file
++ test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
+
+- rm -f conftest.frag conftest.in conftest.out
+- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+- cat $ac_file_inputs > conftest.in
+-
+-EOF
+-
+-# Transform confdefs.h into a sed script conftest.vals that substitutes
+-# the proper values into config.h.in to produce config.h. And first:
+-# Protect against being on the right side of a sed subst in config.status.
+-# Protect against being in an unquoted here document in config.status.
+-rm -f conftest.vals
+-cat > conftest.hdr <<\EOF
+-s/[\\&%]/\\&/g
+-s%[\\$`]%\\&%g
+-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+-s%ac_d%ac_u%gp
+-s%ac_u%ac_e%gp
+-EOF
+-sed -n -f conftest.hdr confdefs.h > conftest.vals
+-rm -f conftest.hdr
++ # First look for the input files in the build tree, otherwise in the
++ # src tree.
++ ac_file_inputs=`IFS=:
++ for f in $ac_file_in; do
++ case $f in
++ -) echo $tmp/stdin ;;
++ [\\/$]*)
++ # Absolute (can't be DOS-style, as IFS=:)
++ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
++echo "$as_me: error: cannot find input file: $f" >&2;}
++ { (exit 1); exit 1; }; }
++ # Do quote $f, to prevent DOS paths from being IFS'd.
++ echo "$f";;
++ *) # Relative
++ if test -f "$f"; then
++ # Build tree
++ echo "$f"
++ elif test -f "$srcdir/$f"; then
++ # Source tree
++ echo "$srcdir/$f"
++ else
++ # /dev/null tree
++ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
++echo "$as_me: error: cannot find input file: $f" >&2;}
++ { (exit 1); exit 1; }; }
++ fi;;
++ esac
++ done` || { (exit 1); exit 1; }
++ # Remove the trailing spaces.
++ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
++
++_ACEOF
++
++# Transform confdefs.h into two sed scripts, `conftest.defines' and
++# `conftest.undefs', that substitutes the proper values into
++# config.h.in to produce config.h. The first handles `#define'
++# templates, and the second `#undef' templates.
++# And first: Protect against being on the right side of a sed subst in
++# config.status. Protect against being in an unquoted here document
++# in config.status.
++rm -f conftest.defines conftest.undefs
++# Using a here document instead of a string reduces the quoting nightmare.
++# Putting comments in sed scripts is not portable.
++#
++# `end' is used to avoid that the second main sed command (meant for
++# 0-ary CPP macros) applies to n-ary macro definitions.
++# See the Autoconf documentation for `clear'.
++cat >confdef2sed.sed <<\_ACEOF
++s/[\\&,]/\\&/g
++s,[\\$`],\\&,g
++t clear
++: clear
++s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
++t end
++s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
++: end
++_ACEOF
++# If some macros were called several times there might be several times
++# the same #defines, which is useless. Nevertheless, we may not want to
++# sort them, since we want the *last* AC-DEFINE to be honored.
++uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
++sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
++rm -f confdef2sed.sed
+
+ # This sed command replaces #undef with comments. This is necessary, for
+ # example, in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+-cat >> conftest.vals <<\EOF
+-s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+-EOF
+-
+-# Break up conftest.vals because some shells have a limit on
+-# the size of here documents, and old seds have small limits too.
+-
++cat >>conftest.undefs <<\_ACEOF
++s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
++_ACEOF
++
++# Break up conftest.defines because some shells have a limit on the size
++# of here documents, and old seds have small limits too (100 cmds).
++echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
++echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
++echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
++echo ' :' >>$CONFIG_STATUS
+ rm -f conftest.tail
+-while :
++while grep . conftest.defines >/dev/null
+ do
+- ac_lines=`grep -c . conftest.vals`
+- # grep -c gives empty output for an empty file on some AIX systems.
+- if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+- # Write a limited-size here document to conftest.frag.
+- echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+- sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
++ # Write a limited-size here document to $tmp/defines.sed.
++ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
++ # Speed up: don't consider the non `#define' lines.
++ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
++ # Work around the forget-to-reset-the-flag bug.
++ echo 't clr' >>$CONFIG_STATUS
++ echo ': clr' >>$CONFIG_STATUS
++ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+- sed -f conftest.frag conftest.in > conftest.out
+- rm -f conftest.in
+- mv conftest.out conftest.in
+-' >> $CONFIG_STATUS
+- sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+- rm -f conftest.vals
+- mv conftest.tail conftest.vals
+-done
+-rm -f conftest.vals
+-
+-cat >> $CONFIG_STATUS <<\EOF
+- rm -f conftest.frag conftest.h
+- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
+- cat conftest.in >> conftest.h
+- rm -f conftest.in
+- if cmp -s $ac_file conftest.h 2>/dev/null; then
+- echo "$ac_file is unchanged"
+- rm -f conftest.h
+- else
+- # Remove last slash and all that follows it. Not all systems have dirname.
+- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+- # The file is in a subdirectory.
+- test ! -d "$ac_dir" && mkdir "$ac_dir"
+- fi
+- rm -f $ac_file
+- mv conftest.h $ac_file
++ sed -f $tmp/defines.sed $tmp/in >$tmp/out
++ rm -f $tmp/in
++ mv $tmp/out $tmp/in
++' >>$CONFIG_STATUS
++ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
++ rm -f conftest.defines
++ mv conftest.tail conftest.defines
++done
++rm -f conftest.defines
++echo ' fi # grep' >>$CONFIG_STATUS
++echo >>$CONFIG_STATUS
++
++# Break up conftest.undefs because some shells have a limit on the size
++# of here documents, and old seds have small limits too (100 cmds).
++echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
++rm -f conftest.tail
++while grep . conftest.undefs >/dev/null
++do
++ # Write a limited-size here document to $tmp/undefs.sed.
++ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
++ # Speed up: don't consider the non `#undef'
++ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
++ # Work around the forget-to-reset-the-flag bug.
++ echo 't clr' >>$CONFIG_STATUS
++ echo ': clr' >>$CONFIG_STATUS
++ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
++ echo 'CEOF
++ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
++ rm -f $tmp/in
++ mv $tmp/out $tmp/in
++' >>$CONFIG_STATUS
++ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
++ rm -f conftest.undefs
++ mv conftest.tail conftest.undefs
++done
++rm -f conftest.undefs
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++ # Let's still pretend it is `configure' which instantiates (i.e., don't
++ # use $as_me), people would be surprised to read:
++ # /* config.h. Generated by config.status. */
++ if test x"$ac_file" = x-; then
++ echo "/* Generated by configure. */" >$tmp/config.h
++ else
++ echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
+ fi
+-fi; done
++ cat $tmp/in >>$tmp/config.h
++ rm -f $tmp/in
++ if test x"$ac_file" != x-; then
++ if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
++ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
++echo "$as_me: $ac_file is unchanged" >&6;}
++ else
++ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$ac_file" : 'X\(//\)[^/]' \| \
++ X"$ac_file" : 'X\(//\)$' \| \
++ X"$ac_file" : 'X\(/\)' \| \
++ . : '\(.\)' 2>/dev/null ||
++echo X"$ac_file" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
++ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
++ /^X\(\/\/\)$/{ s//\1/; q; }
++ /^X\(\/\).*/{ s//\1/; q; }
++ s/.*/./; q'`
++ { if $as_mkdir_p; then
++ mkdir -p "$ac_dir"
++ else
++ as_dir="$ac_dir"
++ as_dirs=
++ while test ! -d "$as_dir"; do
++ as_dirs="$as_dir $as_dirs"
++ as_dir=`(dirname "$as_dir") 2>/dev/null ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| \
++ . : '\(.\)' 2>/dev/null ||
++echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
++ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
++ /^X\(\/\/\)$/{ s//\1/; q; }
++ /^X\(\/\).*/{ s//\1/; q; }
++ s/.*/./; q'`
++ done
++ test ! -n "$as_dirs" || mkdir $as_dirs
++ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
++echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
++ { (exit 1); exit 1; }; }; }
+
+-EOF
+-cat >> $CONFIG_STATUS <<EOF
++ rm -f $ac_file
++ mv $tmp/config.h $ac_file
++ fi
++ else
++ cat $tmp/config.h
++ rm -f $tmp/config.h
++ fi
++done
++_ACEOF
+
+-EOF
+-cat >> $CONFIG_STATUS <<\EOF
++cat >>$CONFIG_STATUS <<\_ACEOF
+
+-exit 0
+-EOF
++{ (exit 0); exit 0; }
++_ACEOF
+ chmod +x $CONFIG_STATUS
+-rm -fr confdefs* $ac_clean_files
+-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
++ac_clean_files=$ac_clean_files_save
++
++
++# configure is writing to config.log, and then calls config.status.
++# config.status does its own redirection, appending to config.log.
++# Unfortunately, on DOS this fails, as config.log is still kept open
++# by configure, so config.status won't be able to write to it; its
++# output is simply discarded. So we exec the FD to /dev/null,
++# effectively closing config.log, so it can be properly (re)opened and
++# appended to by config.status. When coming back to configure, we
++# need to make the FD available again.
++if test "$no_create" != yes; then
++ ac_cs_success=:
++ ac_config_status_args=
++ test "$silent" = yes &&
++ ac_config_status_args="$ac_config_status_args --quiet"
++ exec 5>/dev/null
++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
++ exec 5>>config.log
++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
++ # would make configure fail if this is the last instruction.
++ $ac_cs_success || { (exit 1); exit 1; }
++fi
+
+diff -rN -U 5 tsocks-1.8/configure.in tsocks/configure.in
+--- tsocks-1.8/configure.in 2002-07-16 10:51:03.000000000 +1200
++++ tsocks/configure.in 2005-10-02 21:52:00.000000000 +1300
+@@ -11,17 +11,19 @@
+ dnl /etc/ld.so.preload file
+ test "$libdir" = "\${exec_prefix}/lib" && libdir="/lib"
+
+ dnl Arguments we allow
+ AC_ARG_ENABLE(socksdns,
+-[ --enable-socksdns force dns lookups to use tcp ])
++[ --enable-socksdns force dns lookups to use tcp ])
++AC_ARG_ENABLE(tordns,
++[ --disable-tordns don't override name lookup calls to use SOCKS ])
+ AC_ARG_ENABLE(debug,
+ [ --disable-debug disable ALL error messages from tsocks ])
+ AC_ARG_ENABLE(oldmethod,
+-[ --enable-oldmethod use the old method to override connect ])
++[ --enable-oldmethod use the old method to override connect ])
+ AC_ARG_ENABLE(hostnames,
+-[ --disable-hostnames disable hostname lookups for socks servers ])
++[ --enable-hostnames enable hostname lookups for socks servers ])
+ AC_ARG_ENABLE(envconf,
+ [ --disable-envconf do not allow TSOCKS_CONF_FILE to specify configuration file ])
+ AC_ARG_WITH(conf,
+ [ --with-conf=<file> location of configuration file (/etc/tsocks.conf default)],[
+ if test "${withval}" = "yes" ; then
+@@ -43,11 +45,11 @@
+ AC_PROG_CC
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
+
+ dnl Check if the C compiler accepts -Wall
+-AC_MSG_CHECKING("if the C compiler accepts -Wall")
++AC_MSG_CHECKING(if the C compiler accepts -Wall)
+ OLDCFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Wall"
+ AC_TRY_COMPILE(,,AC_MSG_RESULT(yes),[
+ CFLAGS="$OLDCFLAGS"
+ AC_MSG_RESULT(no)])
+@@ -68,16 +70,23 @@
+ AC_CHECK_HEADER(fcntl.h,,AC_MSG_ERROR("fcntl.h not found"))
+
+ dnl Check for the poll header
+ AC_CHECK_HEADER(sys/poll.h,,AC_MSG_ERROR("sys/poll.h not found"))
+
++dnl Check for the mmap header
++AC_CHECK_HEADER(sys/mman.h,,AC_MSG_ERROR("sys/mman.h not found"))
++
+ dnl Other headers we're interested in
+ AC_CHECK_HEADERS(unistd.h)
+
+ dnl Checks for library functions.
+-AC_CHECK_FUNCS(strcspn strdup strerror strspn strtol,,[
+- AC_MSG_ERROR("Required function not found")])
++AC_CHECK_FUNCS(strcspn strdup strerror strspn strtol mmap strcasecmp \
++ strncasecmp strtol,,[AC_MSG_ERROR("Required function not found")])
++
++dnl Find which version of gethostbyname_r we should be using (actually this
++dnl isn't used right now).
++AX_FUNC_WHICH_GETHOSTBYNAME_R
+
+ dnl First find the library that contains connect() (obviously
+ dnl the most important library for us). Once we've found it
+ dnl we chuck it on the end of LIBS, that lib may end up there
+ dnl more than once (since we do our search with an empty libs
+@@ -123,22 +132,22 @@
+ dnl Checks for libraries.
+ dnl Replace `main' with a function in -ldl:
+ AC_CHECK_LIB(dl, dlsym,,AC_MSG_ERROR("libdl is required"))
+
+ dnl If we're using gcc here define _GNU_SOURCE
+-AC_MSG_CHECKING("for RTLD_NEXT from dlfcn.h")
++AC_MSG_CHECKING(for RTLD_NEXT from dlfcn.h)
+ AC_EGREP_CPP(yes,
+ [
+ #include <dlfcn.h>
+ #ifdef RTLD_NEXT
+ yes
+ #endif
+ ], [
+ AC_MSG_RESULT(yes)
+ ], [
+ AC_MSG_RESULT(no)
+- AC_MSG_CHECKING("for RTLD_NEXT from dlfcn.h with _GNU_SOURCE")
++ AC_MSG_CHECKING(for RTLD_NEXT from dlfcn.h with _GNU_SOURCE)
+ AC_EGREP_CPP(yes,
+ [
+ #define _GNU_SOURCE
+ #include <dlfcn.h>
+ #ifdef RTLD_NEXT
+@@ -156,10 +165,21 @@
+
+ if test "${enable_socksdns}" = "yes"; then
+ AC_DEFINE(USE_SOCKS_DNS)
+ fi
+
++AC_MSG_CHECKING(whether to enable tordns)
++if test "x${enable_tordns}" = "x"; then
++ AC_DEFINE(USE_TOR_DNS)
++ DEADPOOL_O="\${DEADPOOL}.o"
++ AC_MSG_RESULT(yes)
++else
++ DEADPOOL_O=""
++ AC_MSG_RESULT(no)
++fi
++AC_SUBST(DEADPOOL_O)
++
+ if test "x${enable_envconf}" = "x"; then
+ AC_DEFINE(ALLOW_ENV_CONFIG)
+ fi
+
+ if test "${enable_oldmethod}" = "yes"; then
+@@ -169,17 +189,22 @@
+
+ if test "x${enable_debug}" = "x"; then
+ AC_DEFINE(ALLOW_MSG_OUTPUT)
+ fi
+
+-if test "x${enable_hostnames}" = "x"; then
++if test "x${enable_hostnames}" = "xyes"; then
+ AC_DEFINE(HOSTNAMES)
+ fi
+
+ if test "${enable_socksdns}" = "yes" -a \
+- "x${enable_hostnames}" = "x" ; then
+- AC_MSG_ERROR("--enable-socksdns is not valid without --disable-hostnames")
++ "x${enable_hostnames}" = "xyes" ; then
++ AC_MSG_ERROR("--enable-socksdns is not valid with --enable-hostnames")
++fi
++
++if test "x${enable_tordns}" = "x" -a \
++ "x${enable_hostnames}" = "xyes" ; then
++ AC_MSG_ERROR("--enable-tordns is not valid with --enable-hostnames")
+ fi
+
+ dnl If we have to use the old method of overriding connect (i.e no
+ dnl RTLD_NEXT) we need to know the location of the library that
+ dnl contains connect(), select(), poll() and close()
+@@ -201,11 +226,11 @@
+ if test "${TAIL}" = ""; then
+ AC_MSG_ERROR('tail not found in path')
+ fi
+
+ dnl Now find the library we need
+- AC_MSG_CHECKING("location of lib${CONNECTLIB}.so")
++ AC_MSG_CHECKING(location of lib${CONNECTLIB}.so)
+ LIBCONNECT=
+ for DIR in '/lib' '/usr/lib'; do
+ if test "${LIBCONNECT}" = ""; then
+ LIBCONNECT=`$FIND $DIR -name "lib${CONNECTLIB}.so.?" 2>/dev/null | $TAIL -1`
+ fi
+@@ -217,11 +242,11 @@
+ fi
+
+ AC_MSG_RESULT($LIBCONNECT)
+
+ dnl close() should be in libc, find it
+- AC_MSG_CHECKING("location of libc.so")
++ AC_MSG_CHECKING(location of libc.so)
+ LIBC=
+ for DIR in '/lib' '/usr/lib'; do
+ if test "${LIBC}" = ""; then
+ LIBC=`$FIND $DIR -name "libc.so.?" 2>/dev/null | $TAIL -1`
+ fi
+@@ -325,10 +350,22 @@
+ AC_MSG_ERROR("no match found!")
+ fi
+ AC_MSG_RESULT([poll(${PROTO})])
+ AC_DEFINE_UNQUOTED(POLL_SIGNATURE, [${PROTO}])
+
++dnl Emit signature for gethostbyname
++PROTO="const char *name"
++AC_DEFINE_UNQUOTED(GETHOSTBYNAME_SIGNATURE, [${PROTO}])
++
++dnl Emit signature for getaddrinfo
++PROTO="const char *node, const char *service, void *hints, void *res"
++AC_DEFINE_UNQUOTED(GETADDRINFO_SIGNATURE, [${PROTO}])
++
++dnl Emit signature for getipnodebyname
++PROTO="const char *name, int af, int flags, int *error_num"
++AC_DEFINE_UNQUOTED(GETIPNODEBYNAME_SIGNATURE, [${PROTO}])
++
+ dnl Output the special librarys (libdl etc needed for tsocks)
+ SPECIALLIBS=${LIBS}
+ AC_SUBST(SPECIALLIBS)
+ LIBS=${SIMPLELIBS}
+
+diff -rN -U 5 tsocks-1.8/dead_pool.c tsocks/dead_pool.c
+--- tsocks-1.8/dead_pool.c 1970-01-01 12:00:00.000000000 +1200
++++ tsocks/dead_pool.c 2005-10-01 21:26:53.000000000 +1200
+@@ -0,0 +1,541 @@
++#include <stdio.h>
++#include <sys/socket.h>
++#include <netinet/in.h>
++#include <arpa/inet.h>
++#include <netdb.h>
++#include <stdlib.h>
++#include <string.h>
++#include <sys/mman.h>
++#include "common.h"
++#include "dead_pool.h"
++
++int store_pool_entry(dead_pool *pool, char *hostname, struct in_addr *addr);
++void get_next_dead_address(dead_pool *pool, uint32_t *result);
++
++static int
++do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
++ uint32_t *result_addr);
++
++/* Compares the last strlen(s2) characters of s1 with s2. Returns as for
++ strcasecmp. */
++static int
++strcasecmpend(const char *s1, const char *s2)
++{
++ size_t n1 = strlen(s1), n2 = strlen(s2);
++ if (n2>n1) /* then they can't be the same; figure out which is bigger */
++ return strcasecmp(s1,s2);
++ else
++ return strncasecmp(s1+(n1-n2), s2, n2);
++}
++
++dead_pool *
++init_pool(int pool_size, struct in_addr deadrange_base,
++ struct in_addr deadrange_mask, char *sockshost, uint16_t socksport)
++{
++ int i, deadrange_bits, deadrange_width, deadrange_size;
++ struct in_addr socks_server;
++ dead_pool *newpool = NULL;
++
++ /* Count bits in netmask and determine deadrange width. */
++ deadrange_bits = count_netmask_bits(deadrange_mask.s_addr);
++ if(deadrange_bits == -1) {
++ show_msg(MSGERR, "init_pool: invalid netmask for deadrange\n");
++ return NULL;
++ }
++ deadrange_width = 32 - deadrange_bits;
++
++ show_msg(MSGDEBUG, "deadrange width is %d bits\n", deadrange_width);
++
++ /* Now work out how many IPs are available in the deadrange and check
++ that this number makes sense. If the deadpool is bigger than the
++ deadrange we shrink the pool. */
++
++ for(i=0, deadrange_size = 1; i < deadrange_width; i++) {
++ deadrange_size *= 2;
++ }
++
++ if(deadrange_size < pool_size) {
++ show_msg(MSGWARN, "tordns cache size was %d, but deadrange size is %d: "
++ "shrinking pool size to %d entries\n", pool_size,
++ deadrange_size, deadrange_size);
++ pool_size = deadrange_size;
++ }
++ if(pool_size < 1) {
++ show_msg(MSGERR, "tordns cache size is 0, disabling tordns\n");
++ return NULL;
++ }
++
++ /* Allocate space for the dead_pool structure */
++ newpool = (dead_pool *) mmap(0, sizeof(dead_pool),
++ PROT_READ | PROT_WRITE,
++ MAP_SHARED | MAP_ANONYMOUS, -1, 0);
++ if(!newpool) {
++ show_msg(MSGERR, "init_pool: unable to mmap deadpool "
++ "(tried to map %d bytes)\n", sizeof(dead_pool));
++ return NULL;
++ }
++
++ /* Initialize the dead_pool structure */
++#ifdef HAVE_INET_ATON
++ inet_aton(sockshost, &socks_server);
++#elif defined(HAVE_INET_ADDR)
++ socks_server.s_addr = inet_addr(sockshost);
++#endif
++ newpool->sockshost = ntohl(socks_server.s_addr);
++ newpool->socksport = socksport;
++ newpool->deadrange_base = ntohl(deadrange_base.s_addr);
++ newpool->deadrange_mask = ntohl(deadrange_mask.s_addr);
++ newpool->deadrange_size = deadrange_size;
++ newpool->write_pos = 0;
++ newpool->dead_pos = 0;
++ newpool->n_entries = pool_size;
++
++ /* Allocate space for the entries */
++ newpool->entries = (pool_ent *) mmap(0, newpool->n_entries * sizeof(pool_ent),
++ PROT_READ | PROT_WRITE,
++ MAP_SHARED | MAP_ANONYMOUS, -1, 0);
++ if(!newpool->entries) {
++ munmap((void *)newpool, sizeof(dead_pool));
++ show_msg(MSGERR, "init_pool: unable to mmap deadpool entries "
++ "(tried to map %d bytes)\n",
++ newpool->n_entries * sizeof(pool_ent));
++ return NULL;
++ }
++
++ /* Initialize the entries */
++ for(i=0; i < newpool->n_entries; i++) {
++ newpool->entries[i].ip = -1;
++ newpool->entries[i].name[0] = '\0';
++ }
++
++ return newpool;
++}
++
++int
++is_dead_address(dead_pool *pool, uint32_t addr)
++{
++ uint32_t haddr = ntohl(addr);
++ if(pool == NULL) {
++ return 0;
++ }
++ return (pool->deadrange_base == (haddr & pool->deadrange_mask));
++}
++
++void
++get_next_dead_address(dead_pool *pool, uint32_t *result)
++{
++ *result = htonl(pool->deadrange_base + pool->dead_pos++);
++ if(pool->dead_pos >= pool->deadrange_size) {
++ pool->dead_pos = 0;
++ }
++}
++
++int
++store_pool_entry(dead_pool *pool, char *hostname, struct in_addr *addr)
++{
++ int position = pool->write_pos;
++ int oldpos;
++ int rc;
++ uint32_t intaddr;
++
++ show_msg(MSGDEBUG, "store_pool_entry: storing '%s'\n", hostname);
++ show_msg(MSGDEBUG, "store_pool_entry: write pos is: %d\n", pool->write_pos);
++
++ /* Check to see if name already exists in pool */
++ oldpos = search_pool_for_name(pool, hostname);
++ if(oldpos != -1){
++ show_msg(MSGDEBUG, "store_pool_entry: not storing (entry exists)\n");
++ addr->s_addr = pool->entries[oldpos].ip;
++ return oldpos;
++ }
++
++ /* If this is a .onion host, then we return a bogus ip from our deadpool,
++ otherwise we try to resolve it and store the 'real' IP */
++ if(strcasecmpend(hostname, ".onion") == 0) {
++ get_next_dead_address(pool, &pool->entries[position].ip);
++ } else {
++ rc = do_resolve(hostname, pool->sockshost, pool->socksport, &intaddr);
++ if(rc != 0) {
++ show_msg(MSGWARN, "failed to resolve: %s\n", hostname);
++ return -1;
++ }
++ if(is_dead_address(pool, intaddr)) {
++ show_msg(MSGERR, "resolved %s -> %d (deadpool address) IGNORED\n");
++ return -1;
++ }
++ pool->entries[position].ip = intaddr;
++ }
++
++ strncpy(pool->entries[position].name, hostname, 255);
++ pool->entries[position].name[255] = '\0';
++ pool->write_pos++;
++ if(pool->write_pos >= pool->n_entries) {
++ pool->write_pos = 0;
++ }
++ addr->s_addr = pool->entries[position].ip;
++
++ show_msg(MSGDEBUG, "store_pool_entry: stored entry in slot '%d'\n", position);
++
++ return position;
++}
++
++int
++search_pool_for_name(dead_pool *pool, const char *name)
++{
++ int i;
++ for(i=0; i < pool->n_entries; i++){
++ if(strcmp(name, pool->entries[i].name) == 0){
++ return i;
++ }
++ }
++ return -1;
++}
++
++char *
++get_pool_entry(dead_pool *pool, struct in_addr *addr)
++{
++ int i;
++ uint32_t intaddr = addr->s_addr;
++
++ if(pool == NULL) {
++ return NULL;
++ }
++
++ show_msg(MSGDEBUG, "get_pool_entry: searching for: %s\n", inet_ntoa(*addr));
++ for(i=0; i<pool->n_entries; i++) {
++ if(intaddr == pool->entries[i].ip) {
++ show_msg(MSGDEBUG, "get_pool_entry: found: %s\n", pool->entries[i].name);
++ return pool->entries[i].name;
++ }
++ }
++ show_msg(MSGDEBUG, "get_pool_entry: address not found\n");
++
++ return NULL;
++}
++
++static int
++build_socks4a_resolve_request(char **out,
++ const char *username,
++ const char *hostname)
++{
++ size_t len;
++ uint16_t port = htons(0); /* port: 0. */
++ uint32_t addr = htonl(0x00000001u); /* addr: 0.0.0.1 */
++
++ len = 8 + strlen(username) + 1 + strlen(hostname) + 1;
++ *out = malloc(len);
++ (*out)[0] = 4; /* SOCKS version 4 */
++ (*out)[1] = '\xF0'; /* Command: resolve. */
++
++ memcpy((*out)+2, &port, sizeof(port));
++ memcpy((*out)+4, &addr, sizeof(addr));
++ strcpy((*out)+8, username);
++ strcpy((*out)+8+strlen(username)+1, hostname);
++
++ return len;
++}
++
++#define RESPONSE_LEN 8
++
++static int
++parse_socks4a_resolve_response(const char *response, size_t len,
++ uint32_t *addr_out)
++{
++ uint8_t status;
++ uint16_t port;
++
++ if (len < RESPONSE_LEN) {
++ show_msg(MSGWARN,"Truncated socks response.\n");
++ return -1;
++ }
++ if (((uint8_t)response[0])!=0) { /* version: 0 */
++ show_msg(MSGWARN,"Nonzero version in socks response: bad format.\n");
++ return -1;
++ }
++ status = (uint8_t)response[1];
++
++ memcpy(&port, response+2, sizeof(port));
++ if (port!=0) { /* port: 0 */
++ show_msg(MSGWARN,"Nonzero port in socks response: bad format.\n");
++ return -1;
++ }
++ if (status != 90) {
++ show_msg(MSGWARN,"Bad status: socks request failed.\n");
++ return -1;
++ }
++
++ memcpy(addr_out, response+4, sizeof(*addr_out));
++
++ return 0;
++}
++
++static int
++do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
++ uint32_t *result_addr)
++{
++ int s;
++ struct sockaddr_in socksaddr;
++ char *req, *cp;
++ int r, len;
++ char response_buf[RESPONSE_LEN];
++
++ show_msg(MSGDEBUG, "do_resolve: resolving %s\n", hostname);
++
++ s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
++ if (s<0) {
++ show_msg(MSGWARN, "do_resolve: problem creating socket\n");
++ return -1;
++ }
++
++ memset(&socksaddr, 0, sizeof(socksaddr));
++ socksaddr.sin_family = AF_INET;
++ socksaddr.sin_port = htons(socksport);
++ socksaddr.sin_addr.s_addr = htonl(sockshost);
++ if (realconnect(s, (struct sockaddr*)&socksaddr, sizeof(socksaddr))) {
++ show_msg(MSGWARN, "do_resolve: error connecting to SOCKS server\n");
++ return -1;
++ }
++
++ if ((len = build_socks4a_resolve_request(&req, "", hostname))<0) {
++ show_msg(MSGWARN, "do_resolve: error generating SOCKS request\n");
++ return -1;
++ }
++
++ cp = req;
++ while (len) {
++ r = send(s, cp, len, 0);
++ if (r<0) {
++ show_msg(MSGWARN, "do_resolve: error sending SOCKS request\n");
++ free(req);
++ return -1;
++ }
++ len -= r;
++ cp += r;
++ }
++ free(req);
++
++ len = 0;
++ while (len < RESPONSE_LEN) {
++ r = recv(s, response_buf+len, RESPONSE_LEN-len, 0);
++ if (r==0) {
++ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS response\n");
++ return -1;
++ }
++ if (r<0) {
++ show_msg(MSGWARN, "do_resolve: error reading SOCKS response\n");
++ return -1;
++ }
++ len += r;
++ }
++
++ realclose(s);
++
++ if (parse_socks4a_resolve_response(response_buf, RESPONSE_LEN, result_addr) < 0){
++ show_msg(MSGWARN, "do_resolve: error parsing SOCKS response\n");
++ return -1;
++ }
++
++ show_msg(MSGDEBUG, "do_resolve: success\n");
++
++ return 0;
++}
++
++struct hostent *
++our_gethostbyname(dead_pool *pool, const char *name)
++{
++ int pos;
++ static struct in_addr addr;
++ static struct hostent he;
++ static char *addrs[2];
++
++ show_msg(MSGDEBUG, "our_gethostbyname: '%s' requested\n", name);
++
++ pos = store_pool_entry(pool,(char *) name, &addr);
++ if(pos == -1) {
++ h_errno = HOST_NOT_FOUND;
++ return NULL;
++ }
++
++ addrs[0] = (char *)&addr;
++ addrs[1] = NULL;
++
++ he.h_name = pool->entries[pos].name;
++ he.h_aliases = NULL;
++ he.h_length = 4;
++ he.h_addrtype = AF_INET;
++ he.h_addr_list = addrs;
++
++ show_msg(MSGDEBUG, "our_gethostbyname: resolved '%s' to: '%s'\n",
++ name, inet_ntoa(*((struct in_addr *)he.h_addr)));
++
++ return &he;
++}
++
++static struct hostent *
++alloc_hostent(int af)
++{
++ struct hostent *he = NULL;
++ char **addr_list = NULL;
++ void *addr = NULL;
++ char **aliases = NULL;
++
++ if(af != AF_INET && af != AF_INET6) {
++ return NULL;
++ }
++
++ /* Since the memory we allocate here will be free'd by freehostent and
++ that function is opaque to us, it's likely that we'll leak a little
++ bit of memory here. */
++
++ he = malloc(sizeof(struct hostent));
++ addr_list = malloc(2 * sizeof(char *));
++ if(af == AF_INET6) {
++ addr = malloc(sizeof(struct in6_addr));
++ } else {
++ addr = malloc(sizeof(struct in_addr));
++ }
++ aliases = malloc(sizeof(char *));
++
++ if(he == NULL || addr_list == NULL || addr == NULL || aliases == NULL) {
++ if(he)
++ free(he);
++ if(addr_list)
++ free(addr_list);
++ if(addr)
++ free(addr);
++ if(aliases)
++ free(aliases);
++ }
++
++ he->h_name = NULL;
++ he->h_addr_list = addr_list;
++ he->h_addr_list[0] = addr;
++ he->h_addr_list[1] = NULL;
++ he->h_aliases = aliases;
++ he->h_aliases[0] = NULL;
++ he->h_length = af == AF_INET ? 4 : 16;
++ he->h_addrtype = af;
++
++ return he;
++}
++
++/* On Linux, there's no freehostent() anymore; we might as well implement
++ this ourselves. */
++
++static void
++free_hostent(struct hostent *he)
++{
++ int i;
++ if(he->h_name) {
++ free(he->h_name);
++ }
++ if(he->h_aliases) {
++ for(i=0; he->h_aliases[i] != NULL; i++) {
++ free(he->h_aliases[i]);
++ }
++ free(he->h_aliases);
++ }
++ if(he->h_addr_list) {
++ free(he->h_addr_list);
++ }
++ free(he);
++}
++
++int
++our_getaddrinfo(dead_pool *pool, const char *node, const char *service,
++ void *hints, void *res)
++{
++ int pos;
++ struct in_addr addr;
++ char *ipstr;
++ int ret;
++
++ /* If "node" looks like a dotted-decimal ip address, then just call
++ the real getaddrinfo; otherwise we'll need to get an address from
++ our pool. */
++
++ /* TODO: work out what to do with AF_INET6 requests */
++
++#ifdef HAVE_INET_ATON
++ if(inet_aton(node, &addr) == 0) {
++#elif defined(HAVE_INET_ADDR)
++ /* If we're stuck with inet_addr, then getaddrinfo() won't work
++ properly with 255.255.255.255 (= -1). There's not much we can
++ do about this */
++ in_addr_t is_valid;
++ is_valid = inet_addr(node);
++ if(is_valid == -1) {
++#endif
++ pos = store_pool_entry(pool, (char *) node, &addr);
++ if(pos == -1) {
++ return EAI_NONAME;
++ } else {
++ ipstr = strdup(inet_ntoa(addr));
++ ret = realgetaddrinfo(ipstr, service, hints, res);
++ free(ipstr);
++ }
++ } else {
++ ret = realgetaddrinfo(node, service, hints, res);
++ }
++
++ return ret;
++}
++
++struct hostent *
++our_getipnodebyname(dead_pool *pool, const char *name, int af, int flags,
++ int *error_num)
++{
++ int pos;
++ struct hostent *he = NULL;
++ int want_4in6 = 0;
++ char addr_convert_buf[80];
++ struct in_addr pool_addr;
++
++ if(af == AF_INET6) {
++ /* Caller has requested an AF_INET6 address, and is not prepared to
++ accept IPv4-mapped IPV6 addresses. There's nothing we can do to
++ service their request. */
++ if((flags & AI_V4MAPPED) == 0) {
++ show_msg(MSGWARN, "getipnodebyname: asked for V6 addresses only, "
++ "but tsocks can't handle that\n");
++ *error_num = NO_RECOVERY;
++ return NULL;
++ } else {
++ want_4in6 = 1;
++ }
++ }
++
++ pos = store_pool_entry(pool, (char *)name, &pool_addr);
++ if(pos == -1) {
++ *error_num = HOST_NOT_FOUND;
++ return NULL;
++ }
++
++ he = alloc_hostent(af);
++ if(he == NULL) {
++ show_msg(MSGERR, "getipnodebyname: failed to allocate hostent\n");
++ *error_num = NO_RECOVERY;
++ return NULL;
++ }
++
++ if(want_4in6) {
++ /* Convert the ipv4 address in *addr to an IPv4 in IPv6 mapped
++ address. TODO: inet_ntoa() is thread-safe on Solaris but might
++ not be on other platforms. */
++ strcpy(addr_convert_buf, "::FFFF:");
++ strcpy(addr_convert_buf+7, inet_ntoa(pool_addr));
++ if(inet_pton(AF_INET6, addr_convert_buf, he->h_addr_list[0]) != 1) {
++ show_msg(MSGERR, "getipnodebyname: inet_pton() failed!\n");
++ free_hostent(he);
++ *error_num = NO_RECOVERY;
++ return NULL;
++ }
++ } else {
++ ((struct in_addr *) he->h_addr_list[0])->s_addr = pool_addr.s_addr;
++ }
++ he->h_name = strdup(name);
++
++ return he;
++}
++
++
+diff -rN -U 5 tsocks-1.8/dead_pool.h tsocks/dead_pool.h
+--- tsocks-1.8/dead_pool.h 1970-01-01 12:00:00.000000000 +1200
++++ tsocks/dead_pool.h 2005-10-01 18:28:53.000000000 +1200
+@@ -0,0 +1,44 @@
++#ifndef _DEAD_POOL_H
++#define _DEAD_POOL_H
++
++#include <config.h>
++
++extern int (*realconnect)(CONNECT_SIGNATURE);
++extern int (*realclose)(CLOSE_SIGNATURE);
++extern int (*realgetaddrinfo)(GETADDRINFO_SIGNATURE);
++
++struct struct_pool_ent {
++ unsigned int ip;
++ char name[256];
++};
++
++typedef struct struct_pool_ent pool_ent;
++
++struct struct_dead_pool {
++ pool_ent *entries; /* Points to array of pool entries */
++ int n_entries; /* Number of entries in the deadpool */
++ unsigned int deadrange_base; /* Deadrange start IP in host byte order */
++ unsigned int deadrange_mask; /* Deadrange netmask in host byte order */
++ unsigned int deadrange_size; /* Number of IPs in the deadrange */
++ unsigned int write_pos; /* Next position to use in the pool array */
++ unsigned int dead_pos; /* Next 'unused' deadpool IP */
++ uint32_t sockshost;
++ uint16_t socksport;
++ char pad[2];
++};
++
++typedef struct struct_dead_pool dead_pool;
++
++dead_pool *init_pool(int deadpool_size, struct in_addr deadrange_base,
++ struct in_addr deadrange_mask, char *sockshost, uint16_t socksport);
++int is_dead_address(dead_pool *pool, uint32_t addr);
++char *get_pool_entry(dead_pool *pool, struct in_addr *addr);
++int search_pool_for_name(dead_pool *pool, const char *name);
++struct hostent *our_gethostbyname(dead_pool *pool, const char *name);
++int our_getaddrinfo(dead_pool *pool, const char *node, const char *service,
++ void *hints, void *res);
++struct hostent *our_getipnodebyname(dead_pool *pool, const char *name,
++ int af, int flags, int *error_num);
++
++#endif /* _DEAD_POOL_H */
++
+diff -rN -U 5 tsocks-1.8/INSTALL tsocks/INSTALL
+--- tsocks-1.8/INSTALL 2002-05-18 14:12:30.000000000 +1200
++++ tsocks/INSTALL 2005-10-02 15:49:59.000000000 +1300
+@@ -2,14 +2,19 @@
+ -------------------------------
+
+ 1. Unpack the archive (though if you're reading this you've already
+ achieved that)
+
+- tar -zxvf tsocks-<version>.tar.gx
++ tar -zxvf tsocks-<version>.tar.gz
++ OR
++ tar -jxvf tsocks-<version>.tar.bz
+
+ 2. Run ./configure, options which might be of interest (and that are
+ specific to tsocks include):
++ --disable-tordns This option disables tordns, which causes
++ names to be looked up in a way designed to
++ work well with Tor.
+ --enable-socksdns This option causes tsocks to intercept
+ DNS lookups and attempt to force them
+ to use TCP instead of UDP and thus
+ be proxied through the socks server. This
+ is not a very elegant thing to do and
+@@ -24,14 +29,14 @@
+ address of the connect() method tsocks
+ overrides, instead it loads a reference
+ to the libc shared library and then uses
+ dlsym(). Again this is not very elegant
+ and shouldn't be required.
+- --disable-hostnames This disables DNS lookups on names
++ --enable-hostnames This enables DNS lookups on names
+ provided as socks servers in the config
+- file. This option is necessary
+- if socks dns is enabled since tsocks
++ file. This option is not compatible with
++ tordns or socks dns, since tsocks
+ can't send a socks dns request to resolve
+ the location of the socks server.
+ --with-conf=<filename> You can specify the location of the tsocks
+ configuration file using this option, it
+ defaults to '/etc/tsocks.conf'
+diff -rN -U 5 tsocks-1.8/Makefile.in tsocks/Makefile.in
+--- tsocks-1.8/Makefile.in 2002-03-16 23:12:40.000000000 +1300
++++ tsocks/Makefile.in 2005-10-02 21:58:35.000000000 +1300
+@@ -17,15 +17,17 @@
+ INSPECT = inspectsocks
+ SAVE = saveme
+ LIB_NAME = libtsocks
+ COMMON = common
+ PARSER = parser
++DEADPOOL = dead_pool
+ VALIDATECONF = validateconf
+ SCRIPT = tsocks
+ SHLIB_MAJOR = 1
+ SHLIB_MINOR = 8
+ SHLIB = ${LIB_NAME}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
++DEADPOOL_O = @DEADPOOL_O@
+
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ CFLAGS = @CFLAGS@
+ INCLUDES = -I.
+@@ -47,12 +49,12 @@
+ ${SHCC} ${CFLAGS} ${INCLUDES} -o ${INSPECT} ${INSPECT}.c ${COMMON}.o ${LIBS}
+
+ ${SAVE}: ${SAVE}.c
+ ${SHCC} ${CFLAGS} ${INCLUDES} -static -o ${SAVE} ${SAVE}.c
+
+-${SHLIB}: ${OBJS} ${COMMON}.o ${PARSER}.o
+- ${SHCC} ${CFLAGS} ${INCLUDES} -nostdlib -shared -o ${SHLIB} ${OBJS} ${COMMON}.o ${PARSER}.o ${DYNLIB_FLAGS} ${SPECIALLIBS} ${LIBS}
++${SHLIB}: ${OBJS} ${COMMON}.o ${PARSER}.o ${DEADPOOL_O}
++ ${SHCC} ${CFLAGS} ${INCLUDES} -nostdlib -shared -o ${SHLIB} ${OBJS} ${COMMON}.o ${PARSER}.o ${DEADPOOL_O} ${DYNLIB_FLAGS} ${SPECIALLIBS} ${LIBS}
+ ln -sf ${SHLIB} ${LIB_NAME}.so
+
+ %.so: %.c
+ ${SHCC} ${CFLAGS} ${INCLUDES} -c ${CC_SWITCHES} $< -o $@
+
+@@ -81,6 +83,9 @@
+
+ clean:
+ -rm -f *.so *.so.* *.o *~ ${TARGETS}
+
+ distclean: clean
+- -rm -f config.cache config.log config.h Makefile
++ -rm -f config.cache config.log config.h Makefile \
++ aclocal.m4 config.status
++ -rm -rf autom4te.cache
++
+diff -rN -U 5 tsocks-1.8/parser.c tsocks/parser.c
+--- tsocks-1.8/parser.c 2002-03-14 01:34:22.000000000 +1300
++++ tsocks/parser.c 2005-10-01 21:56:10.000000000 +1200
+@@ -27,10 +27,13 @@
+ static int handle_reaches(struct parsedfile *, int, char *);
+ static int handle_server(struct parsedfile *, int, char *);
+ static int handle_type(struct parsedfile *config, int, char *);
+ static int handle_port(struct parsedfile *config, int, char *);
+ static int handle_local(struct parsedfile *, int, char *);
++static int handle_tordns_enabled(struct parsedfile *, int, char *);
++static int handle_tordns_deadpool_range(struct parsedfile *, int, char *);
++static int handle_tordns_cache_size(struct parsedfile *, int, char *);
+ static int handle_defuser(struct parsedfile *, int, char *);
+ static int handle_defpass(struct parsedfile *, int, char *);
+ static int make_netent(char *value, struct netent **ent);
+
+ int read_config (char *filename, struct parsedfile *config) {
+@@ -41,13 +44,17 @@
+ struct serverent *server;
+
+ /* Clear out the structure */
+ memset(config, 0x0, sizeof(*config));
+
+- /* Initialization */
++ /* Initialization */
+ currentcontext = &(config->defaultserver);
+
++ /* Tordns defaults */
++ config->tordns_cache_size = 256;
++ config->tordns_enabled = 1;
++
+ /* If a filename wasn't provided, use the default */
+ if (filename == NULL) {
+ strncpy(line, CONF_FILE, sizeof(line) - 1);
+ /* Insure null termination */
+ line[sizeof(line) - 1] = (char) 0;
+@@ -56,11 +63,11 @@
+
+ /* Read the configuration file */
+ if ((conf = fopen(filename, "r")) == NULL) {
+ show_msg(MSGERR, "Could not open socks configuration file "
+ "(%s), assuming all networks local\n", filename);
+- handle_local(config, 0, "0.0.0.0/0.0.0.0");
++ handle_local(config, 0, "0.0.0.0/0.0.0.0");
+ rc = 1; /* Severe errors reading configuration */
+ }
+ else {
+ memset(&(config->defaultserver), 0x0, sizeof(config->defaultserver));
+
+@@ -82,13 +89,17 @@
+ server = (config->paths);
+ while (server != NULL) {
+ check_server(server);
+ server = server->next;
+ }
+-
+ }
+
++ /* Initialize tordns deadpool_range if not supplied */
++ if(config->tordns_deadpool_range == NULL) {
++ handle_tordns_deadpool_range(config, 0, "127.0.69.0/255.255.255.0");
++ }
++
+ return(rc);
+ }
+
+ /* Check server entries (and establish defaults) */
+ static int check_server(struct serverent *server) {
+@@ -150,11 +161,17 @@
+ handle_defuser(config, lineno, words[2]);
+ } else if (!strcmp(words[0], "default_pass")) {
+ handle_defpass(config, lineno, words[2]);
+ } else if (!strcmp(words[0], "local")) {
+ handle_local(config, lineno, words[2]);
+- } else {
++ } else if (!strcmp(words[0], "tordns_enable")) {
++ handle_tordns_enabled(config, lineno, words[2]);
++ } else if (!strcmp(words[0], "tordns_deadpool_range")) {
++ handle_tordns_deadpool_range(config, lineno, words[2]);
++ } else if (!strcmp(words[0], "tordns_cache_size")) {
++ handle_tordns_cache_size(config, lineno, words[2]);
++ } else {
+ show_msg(MSGERR, "Invalid pair type (%s) specified "
+ "on line %d in configuration file, "
+ "\"%s\"\n", words[0], lineno,
+ savedline);
+ }
+@@ -416,10 +433,130 @@
+ }
+
+ return(0);
+ }
+
++static int handle_flag(char *value)
++{
++ if(!strcasecmp(value, "true") || !strcasecmp(value, "yes")
++ || !strcmp(value, "1")) {
++ return 1;
++ } else if (!strcasecmp(value, "false") || !strcasecmp(value, "no")
++ || !strcmp(value, "0")) {
++ return 0;
++ } else {
++ return -1;
++ }
++}
++
++static int handle_tordns_enabled(struct parsedfile *config, int lineno,
++ char *value)
++{
++ int val = handle_flag(value);
++ if(val == -1) {
++ show_msg(MSGERR, "Invalid value %s supplied for tordns_enabled at "
++ "line %d in config file, IGNORED\n", value, lineno);
++ } else {
++ config->tordns_enabled = val;
++ }
++ return 0;
++}
++
++static int handle_tordns_cache_size(struct parsedfile *config, int lineno,
++ char *value)
++{
++ char *endptr;
++ long size = strtol(value, &endptr, 10);
++ if(*endptr != '\0') {
++ show_msg(MSGERR, "Error parsing integer value for "
++ "tordns_cache_size (%s), using default %d\n",
++ value, config->tordns_cache_size);
++ } else if(size < 128) {
++ show_msg(MSGERR, "The value supplied for tordns_cache_size (%d) "
++ "is too small (<128), using default %d\n", size,
++ config->tordns_cache_size);
++ } else if(size > 4096) {
++ show_msg(MSGERR, "The value supplied for tordns_cache_range (%d) "
++ "is too large (>4096), using default %d\n", size,
++ config->tordns_cache_size);
++ } else {
++ config->tordns_cache_size = size;
++ }
++ return 0;
++}
++
++static int handle_tordns_deadpool_range(struct parsedfile *config, int lineno,
++ char *value)
++{
++ int rc;
++ struct netent *ent;
++
++ if (config->tordns_deadpool_range != NULL) {
++ show_msg(MSGERR, "Only one 'deadpool' entry permitted, found a "
++ "second at line %d in configuration file.\n");
++ return(0);
++ }
++
++ if (currentcontext != &(config->defaultserver)) {
++ show_msg(MSGERR, "Deadpool cannot be specified in path "
++ "block at like %d in configuration file. "
++ "(Path block started at line %d)\n",
++ lineno, currentcontext->lineno);
++ return(0);
++ }
++
++ rc = make_netent(value, &ent);
++ /* This is copied from handle_local and should probably be folded into
++ a generic whinge() function or something */
++ switch(rc) {
++ case 1:
++ show_msg(MSGERR, "The deadpool specification (%s) is not validly "
++ "constructed on line %d in configuration "
++ "file\n", value, lineno);
++ return(0);
++ break;
++ case 2:
++ show_msg(MSGERR, "IP for deadpool "
++ "network specification (%s) is not valid on line "
++ "%d in configuration file\n", value, lineno);
++ return(0);
++ break;
++ case 3:
++ show_msg(MSGERR, "SUBNET for "
++ "deadpool network specification (%s) is not valid on "
++ "line %d in configuration file\n", value,
++ lineno);
++ return(0);
++ break;
++ case 4:
++ show_msg(MSGERR, "IP (%s) & ", inet_ntoa(ent->localip));
++ show_msg(MSGERR, "SUBNET (%s) != IP on line %d in "
++ "configuration file, ignored\n",
++ inet_ntoa(ent->localnet), lineno);
++ return(0);
++ case 5:
++ case 6:
++ case 7:
++ show_msg(MSGERR, "Port specification is invalid and "
++ "not allowed in deadpool specification "
++ "(%s) on line %d in configuration file\n",
++ value, lineno);
++ return(0);
++ break;
++ }
++ if (ent->startport || ent->endport) {
++ show_msg(MSGERR, "Port specification is "
++ "not allowed in deadpool specification "
++ "(%s) on line %d in configuration file\n",
++ value, lineno);
++ return(0);
++ }
++
++ config->tordns_deadpool_range = ent;
++ return 0;
++}
++
+ static int handle_local(struct parsedfile *config, int lineno, char *value) {
+ int rc;
+ struct netent *ent;
+
+ if (currentcontext != &(config->defaultserver)) {
+diff -rN -U 5 tsocks-1.8/parser.h tsocks/parser.h
+--- tsocks-1.8/parser.h 2002-02-10 20:26:27.000000000 +1300
++++ tsocks/parser.h 2005-10-01 18:40:35.000000000 +1200
+@@ -23,18 +23,22 @@
+ struct netent {
+ struct in_addr localip; /* Base IP of the network */
+ struct in_addr localnet; /* Mask for the network */
+ unsigned long startport; /* Range of ports for the */
+ unsigned long endport; /* network */
+- struct netent *next; /* Pointer to next network entry */
++ struct netent *next; /* Pointer to next network entry */
+ };
+
+ /* Structure representing a complete parsed file */
+ struct parsedfile {
+ struct netent *localnets;
+ struct serverent defaultserver;
+ struct serverent *paths;
++ int tordns_enabled;
++ int tordns_failopen;
++ int tordns_cache_size;
++ struct netent *tordns_deadpool_range;
+ };
+
+ /* Functions provided by parser module */
+ int read_config(char *, struct parsedfile *);
+ int is_local(struct parsedfile *, struct in_addr *);
+diff -rN -U 5 tsocks-1.8/README.TORDNS tsocks/README.TORDNS
+--- tsocks-1.8/README.TORDNS 1970-01-01 12:00:00.000000000 +1200
++++ tsocks/README.TORDNS 2005-10-02 15:47:16.000000000 +1300
+@@ -0,0 +1,187 @@
++
++TORDNS
++======
++
++What is it?
++-----------
++
++This patch modifies the tsocks library to use SOCKS for name resolution.
++
++
++Why should I use it?
++--------------------
++
++* It's easier.
++
++When using this patch you don't (always..) need to run 'tor-resolve' when
++using 'torify' anymore. Also, 'torify' now works directly with SSH without
++the need for connect scripts or other fiddling. [As long as SSH is not
++installed suid root].
++
++* It allows you to use programs which are not SOCKS aware to connect to
++.onion sites.
++
++For example, you can ssh directly to a .onion site, or use telnet / netcat
++without hassle.
++
++
++QUICK: what do I need to do to make it work?
++--------------------------------------------
++
++Configuration instructions:
++
++1) Get the sources
++
++wget http://ftp1.sourceforge.net/tsocks/tsocks-1.8beta5.tar.gz
++wget http://www.totalinfosecurity.com/patches/tor-tsocks/tordns-1.8b5.patch
++
++2) Unpack and apply the tsocks patch
++
++tar xzvf tsocks-1.8beta5.tar.gz
++cd tsocks-1.8
++patch -p1 < ../tordns-1.8b5.patch
++
++3) Configure, compile and install
++
++NOTE: The default 'configure' settings for tsocks have been changed by
++this patch. The --disable-hostnames option (don't try to use DNS to look
++up SOCKS servers) is now enabled by default. Also, tordns is enabled
++by default.
++
++./configure
++make
++make install
++
++All the tordns config options have sane default values which you should
++not need to change.
++
++
++Why did I need to use 'tor-resolve' with 'torify' in the first place?
++---------------------------------------------------------------------
++
++Because if you run "torify telnet bar.foo.com 31337", for example, then
++you're leaking information about what sites you're visiting to DNS servers.
++
++The tor-resolve utility resolves names through tor using SOCKS, in a way
++that shouldn't compromise your privacy.
++
++
++What won't work with this?
++--------------------------
++
++The 'tordns' feature for tsocks only works with applications using the
++standard c library name lookup mechanisms.
++
++Some programs roll their own name lookup functions, for example, 'curl'
++uses the 'adns' library, not the standard c library name lookup calls.
++In this case, you'll still be leaking DNS requests.
++
++However, it seems that most programs which go to the trouble of implementing
++asynchronous DNS requests or doing other tricky things have native SOCKS or
++HTTP proxy support.
++
++Requests for reverse name lookups are not intercepted.
++
++Finally, the tsocks library is NOT thread-safe, with or without this patch.
++You should not 'torify' multithreaded applications.
++
++
++How does it work?
++-----------------
++
++This patch adds interceptors for common name resolution calls to tsocks.
++Specifically, the 'gethostbyname', 'getaddrinfo' and 'getipnodebyname' library
++functions. (gethostbyname_r is not supported).
++
++When a call to one of these functions is intercepted, a SOCKS4A resolve
++request is used to retrieve the relevant information, and the results are
++cached.
++
++When the application calls 'connect', the cache is consulted and instead
++of making a SOCKS5 request and supplying the IP address, we connect using
++the name. This prevents those messages in the tor logs which look like:
++
++ Sep 23 10:12:20.901 [warn] fetch_from_buf_socks(): Your application (using s
++ ocks5 on port 80) is giving Tor only an IP address. Applications that do DNS
++ resolves themselves may leak information. Consider using Socks4A (e.g. via
++ privoxy or socat) instead.
++
++There are special provisions for handling .onion sites. When a program asks
++to resolve a name ending in '.onion', no name lookup is performed. A bogus IP
++address is returned. The range of unused IP addresses to hand out is called the
++"deadpool". This IP address doesn't mean anything in particular, and could be
++considered a cookie associated with the name. When the application eventually
++calls 'connect' with this bogus IP, the cache is consulted and the result is a
++SOCKS5 request which includes the name of the .onion site.
++
++The default deadpool range is '127.0.69.0/255.255.255.0'. NOTE: if a resolve
++request results in an IP from the deadpool range then the response is rejected,
++and it appears to the application that the lookup failed.
++
++The lookup cache is kept in mmap'd memory and shared across fork() calls.
++This is because some programs perform name lookups in a child process and
++then invoke 'connect' in the parent as a kind of "poor man's async DNS".
++
++
++Advanced configuration options
++------------------------------
++
++The following options have been added to the tsocks configuration file:
++
++tordns_enable
++
++ The default value is 'true'. If you set it to 'false', tsocks should work
++ just like it did without the tordns patch.
++
++
++tordns_deadpool_range
++
++ The default value is '127.0.69.0/255.255.255.0'. This specifies what range
++ of IP addresses will be handed to the application as "cookies" for .onion
++ names. Of course, you should pick a block of addresses which you aren't
++ going to ever need to actually connect to.
++
++
++tordns_cache_size
++
++ This specifies the number of IP addresses looked up through socks to cache.
++ The default value is 256. The default value is 256. Each entry consumes 260
++ bytes of memory, so the default adds 66,560 bytes of overhead to each
++ 'torified' process. NOTE: if the number of IP addresses in
++ tordns_deadpool_range is less than the value specified for tordns_cache_size,
++ then the cache will be shrunk to fit the deadpool range. This is to prevent
++ duplicate deadpool addresses from ever appearing in the cache.
++
++
++TODO
++----
++
++* Think about how local names get resolved. Is it important? For example,
++ if I 'telnet localhost' which using tordns, what should happen? Should
++ we search through /etc/hosts ourselves or what?
++
++* What about the isc library calls like res_init and so on? How widely are
++ they use? Does this present a more elegant way to implement this stuff?
++
++* Perhaps intercept res_query etc and try to do something appropriate.
++
++* It should be possible to make this thread-safe with --enable-threads.
++
++* validateconf needs to be updated to understand (and show information about)
++ the tordns configuration options.
++
++* Perhaps intercept reverse name lookups?
++
++* In fact, one could modify tsocks further to play nicely with tor. For
++ example, you could prevent nonlocal UDP traffic from being sent at all,
++ and so on.
++
++
++******************************************************
++Questions or comments, please contact:
++Blair Strang (bls(a)totalinfosecurity.com)
++Caleb Anderson (caleb.anderson(a)totalinfosecurity.com)
++Carl Purvis (carl.purvis(a)totalinfosecurity.com)
++
++Total Information Security Ltd.
++http://www.totalinfosecurity.com/
+diff -rN -U 5 tsocks-1.8/tsocks.c tsocks/tsocks.c
+--- tsocks-1.8/tsocks.c 2002-07-16 10:50:52.000000000 +1200
++++ tsocks/tsocks.c 2005-10-01 22:01:48.000000000 +1200
+@@ -51,19 +51,26 @@
+ #ifdef USE_SOCKS_DNS
+ #include <resolv.h>
+ #endif
+ #include <parser.h>
+ #include <tsocks.h>
++#include "dead_pool.h"
+
+ /* Global Declarations */
+ #ifdef USE_SOCKS_DNS
+ static int (*realresinit)(void);
+ #endif
+-static int (*realconnect)(CONNECT_SIGNATURE);
++#ifdef USE_TOR_DNS
++static dead_pool *pool = NULL;
++static struct hostent *(*realgethostbyname)(GETHOSTBYNAME_SIGNATURE);
++int (*realgetaddrinfo)(GETADDRINFO_SIGNATURE);
++static struct hostent *(*realgetipnodebyname)(GETIPNODEBYNAME_SIGNATURE);
++#endif
++int (*realconnect)(CONNECT_SIGNATURE);
+ static int (*realselect)(SELECT_SIGNATURE);
+ static int (*realpoll)(POLL_SIGNATURE);
+-static int (*realclose)(CLOSE_SIGNATURE);
++int (*realclose)(CLOSE_SIGNATURE);
+ static struct parsedfile *config;
+ static struct connreq *requests = NULL;
+ static int suid = 0;
+ static char *conffile = NULL;
+
+@@ -74,10 +81,15 @@
+ int poll(POLL_SIGNATURE);
+ int close(CLOSE_SIGNATURE);
+ #ifdef USE_SOCKS_DNS
+ int res_init(void);
+ #endif
++#ifdef USE_TOR_DNS
++struct hostent *gethostbyname(GETHOSTBYNAME_SIGNATURE);
++int getaddrinfo(GETADDRINFO_SIGNATURE);
++struct hostent *getipnodebyname(GETIPNODEBYNAME_SIGNATURE);
++#endif
+
+ /* Private Function Prototypes */
+ static int get_config();
+ static int get_environment();
+ static int connect_server(struct connreq *conn);
+@@ -97,10 +109,14 @@
+ static int recv_buffer(struct connreq *conn);
+ static int read_socksv5_method(struct connreq *conn);
+ static int read_socksv4_req(struct connreq *conn);
+ static int read_socksv5_connect(struct connreq *conn);
+ static int read_socksv5_auth(struct connreq *conn);
++#ifdef USE_TOR_DNS
++static int deadpool_init();
++static int send_socksv4a_request(struct connreq *conn, const char *onion_host);
++#endif
+
+ void _init(void) {
+ #ifdef USE_OLD_DLSYM
+ void *lib;
+ #endif
+@@ -118,24 +134,38 @@
+ realpoll = dlsym(RTLD_NEXT, "poll");
+ realclose = dlsym(RTLD_NEXT, "close");
+ #ifdef USE_SOCKS_DNS
+ realresinit = dlsym(RTLD_NEXT, "res_init");
+ #endif
++ #ifdef USE_TOR_DNS
++ realgethostbyname = dlsym(RTLD_NEXT, "gethostbyname");
++ realgetaddrinfo = dlsym(RTLD_NEXT, "getaddrinfo");
++ realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
++ #endif
+ #else
+ lib = dlopen(LIBCONNECT, RTLD_LAZY);
+ realconnect = dlsym(lib, "connect");
+ realselect = dlsym(lib, "select");
+ realpoll = dlsym(lib, "poll");
+ #ifdef USE_SOCKS_DNS
+ realresinit = dlsym(lib, "res_init");
+ #endif
+- dlclose(lib);
+-
++ #ifdef USE_TOR_DNS
++ realgethostbyname = dlsym(lib, "gethostbyname");
++ realgetaddrinfo = dlsym(lib, "getaddrinfo");
++ realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
++ #endif
++ dlclose(lib);
+ lib = dlopen(LIBC, RTLD_LAZY);
+- realclose = dlsym(lib, "close");
++ realclose = dlsym(lib, "close");
+ dlclose(lib);
+ #endif
++#ifdef USE_TOR_DNS
++ /* Unfortunately, we can't do this lazily because otherwise our mmap'd
++ area won't be shared across fork()s. */
++ deadpool_init();
++#endif
+ }
+
+ static int get_environment() {
+ static int done = 0;
+ int loglevel = MSGERR;
+@@ -181,12 +211,11 @@
+ if (config->paths)
+ show_msg(MSGDEBUG, "First lineno for first path is %d\n", config->paths->lineno);
+
+ done = 1;
+
+- return(0);
+-
++ return(0);
+ }
+
+ int connect(CONNECT_SIGNATURE) {
+ struct sockaddr_in *connaddr;
+ struct sockaddr_in peer_address;
+@@ -271,16 +300,21 @@
+ if (!getpeername(__fd, (struct sockaddr *) &peer_address, &namelen)) {
+ show_msg(MSGDEBUG, "Socket is already connected, defering to "
+ "real connect\n");
+ return(realconnect(__fd, __addr, __len));
+ }
+-
++
+ show_msg(MSGDEBUG, "Got connection request for socket %d to "
+ "%s\n", __fd, inet_ntoa(connaddr->sin_addr));
+
+ /* If the address is local call realconnect */
++#ifdef USE_TOR_DNS
++ if (!(is_local(config, &(connaddr->sin_addr))) &&
++ !is_dead_address(pool, connaddr->sin_addr.s_addr)) {
++#else
+ if (!(is_local(config, &(connaddr->sin_addr)))) {
++#endif
+ show_msg(MSGDEBUG, "Connection for socket %d is local\n", __fd);
+ return(realconnect(__fd, __addr, __len));
+ }
+
+ /* Ok, so its not local, we need a path to the net */
+@@ -869,19 +903,74 @@
+ return((rc ? errno : 0));
+ }
+
+ static int send_socks_request(struct connreq *conn) {
+ int rc = 0;
+-
+- if (conn->path->type == 4)
+- rc = send_socksv4_request(conn);
+- else
+- rc = send_socksv5_method(conn);
+
++#ifdef USE_TOR_DNS
++ if (conn->path->type == 4) {
++ char *name = get_pool_entry(pool, &(conn->connaddr.sin_addr));
++ if(name != NULL) {
++ rc = send_socksv4a_request(conn,name);
++ } else {
++ rc = send_socksv4_request(conn);
++ }
++#else
++ if (conn->path->type == 4) {
++ rc = send_socksv4_request(conn);
++#endif
++ } else {
++ rc = send_socksv5_method(conn);
++ }
+ return(rc);
+ }
+
++#ifdef USE_TOR_DNS
++static int send_socksv4a_request(struct connreq *conn,const char *onion_host)
++{
++ struct passwd *user;
++ struct sockreq *thisreq;
++ int endOfUser;
++ /* Determine the current username */
++ user = getpwuid(getuid());
++
++ thisreq = (struct sockreq *) conn->buffer;
++ endOfUser=sizeof(struct sockreq) +
++ (user == NULL ? 0 : strlen(user->pw_name)) + 1;
++
++ /* Check the buffer has enough space for the request */
++ /* and the user name */
++ conn->datalen = endOfUser+
++ (onion_host == NULL ? 0 : strlen(onion_host)) + 1;
++ if (sizeof(conn->buffer) < conn->datalen) {
++ show_msg(MSGERR, "The SOCKS username is too long");
++ conn->state = FAILED;
++ return(ECONNREFUSED);
++ }
++
++ /* Create the request */
++ thisreq->version = 4;
++ thisreq->command = 1;
++ thisreq->dstport = conn->connaddr.sin_port;
++ thisreq->dstip = htonl(1);
++
++ /* Copy the username */
++ strcpy((char *) thisreq + sizeof(struct sockreq),
++ (user == NULL ? "" : user->pw_name));
++
++ /* Copy the onion host */
++ strcpy((char *) thisreq + endOfUser,
++ (onion_host == NULL ? "" : onion_host));
++
++ conn->datadone = 0;
++ conn->state = SENDING;
++ conn->nextstate = SENTV4REQ;
++
++ return(0);
++}
++#endif /* USE_TOR_DNS */
++
+ static int send_socksv4_request(struct connreq *conn) {
+ struct passwd *user;
+ struct sockreq *thisreq;
+
+ /* Determine the current username */
+@@ -931,10 +1020,14 @@
+
+ return(0);
+ }
+
+ static int send_socksv5_connect(struct connreq *conn) {
++#ifdef USE_TOR_DNS
++ int namelen = 0;
++ char *name = NULL;
++#endif
+ char constring[] = { 0x05, /* Version 5 SOCKS */
+ 0x01, /* Connect request */
+ 0x00, /* Reserved */
+ 0x01 }; /* IP Version 4 */
+
+@@ -942,14 +1035,42 @@
+ conn->datadone = 0;
+ conn->state = SENDING;
+ conn->nextstate = SENTV5CONNECT;
+ memcpy(conn->buffer, constring, sizeof(constring));
+ conn->datalen = sizeof(constring);
+- memcpy(&conn->buffer[conn->datalen], &(conn->connaddr.sin_addr.s_addr),
+- sizeof(conn->connaddr.sin_addr.s_addr));
+- conn->datalen += sizeof(conn->connaddr.sin_addr.s_addr);
+- memcpy(&conn->buffer[conn->datalen], &(conn->connaddr.sin_port), sizeof(conn->connaddr.sin_port));
++
++#ifdef USE_TOR_DNS
++ show_msg(MSGDEBUG, "send_socksv5_connect: looking for: %s\n",
++ inet_ntoa(conn->connaddr.sin_addr));
++
++ name = get_pool_entry(pool, &(conn->connaddr.sin_addr));
++ if(name != NULL) {
++ namelen = strlen(name);
++ if(namelen > 255) { /* "Can't happen" */
++ name = NULL;
++ }
++ }
++ if(name != NULL) {
++ show_msg(MSGDEBUG, "send_socksv5_connect: found it!\n");
++ /* Substitute the domain name from the pool into the SOCKS request. */
++ conn->buffer[3] = 0x03; /* Change the ATYP field */
++ conn->buffer[4] = namelen; /* Length of name */
++ conn->datalen++;
++ memcpy(&conn->buffer[conn->datalen], name, namelen);
++ conn->datalen += namelen;
++ } else {
++ show_msg(MSGDEBUG, "send_socksv5_connect: ip address not found\n");
++#endif
++ /* Use the raw IP address */
++ memcpy(&conn->buffer[conn->datalen], &(conn->connaddr.sin_addr.s_addr),
++ sizeof(conn->connaddr.sin_addr.s_addr));
++ conn->datalen += sizeof(conn->connaddr.sin_addr.s_addr);
++#ifdef USE_TOR_DNS
++ }
++#endif
++ memcpy(&conn->buffer[conn->datalen], &(conn->connaddr.sin_port),
++ sizeof(conn->connaddr.sin_port));
+ conn->datalen += sizeof(conn->connaddr.sin_port);
+
+ return(0);
+ }
+
+@@ -1175,24 +1296,56 @@
+
+ return(rc);
+ }
+ #endif
+
+-#if 0
+- /* Get the flags of the socket, (incase its non blocking */
+- if ((sockflags = fcntl(sockid, F_GETFL)) == -1) {
+- sockflags = 0;
+- }
++#ifdef USE_TOR_DNS
++static int deadpool_init()
++{
++ if(!pool) {
++ get_environment();
++ get_config();
++ if(config->tordns_enabled) {
++ pool = init_pool(
++ config->tordns_cache_size,
++ config->tordns_deadpool_range->localip,
++ config->tordns_deadpool_range->localnet,
++ config->defaultserver.address,
++ config->defaultserver.port
++ );
++ if(!pool) {
++ show_msg(MSGERR, "failed to initialize deadpool: tordns disabled\n");
++ }
++ }
++ }
++ return 0;
++}
++
++struct hostent *gethostbyname(GETHOSTBYNAME_SIGNATURE)
++{
++ if(pool) {
++ return our_gethostbyname(pool, name);
++ } else {
++ return realgethostbyname(name);
++ }
++}
++
++int getaddrinfo(GETADDRINFO_SIGNATURE)
++{
++ if(pool) {
++ return our_getaddrinfo(pool, node, service, hints, res);
++ } else {
++ return realgetaddrinfo(node, service, hints, res);
++ }
++}
++
++struct hostent *getipnodebyname(GETIPNODEBYNAME_SIGNATURE)
++{
++ if(pool) {
++ return our_getipnodebyname(pool, name, af, flags, error_num);
++ } else {
++ return realgetipnodebyname(name, af, flags, error_num);
++ }
++}
+
+- /* If the flags show the socket as blocking, set it to */
+- /* blocking for our connection to the socks server */
+- if ((sockflags & O_NONBLOCK) != 0) {
+- fcntl(sockid, F_SETFL, sockflags & (~(O_NONBLOCK)));
+- }
+ #endif
+-#if 0
+- /* If the socket was in non blocking mode, restore that */
+- if ((sockflags & O_NONBLOCK) != 0) {
+- fcntl(sockid, F_SETFL, sockflags);
+- }
+-#endif
+
+diff -rN -U 5 tsocks-1.8/tsocks.conf.5 tsocks/tsocks.conf.5
+--- tsocks-1.8/tsocks.conf.5 2002-05-18 14:13:08.000000000 +1200
++++ tsocks/tsocks.conf.5 2005-10-01 21:41:50.000000000 +1200
+@@ -124,10 +124,33 @@
+ 150.0.0.0:80-1024/255.0.0.0" indicates to tsocks that the SOCKS server
+ specified in the current path block should be used to access any IPs in the
+ range 150.0.0.0 to 150.255.255.255 when the connection request is for ports
+ 80-1024.
+
++.TP
++.I tordns_enable
++This enables the use of the 'tordns' feature in tsocks, which overrides the
++standard C library name resolution calls to use SOCKS. The default value is
++'true'.
++
++.TP
++.I tordns_deadpool_range
++Tor hidden sites do not have real IP addresses. This specifies what range of
++IP addresses will be handed to the application as "cookies" for .onion names.
++Of course, you should pick a block of addresses which you aren't going to ever
++need to actually connect to. The default value is '127.0.69.0/255.255.255.0'.
++
++.TP
++.I tordns_cache_size
++This specifies the number of IP addresses looked up through SOCKS to cache.
++The default value is 256. Each entry consumes 260 bytes of memory, so the
++default adds 66,560 bytes of overhead to each 'torified' process. NOTE: if
++the number of IP addresses in tordns_deadpool_range is less than the value
++specified for tordns_cache_size, then the cache will be shrunk to fit the
++deadpool range. This is to prevent duplicate deadpool addresses from ever
++appearing in the cache.
++
+ .SH UTILITIES
+ tsocks comes with two utilities that can be useful in creating and verifying
+ the tsocks configuration file.
+
+ .TP
+diff -rN -U 5 tsocks-1.8/tsocks.h tsocks/tsocks.h
+--- tsocks-1.8/tsocks.h 2002-03-14 01:58:09.000000000 +1300
++++ tsocks/tsocks.h 2005-09-24 01:38:12.000000000 +1200
+@@ -50,11 +50,11 @@
+ int selectevents;
+
+ /* Buffer for sending and receiving on the socket */
+ int datalen;
+ int datadone;
+- char buffer[1024];
++ char buffer[2048];
+
+ struct connreq *next;
+ };
+
+ /* Connection statuses */
+diff -rN -U 5 tsocks-1.8/validateconf.c tsocks/validateconf.c
+--- tsocks-1.8/validateconf.c 2002-02-07 23:49:59.000000000 +1300
++++ tsocks/validateconf.c 2005-10-01 19:38:08.000000000 +1200
+@@ -161,11 +161,24 @@
+ printf("\n");
+ server = server->next;
+ }
+ }
+
+- return;
++#ifdef USE_TOR_DNS
++ /* Show tordns configuration options */
++ printf("=== TorDNS Configuration Options ===\n");
++ printf("Tor DNS enabled: %s\n",
++ config->tordns_enabled ? "yes" : "no");
++ printf("Tor DNS deadpool range: %s/",
++ inet_ntoa(config->tordns_deadpool_range->localip));
++ printf("%s\n",
++ inet_ntoa(config->tordns_deadpool_range->localnet));
++ printf("Tor DNS cache size: %d\n", config->tordns_cache_size);
++ printf("\n");
++#endif
++
++ return;
+ }
+
+ void show_server(struct parsedfile *config, struct serverent *server, int def) {
+ struct in_addr res;
+ struct netent *net;
diff --git a/patches/README b/patches/README
deleted file mode 100644
index 2f921a9..0000000
--- a/patches/README
+++ /dev/null
@@ -1,88 +0,0 @@
-This is a list of the patches applied to tsocks between it's last
-official release and 15/06/08. All changes applied to the source after
-that date are recorded in the Changelog.
-
-NB: These patches are stored for historical reasons only. I have not
- confirmed that they all apply cleanly to the tsocks source. I do not
- know in what order they should be applied.
-
-File: getaddrbyhost.patch (Robert Hogan)
-Date: 18/06/08
-Description:
-Add support for getaddrbyhost.
-
-File: compilewarnings.patch (Robert Hogan)
-Date: 2007
-Description:
- Suppresses a number of compile warnings. Also introduces reasonable defaults
- for use of Tor.
-
-
-File: getpeername.patch (Peter Palfrader <weasel(a)debian.org>)
-Date: Sat, 27 Mar 2004 13:20:56 +0100
-Description:
- "If we are not done setting up the connection yet, getpeername() should
- return -1 and ENOTCONN.
-
- This is necessary since some applications, when using non-blocking connect,
- (like ircII) use getpeername() to find out if they are connected already.
-
- This results in races sometimes, where the client sends data to the socket
- before we are done with the socks connection setup. Another solution would
- be to intercept send().
-
- This could be extended to actually set the peername to the peer the
- client application has requested, but not for now.
-
- this patch is almost the same, only it uses state != DONE instead of
- state == CONNECTING to find out when to send ENOTCONN back.
-
- this patch tries to also do continue the socks setup in getpeername(),
- if it isn't done yet."
-
-
-File: infiniteloop.patch (Peter Palfrader <weasel(a)debian.org>)
-Date: Sat, 20 Mar 2004 11:41:41 +0100
-Description:
- "If the server just disconnects when tsocks expects a reply, tsocks
- will get stuck in an infinite busy loop."
-
-
-File: localaddresses.patch (Roger Dingledine)
-Date: Sat, 01 Apr 2006 18:17:50 -0500
-Description:
- "I just noticed that tsocks hard-codes the 127.0.0.0/8 subnet
- as being "local", meaning it won't ever go through the socks
- proxy.
-
- The Tor controller's mapaddress command can assign virtual addresses
- in the 127/8 space: see section 3.8 of
- http://tor.eff.org/cvs/tor/doc/control-spec.txt
-
- We think this behavior should be allowed. Here's a patch to tsocks to
- make it not always hard-code its local network."
-
-
-File: conffile.patch ( Roderick Schertler <roderick(a)argon.org>)
-Date: Fri, 03 Jun 2005 08:43:59 -0400
-Description: tsocks(8) says TSOCKS_CONFFILE but should say TSOCKS_CONF_FILE
-Details:
- "The tsocks(8) man page says TSOCKS_CONFFILE but should say
- TSOCKS_CONF_FILE. Though this is a documentation error I don't think
- it qualifies as minor. For me the program didn't work at all because
- I needed to run it with an alternative config file, and I needed to
- download the source to figure out the problem."
-
-
-File: tordns.patch (Total Information Security)
-Date: 2005-10-XX (?)
-Original Reference: http://www.totalinfosecurity.com/patches/tor.php
-Description:
- "Patch from Total Information Security to resolve the DNS leakage problem
- and allow access to addresses with nonstandard hostnames (e.g. those ending
- in .onion)."
-
-Notes:
- 'Total Information Security' appears to be defunct so the original link for
- the patch is now dead. The patch stored here was taken from :
- https://bugs.gentoo.org/show_bug.cgi?id=148550
diff --git a/patches/README.TORDNS b/patches/README.TORDNS
deleted file mode 100644
index 0b7dafd..0000000
--- a/patches/README.TORDNS
+++ /dev/null
@@ -1,187 +0,0 @@
-
-TORDNS
-======
-
-What is it?
------------
-
-This patch modifies the tsocks library to use SOCKS for name resolution.
-
-
-Why should I use it?
---------------------
-
-* It's easier.
-
-When using this patch you don't (always..) need to run 'tor-resolve' when
-using 'torify' anymore. Also, 'torify' now works directly with SSH without
-the need for connect scripts or other fiddling. [As long as SSH is not
-installed suid root].
-
-* It allows you to use programs which are not SOCKS aware to connect to
-.onion sites.
-
-For example, you can ssh directly to a .onion site, or use telnet / netcat
-without hassle.
-
-
-QUICK: what do I need to do to make it work?
---------------------------------------------
-
-Configuration instructions:
-
-1) Get the sources
-
-wget http://ftp1.sourceforge.net/tsocks/tsocks-1.8beta5.tar.gz
-wget http://www.totalinfosecurity.com/patches/tor-tsocks/tordns-1.8b5.patch
-
-2) Unpack and apply the tsocks patch
-
-tar xzvf tsocks-1.8beta5.tar.gz
-cd tsocks-1.8
-patch -p1 < ../tordns-1.8b5.patch
-
-3) Configure, compile and install
-
-NOTE: The default 'configure' settings for tsocks have been changed by
-this patch. The --disable-hostnames option (don't try to use DNS to look
-up SOCKS servers) is now enabled by default. Also, tordns is enabled
-by default.
-
-./configure
-make
-make install
-
-All the tordns config options have sane default values which you should
-not need to change.
-
-
-Why did I need to use 'tor-resolve' with 'torify' in the first place?
----------------------------------------------------------------------
-
-Because if you run "torify telnet bar.foo.com 31337", for example, then
-you're leaking information about what sites you're visiting to DNS servers.
-
-The tor-resolve utility resolves names through tor using SOCKS, in a way
-that shouldn't compromise your privacy.
-
-
-What won't work with this?
---------------------------
-
-The 'tordns' feature for tsocks only works with applications using the
-standard c library name lookup mechanisms.
-
-Some programs roll their own name lookup functions, for example, 'curl'
-uses the 'adns' library, not the standard c library name lookup calls.
-In this case, you'll still be leaking DNS requests.
-
-However, it seems that most programs which go to the trouble of implementing
-asynchronous DNS requests or doing other tricky things have native SOCKS or
-HTTP proxy support.
-
-Requests for reverse name lookups are not intercepted.
-
-Finally, the tsocks library is NOT thread-safe, with or without this patch.
-You should not 'torify' multithreaded applications.
-
-
-How does it work?
------------------
-
-This patch adds interceptors for common name resolution calls to tsocks.
-Specifically, the 'gethostbyname', 'getaddrinfo' and 'getipnodebyname' library
-functions. (gethostbyname_r is not supported).
-
-When a call to one of these functions is intercepted, a SOCKS4A resolve
-request is used to retrieve the relevant information, and the results are
-cached.
-
-When the application calls 'connect', the cache is consulted and instead
-of making a SOCKS5 request and supplying the IP address, we connect using
-the name. This prevents those messages in the tor logs which look like:
-
- Sep 23 10:12:20.901 [warn] fetch_from_buf_socks(): Your application (using s
- ocks5 on port 80) is giving Tor only an IP address. Applications that do DNS
- resolves themselves may leak information. Consider using Socks4A (e.g. via
- privoxy or socat) instead.
-
-There are special provisions for handling .onion sites. When a program asks
-to resolve a name ending in '.onion', no name lookup is performed. A bogus IP
-address is returned. The range of unused IP addresses to hand out is called the
-"deadpool". This IP address doesn't mean anything in particular, and could be
-considered a cookie associated with the name. When the application eventually
-calls 'connect' with this bogus IP, the cache is consulted and the result is a
-SOCKS5 request which includes the name of the .onion site.
-
-The default deadpool range is '127.0.69.0/255.255.255.0'. NOTE: if a resolve
-request results in an IP from the deadpool range then the response is rejected,
-and it appears to the application that the lookup failed.
-
-The lookup cache is kept in mmap'd memory and shared across fork() calls.
-This is because some programs perform name lookups in a child process and
-then invoke 'connect' in the parent as a kind of "poor man's async DNS".
-
-
-Advanced configuration options
-------------------------------
-
-The following options have been added to the tsocks configuration file:
-
-tordns_enable
-
- The default value is 'true'. If you set it to 'false', tsocks should work
- just like it did without the tordns patch.
-
-
-tordns_deadpool_range
-
- The default value is '127.0.69.0/255.255.255.0'. This specifies what range
- of IP addresses will be handed to the application as "cookies" for .onion
- names. Of course, you should pick a block of addresses which you aren't
- going to ever need to actually connect to.
-
-
-tordns_cache_size
-
- This specifies the number of IP addresses looked up through socks to cache.
- The default value is 256. The default value is 256. Each entry consumes 260
- bytes of memory, so the default adds 66,560 bytes of overhead to each
- 'torified' process. NOTE: if the number of IP addresses in
- tordns_deadpool_range is less than the value specified for tordns_cache_size,
- then the cache will be shrunk to fit the deadpool range. This is to prevent
- duplicate deadpool addresses from ever appearing in the cache.
-
-
-TODO
-----
-
-* Think about how local names get resolved. Is it important? For example,
- if I 'telnet localhost' which using tordns, what should happen? Should
- we search through /etc/hosts ourselves or what?
-
-* What about the isc library calls like res_init and so on? How widely are
- they use? Does this present a more elegant way to implement this stuff?
-
-* Perhaps intercept res_query etc and try to do something appropriate.
-
-* It should be possible to make this thread-safe with --enable-threads.
-
-* validateconf needs to be updated to understand (and show information about)
- the tordns configuration options.
-
-* Perhaps intercept reverse name lookups?
-
-* In fact, one could modify tsocks further to play nicely with tor. For
- example, you could prevent nonlocal UDP traffic from being sent at all,
- and so on.
-
-
-******************************************************
-Questions or comments, please contact:
-Blair Strang (bls(a)totalinfosecurity.com)
-Caleb Anderson (caleb.anderson(a)totalinfosecurity.com)
-Carl Purvis (carl.purvis(a)totalinfosecurity.com)
-
-Total Information Security Ltd.
-http://www.totalinfosecurity.com/
diff --git a/patches/compilewarnings.patch b/patches/compilewarnings.patch
deleted file mode 100644
index 9c93be1..0000000
--- a/patches/compilewarnings.patch
+++ /dev/null
@@ -1,739 +0,0 @@
-Only in /home/robert/Development/tork/src/tsocks/: .#Makefile.in.1.12
-Only in /home/robert/Development/tork/src/tsocks/: .deps
-Only in /home/robert/Development/tork/src/tsocks/: .libs
-Common subdirectories: /backup/robert/Development/torsocks/CVS and /home/robert/Development/tork/src/tsocks/CVS
-diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/ChangeLog /home/robert/Development/tork/src/tsocks/ChangeLog
---- /backup/robert/Development/torsocks/ChangeLog 2008-06-15 10:43:02.000000000 +0100
-+++ /home/robert/Development/tork/src/tsocks/ChangeLog 2007-09-30 16:13:34.000000000 +0100
-@@ -1,15 +1,5 @@
--version 1.81 - 2006.11.17 ruben(a)ugr.es
-- Integrated and resolved the conflicts for the following
-- patches:
-- -DNS from totalinfosecurity mentioned below
-- -Infinite Loop from weasel
-- -Getpeername from weasel
-- -Documentation patch from Roderick Schertler
-- -Localhost patch from Roger Dingledine
-- (patches 1, 3, 4, 5 and 7 from
-- http://wiki.noreply.org/noreply/TheOnionRouter/TSocksPatches)
-- Patches 2 and 6 were not applied because I don't have access to
-- osx or bsd and can't test them. (And the bsd patch breaks linux)
-+Renamed for TorK to avoid conflicts with existing tsocks installations.
-+Robert Hogan
-
- version 1.80tordns - 2005.10.4 bls(a)totalinfosecurity.com
- Intercept gethostbyname() and friends, added --tordns
-Only in /home/robert/Development/tork/src/tsocks/: Makefile
-Only in /home/robert/Development/tork/src/tsocks/: Makefile.am~
-Only in /home/robert/Development/tork/src/tsocks/: Makefile.in~
-Only in /home/robert/Development/tork/src/tsocks/: README
-Only in /home/robert/Development/tork/src/tsocks/: TODO~
-Only in /backup/robert/Development/torsocks: acconfig.h
-Only in /home/robert/Development/tork/src/tsocks/: aclocal
-diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/common.c /home/robert/Development/tork/src/tsocks/common.c
---- /backup/robert/Development/torsocks/common.c 2008-06-15 10:43:02.000000000 +0100
-+++ /home/robert/Development/tork/src/tsocks/common.c 2008-04-05 22:36:40.000000000 +0100
-@@ -4,7 +4,7 @@
-
- */
-
--#include <config.h>
-+#include <config.h>
- #include <stdio.h>
- #include <netdb.h>
- #include <common.h>
-@@ -15,6 +15,7 @@
- #include <time.h>
- #include <unistd.h>
- #include <arpa/inet.h>
-+#include <sys/types.h>
- #include <netinet/in.h>
-
- /* Globals */
-@@ -37,7 +38,7 @@
- #ifdef HAVE_GETHOSTBYNAME
- if ((new = gethostbyname(host)) == (struct hostent *) 0) {
- #endif
-- return(-1);
-+ return(0);
- #ifdef HAVE_GETHOSTBYNAME
- } else {
- ip = ((struct in_addr *) * new->h_addr_list);
-@@ -47,7 +48,7 @@
- }
- #endif
- } else
-- return(-1);
-+ return(0);
- }
-
- return (hostaddr);
-@@ -99,10 +100,10 @@
- return nbits;
- }
-
--void show_msg(int level, char *fmt, ...) {
-- va_list ap;
-- int saveerr;
-- extern char *progname;
-+void show_msg(int level, const char *fmt, ...) {
-+ va_list ap;
-+ int saveerr;
-+/* extern char *progname; */
- char timestring[20];
- time_t timestamp;
-
-@@ -128,7 +129,7 @@
- fprintf(logfile, "%s ", timestring);
- }
-
-- // fputs(progname, logfile);
-+ /* fputs(progname, logfile); */
-
- if (logstamp) {
- fprintf(logfile, "(%d)", getpid());
-Only in /home/robert/Development/tork/src/tsocks/: common.c~
-diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/common.h /home/robert/Development/tork/src/tsocks/common.h
---- /backup/robert/Development/torsocks/common.h 2008-06-15 10:43:02.000000000 +0100
-+++ /home/robert/Development/tork/src/tsocks/common.h 2007-11-02 20:23:55.000000000 +0000
-@@ -1,7 +1,7 @@
- /* Common functions provided in common.c */
-
- void set_log_options(int, char *, int);
--void show_msg(int level, char *, ...);
-+void show_msg(int level, const char *, ...);
- int count_netmask_bits(uint32_t mask);
- unsigned int resolve_ip(char *, int, int);
-
-Only in /home/robert/Development/tork/src/tsocks/: common.lo
-Only in /backup/robert/Development/torsocks: config.guess
-Only in /backup/robert/Development/torsocks: config.h.in
-Only in /backup/robert/Development/torsocks: config.status
-Only in /backup/robert/Development/torsocks: config.sub
-Only in /backup/robert/Development/torsocks: configure.in
-diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/dead_pool.c /home/robert/Development/tork/src/tsocks/dead_pool.c
---- /backup/robert/Development/torsocks/dead_pool.c 2008-06-15 10:43:02.000000000 +0100
-+++ /home/robert/Development/tork/src/tsocks/dead_pool.c 2008-04-05 22:35:46.000000000 +0100
-@@ -1,5 +1,6 @@
- #include <stdio.h>
- #include <sys/socket.h>
-+#include <sys/types.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <netdb.h>
-@@ -29,10 +30,11 @@
- }
-
- dead_pool *
--init_pool(int pool_size, struct in_addr deadrange_base,
-+init_pool(unsigned int pool_size, struct in_addr deadrange_base,
- struct in_addr deadrange_mask, char *sockshost, uint16_t socksport)
- {
-- int i, deadrange_bits, deadrange_width, deadrange_size;
-+ unsigned int i, deadrange_size, deadrange_width;
-+ int deadrange_bits;
- struct in_addr socks_server;
- dead_pool *newpool = NULL;
-
-@@ -182,7 +184,7 @@
- int
- search_pool_for_name(dead_pool *pool, const char *name)
- {
-- int i;
-+ unsigned int i;
- for(i=0; i < pool->n_entries; i++){
- if(strcmp(name, pool->entries[i].name) == 0){
- return i;
-@@ -194,7 +196,7 @@
- char *
- get_pool_entry(dead_pool *pool, struct in_addr *addr)
- {
-- int i;
-+ unsigned int i;
- uint32_t intaddr = addr->s_addr;
-
- if(pool == NULL) {
-Only in /home/robert/Development/tork/src/tsocks/: dead_pool.c~
-diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/dead_pool.h /home/robert/Development/tork/src/tsocks/dead_pool.h
---- /backup/robert/Development/torsocks/dead_pool.h 2008-06-15 10:43:02.000000000 +0100
-+++ /home/robert/Development/tork/src/tsocks/dead_pool.h 2007-11-02 20:59:58.000000000 +0000
-@@ -1,7 +1,7 @@
- #ifndef _DEAD_POOL_H
- #define _DEAD_POOL_H
-
--#include <config.h>
-+#include <config.h>
-
- extern int (*realconnect)(CONNECT_SIGNATURE);
- extern int (*realclose)(CLOSE_SIGNATURE);
-@@ -16,7 +16,7 @@
-
- struct struct_dead_pool {
- pool_ent *entries; /* Points to array of pool entries */
-- int n_entries; /* Number of entries in the deadpool */
-+ unsigned int n_entries; /* Number of entries in the deadpool */
- unsigned int deadrange_base; /* Deadrange start IP in host byte order */
- unsigned int deadrange_mask; /* Deadrange netmask in host byte order */
- unsigned int deadrange_size; /* Number of IPs in the deadrange */
-@@ -29,7 +29,7 @@
-
- typedef struct struct_dead_pool dead_pool;
-
--dead_pool *init_pool(int deadpool_size, struct in_addr deadrange_base,
-+dead_pool *init_pool(unsigned int deadpool_size, struct in_addr deadrange_base,
- struct in_addr deadrange_mask, char *sockshost, uint16_t socksport);
- int is_dead_address(dead_pool *pool, uint32_t addr);
- char *get_pool_entry(dead_pool *pool, struct in_addr *addr);
-Only in /home/robert/Development/tork/src/tsocks/: dead_pool.lo
-Only in /home/robert/Development/tork/src/tsocks/: getpeername.patch
-Only in /home/robert/Development/tork/src/tsocks/: infiniteloop.patch
-diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/inspectsocks.c /home/robert/Development/tork/src/tsocks/inspectsocks.c
---- /backup/robert/Development/torsocks/inspectsocks.c 2008-06-15 10:43:02.000000000 +0100
-+++ /home/robert/Development/tork/src/tsocks/inspectsocks.c 2008-04-05 22:36:40.000000000 +0100
-@@ -23,11 +23,11 @@
- */
-
- /* Global configuration variables */
--char *progname = "inspectsocks"; /* Name for error msgs */
-+const char *progname = "inspectsocks"; /* Name for error msgs */
- int defaultport = 1080; /* Default SOCKS port */
-
- /* Header Files */
--#include <config.h>
-+#include <config.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-@@ -35,6 +35,7 @@
- #include <sys/socket.h>
- #include <string.h>
- #include <strings.h>
-+#include <sys/types.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <errno.h>
-@@ -44,7 +45,7 @@
- int reqlen, void *rep, int replen);
-
- int main(int argc, char *argv[]) {
-- char *usage = "Usage: <socks server name/ip> [portno]";
-+ const char *usage = "Usage: <socks server name/ip> [portno]";
- char req[9];
- char resp[100];
- unsigned short int portno = defaultport;
-@@ -68,7 +69,7 @@
- }
- case 2:
- if ((server.sin_addr.s_addr = resolve_ip(argv[1], 1,HOSTNAMES))
-- == -1) {
-+ == 0) {
- show_msg(MSGERR, "Invalid IP/host specified (%s)\n", argv[1]);
- show_msg(MSGERR, "%s\n", usage);
- exit(1);
-Only in /home/robert/Development/tork/src/tsocks/: inspectsocks.c~
-Only in /home/robert/Development/tork/src/tsocks/: libtorksocks.la
-diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/parser.c /home/robert/Development/tork/src/tsocks/parser.c
---- /backup/robert/Development/torsocks/parser.c 2008-06-15 10:43:02.000000000 +0100
-+++ /home/robert/Development/tork/src/tsocks/parser.c 2008-04-05 22:25:54.000000000 +0100
-@@ -12,7 +12,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <errno.h>
--#include <config.h>
-+#include <config.h>
- #include "common.h"
- #include "parser.h"
-
-@@ -24,15 +24,15 @@
- static int check_server(struct serverent *);
- static int tokenize(char *, int, char *[]);
- static int handle_path(struct parsedfile *, int, int, char *[]);
--static int handle_endpath(struct parsedfile *, int, int, char *[]);
--static int handle_reaches(struct parsedfile *, int, char *);
-+static int handle_endpath(struct parsedfile *, int, int);
-+static int handle_reaches(int, char *);
- static int handle_server(struct parsedfile *, int, char *);
- static int handle_type(struct parsedfile *config, int, char *);
- static int handle_port(struct parsedfile *config, int, char *);
--static int handle_local(struct parsedfile *, int, char *);
-+static int handle_local(struct parsedfile *, int, const char *);
- static int handle_tordns_enabled(struct parsedfile *, int, char *);
--static int handle_tordns_deadpool_range(struct parsedfile *, int, char *);
--static int handle_tordns_cache_size(struct parsedfile *, int, char *);
-+static int handle_tordns_deadpool_range(struct parsedfile *, int, const char *);
-+static int handle_tordns_cache_size(struct parsedfile *, char *);
- static int handle_defuser(struct parsedfile *, int, char *);
- static int handle_defpass(struct parsedfile *, int, char *);
- static int make_netent(char *value, struct netent **ent);
-@@ -54,6 +54,7 @@
- config->tordns_cache_size = 256;
- config->tordns_enabled = 1;
-
-+
- /* If a filename wasn't provided, use the default */
- if (filename == NULL) {
- strncpy(line, CONF_FILE, sizeof(line) - 1);
-@@ -62,15 +63,19 @@
- filename = line;
- }
-
-- /* Read the configuration file */
-+ /* If there is no configuration file use reasonable defaults for Tor */
- if ((conf = fopen(filename, "r")) == NULL) {
- show_msg(MSGERR, "Could not open socks configuration file "
- "(%s), assuming all networks local\n", filename);
-- handle_local(config, 0, "0.0.0.0/0.0.0.0");
-+ memset(&(config->defaultserver), 0x0, sizeof(config->defaultserver));
-+ check_server(&(config->defaultserver));
-+ handle_local(config, 0, "127.0.0.0/255.0.0.0");
-+/* handle_local(config, 0, "0.0.0.0/0.0.0.0");*/
- rc = 1; /* Severe errors reading configuration */
- }
- else {
-- memset(&(config->defaultserver), 0x0, sizeof(config->defaultserver));
-+
-+ memset(&(config->defaultserver), 0x0, sizeof(config->defaultserver));
-
- while (NULL != fgets(line, MAXLINE, conf)) {
- /* This line _SHOULD_ end in \n so we */
-@@ -82,11 +87,8 @@
- }
- fclose(conf);
-
-- if (!config->localnets) {
-- /* Use 127.0.0.1/255.0.0.0 by default */
-- handle_local(config, 0, "127.0.0.0/255.0.0.0");
-- }
--
-+ /* Always add the 127.0.0.1/255.0.0.0 subnet to local */
-+ handle_local(config, 0, "127.0.0.0/255.0.0.0");
-
- /* Check default server */
- check_server(&(config->defaultserver));
-@@ -108,9 +110,14 @@
- /* Check server entries (and establish defaults) */
- static int check_server(struct serverent *server) {
-
-- /* Default to the default SOCKS port */
-+ /* Default to the default Tor Socks port */
- if (server->port == 0) {
-- server->port = 1080;
-+ server->port = 9050;
-+ }
-+
-+ /* Default to a presumably local installation of Tor */
-+ if (server->address == NULL) {
-+ server->address = strdup("127.0.0.1");
- }
-
- /* Default to SOCKS V4 */
-@@ -137,7 +144,7 @@
- /* Set the spare slots to an empty string to simplify */
- /* processing */
- for (i = nowords; i < 10; i++)
-- words[i] = "";
-+ words[i] = NULL;
-
- if (nowords > 0) {
- /* Now this can either be a "path" block starter or */
-@@ -146,7 +153,7 @@
- if (!strcmp(words[0], "path")) {
- handle_path(config, lineno, nowords, words);
- } else if (!strcmp(words[0], "}")) {
-- handle_endpath(config, lineno, nowords, words);
-+ handle_endpath(config, lineno, nowords);
- } else {
- /* Has to be a pair */
- if ((nowords != 3) || (strcmp(words[1], "="))) {
-@@ -154,7 +161,7 @@
- "on line %d in configuration "
- "file, \"%s\"\n", lineno, savedline);
- } else if (!strcmp(words[0], "reaches")) {
-- handle_reaches(config, lineno, words[2]);
-+ handle_reaches(lineno, words[2]);
- } else if (!strcmp(words[0], "server")) {
- handle_server(config, lineno, words[2]);
- } else if (!strcmp(words[0], "server_port")) {
-@@ -172,7 +179,7 @@
- } else if (!strcmp(words[0], "tordns_deadpool_range")) {
- handle_tordns_deadpool_range(config, lineno, words[2]);
- } else if (!strcmp(words[0], "tordns_cache_size")) {
-- handle_tordns_cache_size(config, lineno, words[2]);
-+ handle_tordns_cache_size(config, words[2]);
- } else {
- show_msg(MSGERR, "Invalid pair type (%s) specified "
- "on line %d in configuration file, "
-@@ -244,7 +251,7 @@
- return(0);
- }
-
--static int handle_endpath(struct parsedfile *config, int lineno, int nowords, char *words[]) {
-+static int handle_endpath(struct parsedfile *config, int lineno, int nowords) {
-
- if (nowords != 1) {
- show_msg(MSGERR, "Badly formed path close statement on line "
-@@ -261,7 +268,7 @@
- return(0);
- }
-
--static int handle_reaches(struct parsedfile *config, int lineno, char *value) {
-+static int handle_reaches(int lineno, char *value) {
- int rc;
- struct netent *ent;
-
-@@ -465,7 +472,7 @@
- return 0;
- }
-
--static int handle_tordns_cache_size(struct parsedfile *config, int lineno,
-+static int handle_tordns_cache_size(struct parsedfile *config,
- char *value)
- {
- char *endptr;
-@@ -489,7 +496,7 @@
- }
-
- static int handle_tordns_deadpool_range(struct parsedfile *config, int lineno,
-- char *value)
-+ const char *value)
- {
- int rc;
- struct netent *ent;
-@@ -508,7 +515,7 @@
- return(0);
- }
-
-- rc = make_netent(value, &ent);
-+ rc = make_netent((char *)value, &ent);
- /* This is copied from handle_local and should probably be folded into
- a generic whinge() function or something */
- switch(rc) {
-@@ -559,7 +566,7 @@
- return 0;
- }
-
--static int handle_local(struct parsedfile *config, int lineno, char *value) {
-+static int handle_local(struct parsedfile *config, int lineno, const char *value) {
- int rc;
- struct netent *ent;
-
-@@ -571,7 +578,7 @@
- return(0);
- }
-
-- rc = make_netent(value, &ent);
-+ rc = make_netent((char *)value, &ent);
- switch(rc) {
- case 1:
- show_msg(MSGERR, "Local network specification (%s) is not validly "
-@@ -777,7 +784,7 @@
- /* standard strsep and this function is that this one will */
- /* set *separator to the character separator found if it isn't null */
- char *strsplit(char *separator, char **text, const char *search) {
-- int len;
-+ unsigned int len;
- char *ret;
-
- ret = *text;
-Only in /home/robert/Development/tork/src/tsocks/: parser.c~
-diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/parser.h /home/robert/Development/tork/src/tsocks/parser.h
---- /backup/robert/Development/torsocks/parser.h 2008-06-15 10:43:02.000000000 +0100
-+++ /home/robert/Development/tork/src/tsocks/parser.h 2007-11-02 21:00:20.000000000 +0000
-@@ -35,7 +35,7 @@
- struct serverent *paths;
- int tordns_enabled;
- int tordns_failopen;
-- int tordns_cache_size;
-+ unsigned int tordns_cache_size;
- struct netent *tordns_deadpool_range;
- };
-
-Only in /home/robert/Development/tork/src/tsocks/: parser.lo
-Only in /home/robert/Development/tork/src/tsocks/: soname.diff
-Only in /home/robert/Development/tork/src/tsocks/: stamp-h2
-Only in /home/robert/Development/tork/src/tsocks/: tork-tsocks.conf
-Only in /home/robert/Development/tork/src/tsocks/: torkify
-Only in /home/robert/Development/tork/src/tsocks/: torkify.1
-Only in /home/robert/Development/tork/src/tsocks/: torkify.in
-Only in /backup/robert/Development/torsocks: torksock.diff
-Only in /home/robert/Development/tork/src/tsocks/: torksocks
-Only in /home/robert/Development/tork/src/tsocks/: torksocks.1
-Only in /home/robert/Development/tork/src/tsocks/: torksocks.8
-Only in /home/robert/Development/tork/src/tsocks/: torksocks.announce
-Only in /home/robert/Development/tork/src/tsocks/: torksocks.conf.5
-Only in /backup/robert/Development/torsocks: torksocks.diff
-Only in /home/robert/Development/tork/src/tsocks/: torksocks.in
-Only in /home/robert/Development/tork/src/tsocks/: torksocks.in~
-Only in /backup/robert/Development/torsocks: torksocks2.diff
-Only in /backup/robert/Development/torsocks: torksockscols.diff
-Only in /backup/robert/Development/torsocks: tsocks
-Only in /backup/robert/Development/torsocks: tsocks.1
-Only in /backup/robert/Development/torsocks: tsocks.8
-Only in /backup/robert/Development/torsocks: tsocks.announce
-diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/tsocks.c /home/robert/Development/tork/src/tsocks/tsocks.c
---- /backup/robert/Development/torsocks/tsocks.c 2008-06-15 10:43:01.000000000 +0100
-+++ /home/robert/Development/tork/src/tsocks/tsocks.c 2008-06-14 20:11:26.000000000 +0100
-@@ -21,14 +21,14 @@
- */
-
- /* PreProcessor Defines */
--#include <config.h>
-+#include <config.h>
-
- #ifdef USE_GNU_SOURCE
- #define _GNU_SOURCE
- #endif
-
- /* Global configuration variables */
--char *progname = "libtsocks"; /* Name used in err msgs */
-+const char *progname = "libtsocks"; /* Name used in err msgs */
-
- /* Header Files */
- #include <stdio.h>
-@@ -39,6 +39,7 @@
- #include <sys/socket.h>
- #include <string.h>
- #include <strings.h>
-+#include <sys/types.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <sys/poll.h>
-@@ -76,7 +77,7 @@
- static char *conffile = NULL;
-
- /* Exported Function Prototypes */
--void _init(void);
-+void __attribute__ ((constructor)) tsocks_init(void);
- int connect(CONNECT_SIGNATURE);
- int select(SELECT_SIGNATURE);
- int poll(POLL_SIGNATURE);
-@@ -114,11 +115,11 @@
- static int read_socksv5_connect(struct connreq *conn);
- static int read_socksv5_auth(struct connreq *conn);
- #ifdef USE_TOR_DNS
--static int deadpool_init();
-+static int deadpool_init(void);
- static int send_socksv4a_request(struct connreq *conn, const char *onion_host);
- #endif
-
--void _init(void) {
-+void tsocks_init(void) {
- #ifdef USE_OLD_DLSYM
- void *lib;
- #endif
-@@ -139,50 +140,49 @@
- #ifdef USE_SOCKS_DNS
- realresinit = dlsym(RTLD_NEXT, "res_init");
- #endif
-- #ifdef USE_TOR_DNS
-- realgethostbyname = dlsym(RTLD_NEXT, "gethostbyname");
-- realgetaddrinfo = dlsym(RTLD_NEXT, "getaddrinfo");
-- realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
-- #endif
-+ #ifdef USE_TOR_DNS
-+ realgethostbyname = dlsym(RTLD_NEXT, "gethostbyname");
-+ realgetaddrinfo = dlsym(RTLD_NEXT, "getaddrinfo");
-+ realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
-+ #endif
- #else
- lib = dlopen(LIBCONNECT, RTLD_LAZY);
- realconnect = dlsym(lib, "connect");
- realselect = dlsym(lib, "select");
- realpoll = dlsym(lib, "poll");
-- realgetpeername = dlsym(lib, "getpeername");
- #ifdef USE_SOCKS_DNS
- realresinit = dlsym(lib, "res_init");
- #endif
-- #ifdef USE_TOR_DNS
-- realgethostbyname = dlsym(lib, "gethostbyname");
-- realgetaddrinfo = dlsym(lib, "getaddrinfo");
-- realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
-- #endif
-- dlclose(lib);
-+ #ifdef USE_TOR_DNS
-+ realgethostbyname = dlsym(lib, "gethostbyname");
-+ realgetaddrinfo = dlsym(lib, "getaddrinfo");
-+ realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
-+ #endif
-+ dlclose(lib);
- lib = dlopen(LIBC, RTLD_LAZY);
- realclose = dlsym(lib, "close");
-- dlclose(lib);
-+ dlclose(lib);
- #endif
- #ifdef USE_TOR_DNS
-- /* Unfortunately, we can't do this lazily because otherwise our mmap'd
-- area won't be shared across fork()s. */
-- deadpool_init();
--#endif
--
-+ /* Unfortunately, we can't do this lazily because otherwise our mmap'd
-+ area won't be shared across fork()s. */
-+ deadpool_init();
-+#endif
- }
-
- static int get_environment() {
- static int done = 0;
-+#ifdef ALLOW_MSG_OUTPUT
- int loglevel = MSGERR;
- char *logfile = NULL;
- char *env;
--
-+#endif
- if (done)
- return(0);
-
- /* Determine the logging level */
- #ifndef ALLOW_MSG_OUTPUT
-- set_log_options(-1, stderr, 0);
-+ set_log_options(-1, (char *)stderr, 0);
- #else
- if ((env = getenv("TSOCKS_DEBUG")))
- loglevel = atoi(env);
-@@ -212,7 +212,7 @@
- config = malloc(sizeof(*config));
- if (!config)
- return(0);
-- read_config(conffile, config);
-+ read_config(conffile, config);
- if (config->paths)
- show_msg(MSGDEBUG, "First lineno for first path is %d\n", config->paths->lineno);
-
-@@ -222,14 +222,15 @@
- }
-
- int connect(CONNECT_SIGNATURE) {
-- struct sockaddr_in *connaddr;
-- struct sockaddr_in peer_address;
-- struct sockaddr_in server_address;
-- int gotvalidserver = 0, rc, namelen = sizeof(peer_address);
-- int sock_type = -1;
-- int sock_type_len = sizeof(sock_type);
-- unsigned int res = -1;
-- struct serverent *path;
-+ struct sockaddr_in *connaddr;
-+ struct sockaddr_in peer_address;
-+ struct sockaddr_in server_address;
-+ int gotvalidserver = 0, rc;
-+ unsigned int namelen = sizeof(peer_address);
-+ int sock_type = -1;
-+ unsigned int sock_type_len = sizeof(sock_type);
-+ int res = -1;
-+ struct serverent *path;
- struct connreq *newconn;
-
- get_environment();
-@@ -248,6 +249,14 @@
- getsockopt(__fd, SOL_SOCKET, SO_TYPE,
- (void *) &sock_type, &sock_type_len);
-
-+ show_msg(MSGDEBUG, "sin_family: %i "
-+ "\n",
-+ connaddr->sin_family);
-+
-+ show_msg(MSGDEBUG, "sockopt: %i "
-+ "\n",
-+ sock_type);
-+
- /* If this isn't an INET socket for a TCP stream we can't */
- /* handle it, just call the real connect now */
- if ((connaddr->sin_family != AF_INET) ||
-@@ -564,7 +573,8 @@
-
- int poll(POLL_SIGNATURE) {
- int nevents = 0;
-- int rc = 0, i;
-+ int rc = 0;
-+ unsigned int i;
- int setevents = 0;
- int monitoring = 0;
- struct connreq *conn, *nextconn;
-@@ -1354,7 +1364,7 @@
- #endif
-
- #ifdef USE_TOR_DNS
--static int deadpool_init()
-+static int deadpool_init(void)
- {
- if(!pool) {
- get_environment();
-Only in /home/robert/Development/tork/src/tsocks/: tsocks.c.rej
-Only in /backup/robert/Development/torsocks: tsocks.conf.5
-Only in /home/robert/Development/tork/src/tsocks/: tsocks.c~
-diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/tsocks.h /home/robert/Development/tork/src/tsocks/tsocks.h
---- /backup/robert/Development/torsocks/tsocks.h 2008-06-15 10:43:01.000000000 +0100
-+++ /home/robert/Development/tork/src/tsocks/tsocks.h 2007-11-02 20:35:02.000000000 +0000
-@@ -50,8 +50,8 @@
- int selectevents;
-
- /* Buffer for sending and receiving on the socket */
-- int datalen;
-- int datadone;
-+ unsigned int datalen;
-+ unsigned int datadone;
- char buffer[2048];
-
- struct connreq *next;
-Only in /backup/robert/Development/torsocks: tsocks.kdevelop
-Only in /backup/robert/Development/torsocks: tsocks.kdevelop.pcs
-Only in /backup/robert/Development/torsocks: tsocks.kdevses
-Only in /home/robert/Development/tork/src/tsocks/: tsocks.lo
-diff -u -x Makefile.am -x Makefile.in -x configure -x INSTALL -x README.TORDNS -x COPYING -x Changelog -x Doxyfile -x FAQ -x TODO /backup/robert/Development/torsocks/validateconf.c /home/robert/Development/tork/src/tsocks/validateconf.c
---- /backup/robert/Development/torsocks/validateconf.c 2008-06-15 10:43:01.000000000 +0100
-+++ /home/robert/Development/tork/src/tsocks/validateconf.c 2008-04-05 22:36:40.000000000 +0100
-@@ -23,16 +23,17 @@
- */
-
- /* Global configuration variables */
--char *progname = "validateconf"; /* Name for error msgs */
-+const char *progname = "validateconf"; /* Name for error msgs */
-
- /* Header Files */
--#include <config.h>
-+#include <config.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <string.h>
-+#include <sys/types.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <errno.h>
-@@ -44,7 +45,7 @@
- void test_host(struct parsedfile *config, char *);
-
- int main(int argc, char *argv[]) {
-- char *usage = "Usage: [-f conf file] [-t hostname/ip[:port]]";
-+ const char *usage = "Usage: [-f conf file] [-t hostname/ip[:port]]";
- char *filename = NULL;
- char *testhost = NULL;
- struct parsedfile config;
-@@ -103,7 +104,7 @@
- }
-
- /* First resolve the host to an ip */
-- if ((hostaddr.s_addr = resolve_ip(hostname, 0, 1)) == -1) {
-+ if ((hostaddr.s_addr = resolve_ip(hostname, 0, 1)) == 0) {
- fprintf(stderr, "Error: Cannot resolve %s\n", host);
- return;
- } else {
-@@ -187,13 +188,13 @@
- if (server->address != NULL)
- printf("Server: %s (%s)\n", server->address,
- ((res.s_addr = resolve_ip(server->address, 0,
-- HOSTNAMES)) == -1
-+ HOSTNAMES)) == 0
- ? "Invalid!" : inet_ntoa(res)));
- else
- printf("Server: ERROR! None specified\n");
-
- /* Check the server is on a local net */
-- if ((server->address != NULL) && (res.s_addr != -1) &&
-+ if ((server->address != NULL) && (res.s_addr != 0) &&
- (is_local(config, &res)))
- fprintf(stderr, "Error: Server is not on a network "
- "specified as local\n");
-Only in /home/robert/Development/tork/src/tsocks/: validateconf.c~
diff --git a/patches/conffile.patch b/patches/conffile.patch
deleted file mode 100644
index 1dd6491..0000000
--- a/patches/conffile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- tsocks.8.~1~ 2002-03-16 05:20:51.000000000 -0500
-+++ tsocks.8 2005-06-03 08:37:39.000000000 -0400
-@@ -59,7 +59,7 @@
- variables as follows:
-
- .TP
--.I TSOCKS_CONFFILE
-+.I TSOCKS_CONF_FILE
- This environment variable overrides the default location of the tsocks
- configuration file. This variable is not honored if the program tsocks
- is embedded in is setuid. In addition this environment variable can
diff --git a/patches/getaddrbyhost.patch b/patches/getaddrbyhost.patch
deleted file mode 100644
index 29b2234..0000000
--- a/patches/getaddrbyhost.patch
+++ /dev/null
@@ -1,696 +0,0 @@
-Index: common.c
-===================================================================
-RCS file: /cvsroot/tork/torsocks/common.c,v
-retrieving revision 1.2
-diff -p -U3 -r1.2 common.c
---- common.c 15 Jun 2008 10:01:03 -0000 1.2
-+++ common.c 18 Jun 2008 21:21:34 -0000
-@@ -26,6 +26,52 @@ char logfilename[256]; /* Name of fil
- FILE *logfile = NULL; /* File to which messages should be logged */
- int logstamp = 0; /* Timestamp (and pid stamp) messages */
-
-+
-+/**
-+ * Read a 16-bit value beginning at <b>cp</b>. Equivalent to
-+ * *(uint16_t*)(cp), but will not cause segfaults on platforms that forbid
-+ * unaligned memory access.
-+ */
-+uint16_t
-+get_uint16(const char *cp)
-+{
-+ uint16_t v;
-+ memcpy(&v,cp,2);
-+ return v;
-+}
-+/**
-+ * Read a 32-bit value beginning at <b>cp</b>. Equivalent to
-+ * *(uint32_t*)(cp), but will not cause segfaults on platforms that forbid
-+ * unaligned memory access.
-+ */
-+uint32_t
-+get_uint32(const char *cp)
-+{
-+ uint32_t v;
-+ memcpy(&v,cp,4);
-+ return v;
-+}
-+/**
-+ * Set a 16-bit value beginning at <b>cp</b> to <b>v</b>. Equivalent to
-+ * *(uint16_t)(cp) = v, but will not cause segfaults on platforms that forbid
-+ * unaligned memory access. */
-+void
-+set_uint16(char *cp, uint16_t v)
-+{
-+ memcpy(cp,&v,2);
-+}
-+/**
-+ * Set a 32-bit value beginning at <b>cp</b> to <b>v</b>. Equivalent to
-+ * *(uint32_t)(cp) = v, but will not cause segfaults on platforms that forbid
-+ * unaligned memory access. */
-+void
-+set_uint32(char *cp, uint32_t v)
-+{
-+ memcpy(cp,&v,4);
-+}
-+
-+
-+
- unsigned int resolve_ip(char *host, int showmsg, int allownames) {
- struct hostent *new;
- unsigned int hostaddr;
-Index: dead_pool.c
-===================================================================
-RCS file: /cvsroot/tork/torsocks/dead_pool.c,v
-retrieving revision 1.2
-diff -p -U3 -r1.2 dead_pool.c
---- dead_pool.c 15 Jun 2008 10:02:41 -0000 1.2
-+++ dead_pool.c 18 Jun 2008 21:21:35 -0000
-@@ -15,7 +15,8 @@ void get_next_dead_address(dead_pool *po
-
- static int
- do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
-- uint32_t *result_addr);
-+ uint32_t *result_addr, const void *addr,
-+ int version, int reverse, char **result_hostname);
-
- /* Compares the last strlen(s2) characters of s1 with s2. Returns as for
- strcasecmp. */
-@@ -77,6 +78,8 @@ init_pool(unsigned int pool_size, struct
- return NULL;
- }
-
-+ show_msg(MSGWARN, "init_pool: sockshost %s ", sockshost);
-+
- /* Initialize the dead_pool structure */
- #ifdef HAVE_INET_ATON
- inet_aton(sockshost, &socks_server);
-@@ -139,6 +142,7 @@ store_pool_entry(dead_pool *pool, char *
- int oldpos;
- int rc;
- uint32_t intaddr;
-+ char *result_hostname;
-
- show_msg(MSGDEBUG, "store_pool_entry: storing '%s'\n", hostname);
- show_msg(MSGDEBUG, "store_pool_entry: write pos is: %d\n", pool->write_pos);
-@@ -156,7 +160,9 @@ store_pool_entry(dead_pool *pool, char *
- if(strcasecmpend(hostname, ".onion") == 0) {
- get_next_dead_address(pool, &pool->entries[position].ip);
- } else {
-- rc = do_resolve(hostname, pool->sockshost, pool->socksport, &intaddr);
-+ rc = do_resolve(hostname, pool->sockshost, pool->socksport, &intaddr, 0,
-+ 4 /*SOCKS5*/, 0 /*Reverse*/, &result_hostname);
-+
- if(rc != 0) {
- show_msg(MSGWARN, "failed to resolve: %s\n", hostname);
- return -1;
-@@ -237,7 +243,32 @@ build_socks4a_resolve_request(char **out
- return len;
- }
-
-+static int
-+build_socks5_resolve_ptr_request(char **out, const void *_addr)
-+{
-+ size_t len;
-+ const struct in_addr *addr=_addr;
-+
-+ len = 12;
-+ *out = malloc(len);
-+ (*out)[0] = 5; /* SOCKS version 5 */
-+ (*out)[1] = '\xF1'; /* Command: reverse resolve.
-+ see doc/socks-extensions.txt*/
-+ (*out)[2] = '\x00'; /* RSV */
-+ (*out)[3] = '\x01'; /* ATYP: IP V4 address: X'01' */
-+
-+ set_uint32((*out)+4, addr->s_addr);/*IP*/
-+ set_uint16((*out)+4+4, 0); /* port */
-+
-+// memcpy((*out)+4, &addr.s_addr,4); /*IP*/
-+// memcpy((*out)+4+4, *(uint32_t)0, 2); /* port */
-+
-+ return len;
-+}
-+
- #define RESPONSE_LEN 8
-+#define SOCKS5_LEN 4
-+#define METHODRESPONSE_LEN 2
-
- static int
- parse_socks4a_resolve_response(const char *response, size_t len,
-@@ -272,43 +303,188 @@ parse_socks4a_resolve_response(const cha
- }
-
- static int
-+parse_socks5_resolve_ptr_response(int s,const char *response, size_t len,
-+ uint32_t *result_addr, char ***result_hostname)
-+{
-+ char reply_buf[4];
-+ int r;
-+
-+ len=0;
-+ while (len < SOCKS5_LEN) {
-+ r = recv(s, reply_buf+len, SOCKS5_LEN-len, 0);
-+ if (r==0) {
-+ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS5 response\n");
-+ return -1;
-+ }
-+ if (r<0) {
-+ show_msg(MSGWARN, "do_resolve: error reading SOCKS5 response\n");
-+ return -1;
-+ }
-+ len += r;
-+ }
-+
-+ if (reply_buf[0] != 5) {
-+ show_msg(MSGWARN, "Bad SOCKS5 reply version.");
-+ return -1;
-+ }
-+ if (reply_buf[1] != 0) {
-+ show_msg(MSGWARN,"Got status response '%u': SOCKS5 request failed.",
-+ (unsigned)reply_buf[1]);
-+ return -1;
-+ }
-+ if (reply_buf[3] == 1) {
-+ /* IPv4 address */
-+ len=0;
-+ while (len < SOCKS5_LEN) {
-+ r = recv(s, reply_buf+len, SOCKS5_LEN-len, 0);
-+ if (r==0) {
-+ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS5 response\n");
-+ return -1;
-+ }
-+ if (r<0) {
-+ show_msg(MSGWARN, "do_resolve: error reading address in SOCKS5 response\n");
-+ return -1;
-+ }
-+ len += r;
-+ }
-+ *result_addr = ntohl(get_uint32(reply_buf));
-+ } else if (reply_buf[3] == 3) {
-+ size_t result_len;
-+ len=0;
-+ while (len < 1) {
-+ r = recv(s, reply_buf+len, 1-len, 0);
-+ if (r==0) {
-+ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS5 response\n");
-+ return -1;
-+ }
-+ if (r<0) {
-+ show_msg(MSGWARN, "do_resolve: error reading address length in SOCKS5 response\n");
-+ return -1;
-+ }
-+ len += r;
-+ }
-+ result_len = *(uint8_t*)(reply_buf);
-+ **result_hostname = malloc(result_len+1);
-+ len=0;
-+ while (len < (int) result_len) {
-+ r = recv(s, **result_hostname+len, result_len-len, 0);
-+ if (r==0) {
-+ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS5 response\n");
-+ return -1;
-+ }
-+ if (r<0) {
-+ show_msg(MSGWARN, "do_resolve: error reading hostname in SOCKS5 response\n");
-+ return -1;
-+ }
-+ len += r;
-+ }
-+
-+ (**result_hostname)[result_len] = '\0';
-+ }
-+
-+ return 0;
-+}
-+
-+static int
- do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
-- uint32_t *result_addr)
-+ uint32_t *result_addr, const void *addr,
-+ int version, int reverse, char **result_hostname)
- {
- int s;
- struct sockaddr_in socksaddr;
-- char *req, *cp;
-- int r, len;
-+ char *req, *cp=NULL;
-+ int r, len, hslen;
- char response_buf[RESPONSE_LEN];
-+ const char *handshake="\x05\x01\x00";
-
- show_msg(MSGDEBUG, "do_resolve: resolving %s\n", hostname);
-
-+ /* Create SOCKS connection */
- s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
- if (s<0) {
- show_msg(MSGWARN, "do_resolve: problem creating socket\n");
- return -1;
- }
-
-+ /* Connect to SOCKS server */
- memset(&socksaddr, 0, sizeof(socksaddr));
- socksaddr.sin_family = AF_INET;
- socksaddr.sin_port = htons(socksport);
- socksaddr.sin_addr.s_addr = htonl(sockshost);
- if (realconnect(s, (struct sockaddr*)&socksaddr, sizeof(socksaddr))) {
- show_msg(MSGWARN, "do_resolve: error connecting to SOCKS server\n");
-+ realclose(s);
- return -1;
- }
-
-- if ((len = build_socks4a_resolve_request(&req, "", hostname))<0) {
-- show_msg(MSGWARN, "do_resolve: error generating SOCKS request\n");
-- return -1;
-+ /* If a SOCKS5 connection, perform handshake */
-+ if (version == 5) {
-+ char method_buf[2];
-+ hslen=3;
-+ while (hslen) {
-+ r = send(s, handshake, hslen, 0);
-+ if (r<0) {
-+ show_msg(MSGWARN, "do_resolve: error sending SOCKS5 method list.\n");
-+ realclose(s);
-+ return -1;
-+ }
-+ hslen -= r;
-+ handshake += r;
-+ }
-+
-+ len = 0;
-+ while (len < METHODRESPONSE_LEN) {
-+ r = recv(s, method_buf+len, METHODRESPONSE_LEN-len, 0);
-+ if (r==0) {
-+ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS response\n");
-+ realclose(s);
-+ return -1;
-+ }
-+ if (r<0) {
-+ show_msg(MSGWARN, "do_resolve: error reading SOCKS response\n");
-+ realclose(s);
-+ return -1;
-+ }
-+ len += r;
-+ }
-+
-+ if (method_buf[0] != '\x05') {
-+ show_msg(MSGWARN, "Unrecognized socks version: %u",
-+ (unsigned)method_buf[0]);
-+ realclose(s);
-+ return -1;
-+ }
-+ if (method_buf[1] != '\x00') {
-+ show_msg(MSGWARN, "Unrecognized socks authentication method: %u",
-+ (unsigned)method_buf[1]);
-+ realclose(s);
-+ return -1;
-+ }
-+ }
-+
-+ /* Create SOCKS request */
-+ if (reverse) {
-+ if ((len = build_socks5_resolve_ptr_request(&req, addr))<0) {
-+ show_msg(MSGWARN, "do_resolve: error generating reverse SOCKS request\n");
-+ realclose(s);
-+ return -1;
-+ }
-+ }else{
-+ if ((len = build_socks4a_resolve_request(&req, "", hostname))<0) {
-+ show_msg(MSGWARN, "do_resolve: error generating SOCKS request\n");
-+ realclose(s);
-+ return -1;
-+ }
- }
-
-+ /* Send SOCKS request */
- cp = req;
- while (len) {
- r = send(s, cp, len, 0);
- if (r<0) {
- show_msg(MSGWARN, "do_resolve: error sending SOCKS request\n");
- free(req);
-+ realclose(s);
- return -1;
- }
- len -= r;
-@@ -316,26 +492,40 @@ do_resolve(const char *hostname, uint32_
- }
- free(req);
-
-- len = 0;
-- while (len < RESPONSE_LEN) {
-- r = recv(s, response_buf+len, RESPONSE_LEN-len, 0);
-- if (r==0) {
-- show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS response\n");
-+ /* Handle SOCKS Response */
-+ if (reverse) {
-+ if (parse_socks5_resolve_ptr_response(s, response_buf, RESPONSE_LEN,
-+ result_addr, &result_hostname) < 0){
-+ show_msg(MSGWARN, "do_resolve: error parsing SOCKS response\n");
-+ realclose(s);
- return -1;
- }
-- if (r<0) {
-- show_msg(MSGWARN, "do_resolve: error reading SOCKS response\n");
-+ }else{
-+ /* Process SOCKS response */
-+ len = 0;
-+ while (len < RESPONSE_LEN) {
-+ r = recv(s, response_buf+len, RESPONSE_LEN-len, 0);
-+ if (r==0) {
-+ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS response\n");
-+ realclose(s);
-+ return -1;
-+ }
-+ if (r<0) {
-+ show_msg(MSGWARN, "do_resolve: error reading SOCKS response\n");
-+ realclose(s);
-+ return -1;
-+ }
-+ len += r;
-+ }
-+ realclose(s);
-+
-+ /* Parse SOCKS response */
-+ if (parse_socks4a_resolve_response(response_buf, RESPONSE_LEN, result_addr) < 0){
-+ show_msg(MSGWARN, "do_resolve: error parsing SOCKS response\n");
- return -1;
- }
-- len += r;
- }
-
-- realclose(s);
--
-- if (parse_socks4a_resolve_response(response_buf, RESPONSE_LEN, result_addr) < 0){
-- show_msg(MSGWARN, "do_resolve: error parsing SOCKS response\n");
-- return -1;
-- }
-
- show_msg(MSGDEBUG, "do_resolve: success\n");
-
-@@ -343,6 +533,53 @@ do_resolve(const char *hostname, uint32_
- }
-
- struct hostent *
-+our_gethostbyaddr(dead_pool *pool, const void *_addr, socklen_t len, int type)
-+{
-+ const struct in_addr *addr=_addr;
-+ static struct hostent he;
-+ uint32_t intaddr=0;
-+ char *result_hostname=NULL;
-+ int rc=0;
-+ static char *addrs[2];
-+ static char *aliases[2];
-+
-+ rc = do_resolve("", pool->sockshost, pool->socksport, &intaddr, addr,
-+ 5 /*SOCKS5*/, 1 /*Reverse*/, &result_hostname);
-+
-+
-+ if(rc != 0) {
-+ show_msg(MSGWARN, "failed to reverse resolve: %s\n",
-+ inet_ntoa(*((struct in_addr *)addr)));
-+ result_hostname=NULL;
-+ addrs[0] = NULL;
-+ addrs[1] = NULL;
-+ }else{
-+ addrs[0] = (char *)addr;
-+ addrs[1] = NULL;
-+ }
-+
-+ if (result_hostname)
-+ he.h_name = result_hostname;
-+ else
-+ he.h_name = inet_ntoa(*((struct in_addr *)addr));
-+
-+// aliases = malloc(sizeof(char *));
-+ aliases[0] = NULL;
-+ aliases[1] = NULL;
-+
-+ he.h_aliases = aliases;
-+ he.h_length = len;
-+ he.h_addrtype = type;
-+ he.h_addr_list = addrs;
-+
-+ show_msg(MSGDEBUG, "our_gethostbyaddr: resolved '%s' to: '%s'\n",
-+ inet_ntoa(*((struct in_addr *)he.h_addr)), result_hostname);
-+
-+ return &he;
-+
-+}
-+
-+struct hostent *
- our_gethostbyname(dead_pool *pool, const char *name)
- {
- int pos;
-Index: inspectsocks.c
-===================================================================
-RCS file: /cvsroot/tork/torsocks/inspectsocks.c,v
-retrieving revision 1.1.1.1
-diff -p -U3 -r1.1.1.1 inspectsocks.c
---- inspectsocks.c 15 Jun 2008 09:43:02 -0000 1.1.1.1
-+++ inspectsocks.c 18 Jun 2008 21:21:35 -0000
-@@ -23,7 +23,7 @@
- */
-
- /* Global configuration variables */
--char *progname = "inspectsocks"; /* Name for error msgs */
-+const char *progname = "inspectsocks"; /* Name for error msgs */
- int defaultport = 1080; /* Default SOCKS port */
-
- /* Header Files */
-@@ -35,6 +35,7 @@ int defaultport = 1080; /* Default
- #include <sys/socket.h>
- #include <string.h>
- #include <strings.h>
-+#include <sys/types.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <errno.h>
-@@ -44,7 +45,7 @@ int send_request(struct sockaddr_in *ser
- int reqlen, void *rep, int replen);
-
- int main(int argc, char *argv[]) {
-- char *usage = "Usage: <socks server name/ip> [portno]";
-+ const char *usage = "Usage: <socks server name/ip> [portno]";
- char req[9];
- char resp[100];
- unsigned short int portno = defaultport;
-@@ -68,7 +69,7 @@ int main(int argc, char *argv[]) {
- }
- case 2:
- if ((server.sin_addr.s_addr = resolve_ip(argv[1], 1,HOSTNAMES))
-- == -1) {
-+ == 0) {
- show_msg(MSGERR, "Invalid IP/host specified (%s)\n", argv[1]);
- show_msg(MSGERR, "%s\n", usage);
- exit(1);
-Index: tsocks.c
-===================================================================
-RCS file: /cvsroot/tork/torsocks/tsocks.c,v
-retrieving revision 1.2
-diff -p -U3 -r1.2 tsocks.c
---- tsocks.c 15 Jun 2008 10:06:03 -0000 1.2
-+++ tsocks.c 18 Jun 2008 21:21:37 -0000
-@@ -63,6 +63,7 @@ static int (*realresinit)(void);
- #ifdef USE_TOR_DNS
- static dead_pool *pool = NULL;
- static struct hostent *(*realgethostbyname)(GETHOSTBYNAME_SIGNATURE);
-+static struct hostent *(*realgethostbyaddr)(GETHOSTBYADDR_SIGNATURE);
- int (*realgetaddrinfo)(GETADDRINFO_SIGNATURE);
- static struct hostent *(*realgetipnodebyname)(GETIPNODEBYNAME_SIGNATURE);
- #endif
-@@ -77,7 +78,7 @@ static int suid = 0;
- static char *conffile = NULL;
-
- /* Exported Function Prototypes */
--void __attribute__ ((constructor)) tsocks_init(void);
-+void __attribute__ ((constructor)) _init(void);
- int connect(CONNECT_SIGNATURE);
- int select(SELECT_SIGNATURE);
- int poll(POLL_SIGNATURE);
-@@ -88,6 +89,7 @@ int res_init(void);
- #endif
- #ifdef USE_TOR_DNS
- struct hostent *gethostbyname(GETHOSTBYNAME_SIGNATURE);
-+struct hostent *gethostbyaddr(GETHOSTBYADDR_SIGNATURE);
- int getaddrinfo(GETADDRINFO_SIGNATURE);
- struct hostent *getipnodebyname(GETIPNODEBYNAME_SIGNATURE);
- #endif
-@@ -119,11 +121,12 @@ static int deadpool_init(void);
- static int send_socksv4a_request(struct connreq *conn, const char *onion_host);
- #endif
-
--void tsocks_init(void) {
-+void _init(void) {
- #ifdef USE_OLD_DLSYM
- void *lib;
- #endif
-
-+ show_msg(MSGWARN, "In tsocks_init \n");
- /* We could do all our initialization here, but to be honest */
- /* most programs that are run won't use our services, so */
- /* we do our general initialization on first call */
-@@ -142,6 +145,7 @@ void tsocks_init(void) {
- #endif
- #ifdef USE_TOR_DNS
- realgethostbyname = dlsym(RTLD_NEXT, "gethostbyname");
-+ //realgethostbyaddr = dlsym(RTLD_NEXT, "gethostbyaddr");
- realgetaddrinfo = dlsym(RTLD_NEXT, "getaddrinfo");
- realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
- #endif
-@@ -155,6 +159,7 @@ void tsocks_init(void) {
- #endif
- #ifdef USE_TOR_DNS
- realgethostbyname = dlsym(lib, "gethostbyname");
-+ realgethostbyaddr = dlsym(lib, "gethostbyaddr");
- realgetaddrinfo = dlsym(lib, "getaddrinfo");
- realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
- #endif
-@@ -1100,6 +1105,7 @@ static int send_socksv5_connect(struct c
- conn->datalen = sizeof(constring);
-
- #ifdef USE_TOR_DNS
-+
- show_msg(MSGDEBUG, "send_socksv5_connect: looking for: %s\n",
- inet_ntoa(conn->connaddr.sin_addr));
-
-@@ -1394,6 +1400,15 @@ struct hostent *gethostbyname(GETHOSTBYN
- }
- }
-
-+struct hostent *gethostbyaddr(GETHOSTBYADDR_SIGNATURE)
-+{
-+ if(pool) {
-+ return our_gethostbyaddr(pool, addr, len, type);
-+ } else {
-+ return realgethostbyaddr(addr, len, type);
-+ }
-+}
-+
- int getaddrinfo(GETADDRINFO_SIGNATURE)
- {
- if(pool) {
-Index: common.h
-===================================================================
-RCS file: /cvsroot/tork/torsocks/common.h,v
-retrieving revision 1.2
-diff -p -U3 -r1.2 common.h
---- common.h 15 Jun 2008 10:01:41 -0000 1.2
-+++ common.h 18 Jun 2008 21:21:37 -0000
-@@ -1,4 +1,33 @@
- /* Common functions provided in common.c */
-+/* GCC has several useful attributes. */
-+#if defined(__GNUC__) && __GNUC__ >= 3
-+#define ATTR_NORETURN __attribute__((noreturn))
-+#define ATTR_PURE __attribute__((pure))
-+#define ATTR_CONST __attribute__((const))
-+#define ATTR_MALLOC __attribute__((malloc))
-+#define ATTR_NORETURN __attribute__((noreturn))
-+#define ATTR_NONNULL(x) __attribute__((nonnull x))
-+/** Macro: Evaluates to <b>exp</b> and hints the compiler that the value
-+ * of <b>exp</b> will probably be true. */
-+#define PREDICT_LIKELY(exp) __builtin_expect((exp), 1)
-+/** Macro: Evaluates to <b>exp</b> and hints the compiler that the value
-+ * of <b>exp</b> will probably be false. */
-+#define PREDICT_UNLIKELY(exp) __builtin_expect((exp), 0)
-+#else
-+#define ATTR_NORETURN
-+#define ATTR_PURE
-+#define ATTR_CONST
-+#define ATTR_MALLOC
-+#define ATTR_NORETURN
-+#define ATTR_NONNULL(x)
-+#define PREDICT_LIKELY(exp) (exp)
-+#define PREDICT_UNLIKELY(exp) (exp)
-+#endif
-+
-+uint16_t get_uint16(const char *cp) ATTR_PURE ATTR_NONNULL((1));
-+uint32_t get_uint32(const char *cp) ATTR_PURE ATTR_NONNULL((1));
-+void set_uint16(char *cp, uint16_t v) ATTR_NONNULL((1));
-+void set_uint32(char *cp, uint32_t v) ATTR_NONNULL((1));
-
- void set_log_options(int, char *, int);
- void show_msg(int level, const char *, ...);
-Index: dead_pool.h
-===================================================================
-RCS file: /cvsroot/tork/torsocks/dead_pool.h,v
-retrieving revision 1.2
-diff -p -U3 -r1.2 dead_pool.h
---- dead_pool.h 15 Jun 2008 10:02:53 -0000 1.2
-+++ dead_pool.h 18 Jun 2008 21:21:38 -0000
-@@ -35,6 +35,8 @@ int is_dead_address(dead_pool *pool, uin
- char *get_pool_entry(dead_pool *pool, struct in_addr *addr);
- int search_pool_for_name(dead_pool *pool, const char *name);
- struct hostent *our_gethostbyname(dead_pool *pool, const char *name);
-+struct hostent *our_gethostbyaddr(dead_pool *pool, const void *addr,
-+ socklen_t len, int type);
- int our_getaddrinfo(dead_pool *pool, const char *node, const char *service,
- void *hints, void *res);
- struct hostent *our_getipnodebyname(dead_pool *pool, const char *name,
-Index: parser.h
-===================================================================
-RCS file: /cvsroot/tork/torsocks/parser.h,v
-retrieving revision 1.1.1.1
-diff -p -U3 -r1.1.1.1 parser.h
---- parser.h 15 Jun 2008 09:43:02 -0000 1.1.1.1
-+++ parser.h 18 Jun 2008 21:21:38 -0000
-@@ -35,7 +35,7 @@ struct parsedfile {
- struct serverent *paths;
- int tordns_enabled;
- int tordns_failopen;
-- int tordns_cache_size;
-+ unsigned int tordns_cache_size;
- struct netent *tordns_deadpool_range;
- };
-
-Index: tsocks.h
-===================================================================
-RCS file: /cvsroot/tork/torsocks/tsocks.h,v
-retrieving revision 1.1.1.1
-diff -p -U3 -r1.1.1.1 tsocks.h
---- tsocks.h 15 Jun 2008 09:43:01 -0000 1.1.1.1
-+++ tsocks.h 18 Jun 2008 21:21:38 -0000
-@@ -50,8 +50,8 @@ struct connreq {
- int selectevents;
-
- /* Buffer for sending and receiving on the socket */
-- int datalen;
-- int datadone;
-+ unsigned int datalen;
-+ unsigned int datadone;
- char buffer[2048];
-
- struct connreq *next;
-Index: config.h.in
-===================================================================
-RCS file: /cvsroot/tork/torsocks/config.h.in,v
-retrieving revision 1.1.1.1
-diff -p -U3 -r1.1.1.1 config.h.in
---- config.h.in 15 Jun 2008 09:43:02 -0000 1.1.1.1
-+++ config.h.in 18 Jun 2008 21:21:38 -0000
-@@ -83,6 +83,9 @@ in inspectsocks */
- #undef GETIPNODEBYNAME_SIGNATURE
-
-
-+/* Description */
-+#undef GETHOSTBYADDR_SIGNATURE
-+
- /* Define to 1 if you have the <inttypes.h> header file. */
- #undef HAVE_INTTYPES_H
-
-Index: configure.in
-===================================================================
-RCS file: /cvsroot/tork/torsocks/configure.in,v
-retrieving revision 1.1.1.1
-diff -p -U3 -r1.1.1.1 configure.in
---- configure.in 15 Jun 2008 09:43:00 -0000 1.1.1.1
-+++ configure.in 18 Jun 2008 21:21:38 -0000
-@@ -384,6 +384,10 @@ dnl Emit signature for gethostbyname
- PROTO="const char *name"
- AC_DEFINE_UNQUOTED(GETHOSTBYNAME_SIGNATURE, [${PROTO}])
-
-+dnl Emit signature for gethostbyaddr
-+PROTO="const void *addr, socklen_t len, int type"
-+AC_DEFINE_UNQUOTED(GETHOSTBYADDR_SIGNATURE, [${PROTO}], [Description])
-+
- dnl Emit signature for getaddrinfo
- PROTO="const char *node, const char *service, void *hints, void *res"
- AC_DEFINE_UNQUOTED(GETADDRINFO_SIGNATURE, [${PROTO}])
diff --git a/patches/getpeername.patch b/patches/getpeername.patch
deleted file mode 100644
index f66d133..0000000
--- a/patches/getpeername.patch
+++ /dev/null
@@ -1,350 +0,0 @@
-diff -ur tsocks-1.8beta5.orig/acconfig.h tsocks-1.8beta5.clean/acconfig.h
---- tsocks-1.8beta5.orig/acconfig.h Sat May 18 06:59:38 2002
-+++ tsocks-1.8beta5.clean/acconfig.h Sat Mar 27 11:12:03 2004
-@@ -43,6 +43,9 @@
- /* Prototype and function header for close function */
- #undef CLOSE_SIGNATURE
-
-+/* Prototype and function header for getpeername function */
-+#undef GETPEERNAME_SIGNATURE
-+
- /* Work out which function we have for conversion from string IPs to
- numerical ones */
- #undef HAVE_INET_ADDR
-diff -ur tsocks-1.8beta5.orig/config.h.in tsocks-1.8beta5.clean/config.h.in
---- tsocks-1.8beta5.orig/config.h.in Sat May 18 06:59:42 2002
-+++ tsocks-1.8beta5.clean/config.h.in Sat Mar 27 11:21:58 2004
-@@ -46,6 +46,9 @@
- /* Prototype and function header for close function */
- #undef CLOSE_SIGNATURE
-
-+/* Prototype and function header for close function */
-+#undef GETPEERNAME_SIGNATURE
-+
- /* Work out which function we have for conversion from string IPs to
- numerical ones */
- #undef HAVE_INET_ADDR
-diff -ur tsocks-1.8beta5.orig/config.status tsocks-1.8beta5.clean/config.status
---- tsocks-1.8beta5.orig/config.status Sat Mar 27 11:25:17 2004
-+++ tsocks-1.8beta5.clean/config.status Sat Mar 27 11:22:01 2004
-@@ -2,9 +2,9 @@
- # Generated automatically by configure.
- # Run this file to recreate the current configuration.
- # This directory was configured as follows,
--# on host inky:
-+# on host seppia:
- #
--# ./configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --with-conf=/etc/tsocks.conf --enable-socksdns --enable-hostnames
-+# ./configure
- #
- # Compiler output produced by configure, useful for debugging
- # configure, is in ./config.log if it exists.
-@@ -14,8 +14,8 @@
- do
- case "$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-- echo "running ${CONFIG_SHELL-/bin/sh} ./configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --with-conf=/etc/tsocks.conf --enable-socksdns --enable-hostnames --no-create --no-recursion"
-- exec ${CONFIG_SHELL-/bin/sh} ./configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --with-conf=/etc/tsocks.conf --enable-socksdns --enable-hostnames --no-create --no-recursion ;;
-+ echo "running ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion"
-+ exec ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "./config.status generated by autoconf version 2.13"
- exit 0 ;;
-@@ -53,11 +53,11 @@
- s%@sysconfdir@%${prefix}/etc%g
- s%@sharedstatedir@%${prefix}/com%g
- s%@localstatedir@%${prefix}/var%g
--s%@libdir@%/usr/lib%g
-+s%@libdir@%/lib%g
- s%@includedir@%${prefix}/include%g
- s%@oldincludedir@%/usr/include%g
- s%@infodir@%${prefix}/info%g
--s%@mandir@%/usr/share/man%g
-+s%@mandir@%${prefix}/man%g
- s%@host@%i686-pc-linux-gnu%g
- s%@host_alias@%i686-pc-linux-gnu%g
- s%@host_cpu@%i686%g
-@@ -255,15 +255,15 @@
- mv conftest.out conftest.in
-
- cat > conftest.frag <<CEOF
--${ac_dA}USE_SOCKS_DNS${ac_dB}USE_SOCKS_DNS${ac_dC}1${ac_dD}
--${ac_uA}USE_SOCKS_DNS${ac_uB}USE_SOCKS_DNS${ac_uC}1${ac_uD}
--${ac_eA}USE_SOCKS_DNS${ac_eB}USE_SOCKS_DNS${ac_eC}1${ac_eD}
- ${ac_dA}ALLOW_ENV_CONFIG${ac_dB}ALLOW_ENV_CONFIG${ac_dC}1${ac_dD}
- ${ac_uA}ALLOW_ENV_CONFIG${ac_uB}ALLOW_ENV_CONFIG${ac_uC}1${ac_uD}
- ${ac_eA}ALLOW_ENV_CONFIG${ac_eB}ALLOW_ENV_CONFIG${ac_eC}1${ac_eD}
- ${ac_dA}ALLOW_MSG_OUTPUT${ac_dB}ALLOW_MSG_OUTPUT${ac_dC}1${ac_dD}
- ${ac_uA}ALLOW_MSG_OUTPUT${ac_uB}ALLOW_MSG_OUTPUT${ac_uC}1${ac_uD}
- ${ac_eA}ALLOW_MSG_OUTPUT${ac_eB}ALLOW_MSG_OUTPUT${ac_eC}1${ac_eD}
-+${ac_dA}HOSTNAMES${ac_dB}HOSTNAMES${ac_dC}1${ac_dD}
-+${ac_uA}HOSTNAMES${ac_uB}HOSTNAMES${ac_uC}1${ac_uD}
-+${ac_eA}HOSTNAMES${ac_eB}HOSTNAMES${ac_eC}1${ac_eD}
- ${ac_dA}SELECT_SIGNATURE${ac_dB}SELECT_SIGNATURE${ac_dC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_dD}
- ${ac_uA}SELECT_SIGNATURE${ac_uB}SELECT_SIGNATURE${ac_uC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_uD}
- ${ac_eA}SELECT_SIGNATURE${ac_eB}SELECT_SIGNATURE${ac_eC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_eD}
-@@ -282,15 +282,18 @@
- ${ac_dA}CLOSE_SIGNATURE${ac_dB}CLOSE_SIGNATURE${ac_dC}int fd${ac_dD}
- ${ac_uA}CLOSE_SIGNATURE${ac_uB}CLOSE_SIGNATURE${ac_uC}int fd${ac_uD}
- ${ac_eA}CLOSE_SIGNATURE${ac_eB}CLOSE_SIGNATURE${ac_eC}int fd${ac_eD}
--${ac_dA}POLL_SIGNATURE${ac_dB}POLL_SIGNATURE${ac_dC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_dD}
--${ac_uA}POLL_SIGNATURE${ac_uB}POLL_SIGNATURE${ac_uC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_uD}
--${ac_eA}POLL_SIGNATURE${ac_eB}POLL_SIGNATURE${ac_eC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_eD}
-+${ac_dA}GETPEERNAME_SIGNATURE${ac_dB}GETPEERNAME_SIGNATURE${ac_dC}int __fd, struct sockaddr * __name, socklen_t *__namelen${ac_dD}
-+${ac_uA}GETPEERNAME_SIGNATURE${ac_uB}GETPEERNAME_SIGNATURE${ac_uC}int __fd, struct sockaddr * __name, socklen_t *__namelen${ac_uD}
-+${ac_eA}GETPEERNAME_SIGNATURE${ac_eB}GETPEERNAME_SIGNATURE${ac_eC}int __fd, struct sockaddr * __name, socklen_t *__namelen${ac_eD}
- CEOF
- sed -f conftest.frag conftest.in > conftest.out
- rm -f conftest.in
- mv conftest.out conftest.in
-
- cat > conftest.frag <<CEOF
-+${ac_dA}POLL_SIGNATURE${ac_dB}POLL_SIGNATURE${ac_dC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_dD}
-+${ac_uA}POLL_SIGNATURE${ac_uB}POLL_SIGNATURE${ac_uC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_uD}
-+${ac_eA}POLL_SIGNATURE${ac_eB}POLL_SIGNATURE${ac_eC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_eD}
- s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
- CEOF
- sed -f conftest.frag conftest.in > conftest.out
-diff -ur tsocks-1.8beta5.orig/configure tsocks-1.8beta5.clean/configure
---- tsocks-1.8beta5.orig/configure Tue Jul 16 00:51:08 2002
-+++ tsocks-1.8beta5.clean/configure Sat Mar 27 11:12:05 2004
-@@ -2225,14 +2225,60 @@
- EOF
-
-
-+
-+echo $ac_n "checking for correct getpeername prototype""... $ac_c" 1>&6
-+echo "configure:2231: checking for correct getpeername prototype" >&5
-+PROTO=
-+PROTO1='int __fd, const struct sockaddr * __name, int *__namelen'
-+PROTO2='int __fd, const struct sockaddr_in * __name, socklen_t *__namelen'
-+PROTO3='int __fd, struct sockaddr * __name, socklen_t *__namelen'
-+PROTO4='int __fd, const struct sockaddr * __name, socklen_t *__namelen'
-+for testproto in "${PROTO1}" \
-+ "${PROTO2}" \
-+ "${PROTO3}" \
-+ "${PROTO4}"
-+do
-+ if test "${PROTO}" = ""; then
-+ cat > conftest.$ac_ext <<EOF
-+#line 2244 "configure"
-+#include "confdefs.h"
-+
-+ #include <sys/socket.h>
-+ int getpeername($testproto);
-+
-+int main() {
-+
-+; return 0; }
-+EOF
-+if { (eval echo configure:2254: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+ rm -rf conftest*
-+ PROTO="$testproto";
-+else
-+ echo "configure: failed program was:" >&5
-+ cat conftest.$ac_ext >&5
-+fi
-+rm -f conftest*
-+ fi
-+done
-+if test "${PROTO}" = ""; then
-+ { echo "configure: error: "no match found!"" 1>&2; exit 1; }
-+fi
-+echo "$ac_t""getpeername(${PROTO})" 1>&6
-+cat >> confdefs.h <<EOF
-+#define GETPEERNAME_SIGNATURE ${PROTO}
-+EOF
-+
-+
-+
-+
- echo $ac_n "checking for correct poll prototype""... $ac_c" 1>&6
--echo "configure:2230: checking for correct poll prototype" >&5
-+echo "configure:2276: checking for correct poll prototype" >&5
- PROTO=
- for testproto in 'struct pollfd *ufds, unsigned long nfds, int timeout'
- do
- if test "${PROTO}" = ""; then
- cat > conftest.$ac_ext <<EOF
--#line 2236 "configure"
-+#line 2282 "configure"
- #include "confdefs.h"
-
- #include <sys/poll.h>
-@@ -2242,7 +2288,7 @@
-
- ; return 0; }
- EOF
--if { (eval echo configure:2246: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:2292: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- PROTO="$testproto";
- else
-diff -ur tsocks-1.8beta5.orig/configure.in tsocks-1.8beta5.clean/configure.in
---- tsocks-1.8beta5.orig/configure.in Tue Jul 16 00:51:03 2002
-+++ tsocks-1.8beta5.clean/configure.in Sat Mar 27 11:11:02 2004
-@@ -309,6 +309,34 @@
- AC_MSG_RESULT([close(${PROTO})])
- AC_DEFINE_UNQUOTED(CLOSE_SIGNATURE, [${PROTO}])
-
-+
-+dnl Find the correct getpeername prototype on this machine
-+AC_MSG_CHECKING(for correct getpeername prototype)
-+PROTO=
-+PROTO1='int __fd, const struct sockaddr * __name, int *__namelen'
-+PROTO2='int __fd, const struct sockaddr_in * __name, socklen_t *__namelen'
-+PROTO3='int __fd, struct sockaddr * __name, socklen_t *__namelen'
-+PROTO4='int __fd, const struct sockaddr * __name, socklen_t *__namelen'
-+for testproto in "${PROTO1}" \
-+ "${PROTO2}" \
-+ "${PROTO3}" \
-+ "${PROTO4}"
-+do
-+ if test "${PROTO}" = ""; then
-+ AC_TRY_COMPILE([
-+ #include <sys/socket.h>
-+ int getpeername($testproto);
-+ ],,[PROTO="$testproto";],)
-+ fi
-+done
-+if test "${PROTO}" = ""; then
-+ AC_MSG_ERROR("no match found!")
-+fi
-+AC_MSG_RESULT([getpeername(${PROTO})])
-+AC_DEFINE_UNQUOTED(GETPEERNAME_SIGNATURE, [${PROTO}])
-+
-+
-+
- dnl Find the correct poll prototype on this machine
- AC_MSG_CHECKING(for correct poll prototype)
- PROTO=
-Only in tsocks-1.8beta5.clean: ld-pre
-Only in tsocks-1.8beta5.clean: sel
-diff -ur tsocks-1.8beta5.orig/tsocks.c tsocks-1.8beta5.clean/tsocks.c
---- tsocks-1.8beta5.orig/tsocks.c Tue Jul 16 00:50:52 2002
-+++ tsocks-1.8beta5.clean/tsocks.c Sat Mar 27 13:17:58 2004
-@@ -62,6 +62,7 @@
- static int (*realselect)(SELECT_SIGNATURE);
- static int (*realpoll)(POLL_SIGNATURE);
- static int (*realclose)(CLOSE_SIGNATURE);
-+static int (*realgetpeername)(GETPEERNAME_SIGNATURE);
- static struct parsedfile *config;
- static struct connreq *requests = NULL;
- static int suid = 0;
-@@ -73,6 +74,7 @@
- int select(SELECT_SIGNATURE);
- int poll(POLL_SIGNATURE);
- int close(CLOSE_SIGNATURE);
-+int getpeername(GETPEERNAME_SIGNATURE);
- #ifdef USE_SOCKS_DNS
- int res_init(void);
- #endif
-@@ -109,14 +111,15 @@
- /* most programs that are run won't use our services, so */
- /* we do our general initialization on first call */
-
-- /* Determine the logging level */
-- suid = (getuid() != geteuid());
-+ /* Determine the logging level */
-+ suid = (getuid() != geteuid());
-
- #ifndef USE_OLD_DLSYM
- realconnect = dlsym(RTLD_NEXT, "connect");
- realselect = dlsym(RTLD_NEXT, "select");
- realpoll = dlsym(RTLD_NEXT, "poll");
- realclose = dlsym(RTLD_NEXT, "close");
-+ realgetpeername = dlsym(RTLD_NEXT, "getpeername");
- #ifdef USE_SOCKS_DNS
- realresinit = dlsym(RTLD_NEXT, "res_init");
- #endif
-@@ -125,14 +128,15 @@
- realconnect = dlsym(lib, "connect");
- realselect = dlsym(lib, "select");
- realpoll = dlsym(lib, "poll");
-+ realgetpeername = dlsym(lib, "getpeername");
- #ifdef USE_SOCKS_DNS
- realresinit = dlsym(lib, "res_init");
- #endif
-- dlclose(lib);
-+ dlclose(lib);
-
- lib = dlopen(LIBC, RTLD_LAZY);
-- realclose = dlsym(lib, "close");
-- dlclose(lib);
-+ realclose = dlsym(lib, "close");
-+ dlclose(lib);
- #endif
- }
-
-@@ -348,8 +352,10 @@
-
- /* If we're not currently managing any requests we can just
- * leave here */
-- if (!requests)
-+ if (!requests) {
-+ show_msg(MSGDEBUG, "No requests waiting, calling real select\n");
- return(realselect(n, readfds, writefds, exceptfds, timeout));
-+ }
-
- get_environment();
-
-@@ -703,6 +709,50 @@
- return(rc);
- }
-
-+/* If we are not done setting up the connection yet, return
-+ * -1 and ENOTCONN, otherwise call getpeername
-+ *
-+ * This is necessary since some applications, when using non-blocking connect,
-+ * (like ircII) use getpeername() to find out if they are connected already.
-+ *
-+ * This results in races sometimes, where the client sends data to the socket
-+ * before we are done with the socks connection setup. Another solution would
-+ * be to intercept send().
-+ *
-+ * This could be extended to actually set the peername to the peer the
-+ * client application has requested, but not for now.
-+ *
-+ * PP, Sat, 27 Mar 2004 11:30:23 +0100
-+ */
-+int getpeername(GETPEERNAME_SIGNATURE) {
-+ struct connreq *conn;
-+ int rc;
-+
-+ if (realgetpeername == NULL) {
-+ show_msg(MSGERR, "Unresolved symbol: getpeername\n");
-+ return(-1);
-+ }
-+
-+ show_msg(MSGDEBUG, "Call to getpeername for fd %d\n", __fd);
-+
-+
-+ rc = realgetpeername(__fd, __name, __namelen);
-+ if (rc == -1)
-+ return rc;
-+
-+ /* Are we handling this connect? */
-+ if ((conn = find_socks_request(__fd, 1))) {
-+ /* While we are at it, we might was well try to do something useful */
-+ handle_request(conn);
-+
-+ if (conn->state != DONE) {
-+ errno = ENOTCONN;
-+ return(-1);
-+ }
-+ }
-+ return rc;
-+}
-+
- static struct connreq *new_socks_request(int sockid, struct sockaddr_in *connaddr,
- struct sockaddr_in *serveraddr,
- struct serverent *path) {
-@@ -852,7 +902,7 @@
- sizeof(conn->serveraddr));
-
- show_msg(MSGDEBUG, "Connect returned %d, errno is %d\n", rc, errno);
-- if (rc) {
-+ if (rc) {
- if (errno != EINPROGRESS) {
- show_msg(MSGERR, "Error %d attempting to connect to SOCKS "
- "server (%s)\n", errno, strerror(errno));
diff --git a/patches/infiniteloop.patch b/patches/infiniteloop.patch
deleted file mode 100644
index 4b0deb9..0000000
--- a/patches/infiniteloop.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- tsocks-1.8.orig/tsocks.c 2002-03-13 14:02:04.000000000 +0100
-+++ tsocks-1.8/tsocks.c 2004-03-20 11:30:57.000000000 +0100
-@@ -951,14 +951,18 @@
- show_msg(MSGDEBUG, "Reading from server (expecting %d bytes)\n", conn->datalen);
- while ((rc == 0) && (conn->datadone != conn->datalen)) {
- rc = recv(conn->sockid, conn->buffer + conn->datadone,
- conn->datalen - conn->datadone, 0);
- if (rc > 0) {
- conn->datadone += rc;
- rc = 0;
-+ } else if (rc == 0) {
-+ show_msg(MSGDEBUG, "Peer has shutdown but we only read %d of %d bytes.\n",
-+ conn->datadone, conn->datalen);
-+ rc = ENOTCONN; /* ENOTCONN seems like the most fitting error message */
- } else {
- if (errno != EWOULDBLOCK)
- show_msg(MSGDEBUG, "Read failed, %s\n", strerror(errno));
- rc = errno;
- }
- }
diff --git a/patches/localaddresses.patch b/patches/localaddresses.patch
deleted file mode 100644
index d69c7e8..0000000
--- a/patches/localaddresses.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- parser.c.old 2006-04-01 17:54:46.687832056 -0500
-+++ parser.c 2006-04-01 17:55:47.552579208 -0500
-@@ -74,8 +74,10 @@
- }
- fclose(conf);
-
-- /* Always add the 127.0.0.1/255.0.0.0 subnet to local */
-- handle_local(config, 0, "127.0.0.0/255.0.0.0");
-+ if (!config->localnets) {
-+ /* Use 127.0.0.1/255.0.0.0 by default */
-+ handle_local(config, 0, "127.0.0.0/255.0.0.0");
-+ }
-
- /* Check default server */
- check_server(&(config->defaultserver));
diff --git a/patches/tordns.patch b/patches/tordns.patch
deleted file mode 100644
index bf8d79b..0000000
--- a/patches/tordns.patch
+++ /dev/null
@@ -1,11004 +0,0 @@
-diff -rN -U 5 tsocks-1.8/acconfig.h tsocks/acconfig.h
---- tsocks-1.8/acconfig.h 2002-05-18 16:59:38.000000000 +1200
-+++ tsocks/acconfig.h 2005-10-01 17:22:09.000000000 +1200
-@@ -51,10 +51,13 @@
- /* We use strsep which isn't on all machines, but we provide our own
- definition of it for those which don't have it, this causes us to define
- our version */
- #undef DEFINE_STRSEP
-
-+/* Should we resolve DNS entries in a way which works well with tor? */
-+#undef USE_TOR_DNS
-+
- /* Allow the use of DNS names in the socks configuration file for socks
- servers. This doesn't work if socksified DNS is enabled for obvious
- reasons, it also introduces overhead, but people seem to want it */
- #define HOSTNAMES 0
-
-@@ -62,5 +65,16 @@
- in inspectsocks */
- #undef HAVE_GETHOSTBYNAME
-
- /* Location of configuration file (typically /etc/tsocks.conf) */
- #undef CONF_FILE
-+
-+/* Define to indicate the correct signature for gethostbyname_r */
-+#undef HAVE_FUNC_GETHOSTBYNAME_R_6
-+#undef HAVE_FUNC_GETHOSTBYNAME_R_5
-+#undef HAVE_FUNC_GETHOSTBYNAME_R_3
-+
-+/* Signatures for name resolution stuff */
-+#undef GETHOSTBYNAME_SIGNATURE
-+#undef GETADDRINFO_SIGNATURE
-+#undef GETIPNODEBYNAME_SIGNATURE
-+
-diff -rN -U 5 tsocks-1.8/aclocal/ac_c_gethostbyname_r.m4 tsocks/aclocal/ac_c_gethostbyname_r.m4
---- tsocks-1.8/aclocal/ac_c_gethostbyname_r.m4 1970-01-01 12:00:00.000000000 +1200
-+++ tsocks/aclocal/ac_c_gethostbyname_r.m4 2005-09-27 05:55:58.000000000 +1200
-@@ -0,0 +1,132 @@
-+dnl http://autoconf-archive.cryp.to/ax_func_which_gethostbyname_r.html
-+
-+AC_DEFUN([AX_FUNC_WHICH_GETHOSTBYNAME_R], [
-+
-+ AC_LANG_PUSH(C)
-+ AC_MSG_CHECKING([how many arguments gethostbyname_r() takes])
-+
-+ AC_CACHE_VAL(ac_cv_func_which_gethostbyname_r, [
-+
-+################################################################
-+
-+ac_cv_func_which_gethostbyname_r=unknown
-+
-+#
-+# ONE ARGUMENT (sanity check)
-+#
-+
-+# This should fail, as there is no variant of gethostbyname_r() that takes
-+# a single argument. If it actually compiles, then we can assume that
-+# netdb.h is not declaring the function, and the compiler is thereby
-+# assuming an implicit prototype. In which case, we're out of luck.
-+#
-+AC_COMPILE_IFELSE(
-+ AC_LANG_PROGRAM(
-+ [[#include <netdb.h>]],
-+ [[
-+ char *name = "www.gnu.org";
-+ (void)gethostbyname_r(name) /* ; */
-+ ]]),
-+ ac_cv_func_which_gethostbyname_r=no)
-+
-+#
-+# SIX ARGUMENTS
-+# (e.g. Linux)
-+#
-+
-+if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
-+
-+AC_COMPILE_IFELSE(
-+ AC_LANG_PROGRAM(
-+ [[#include <netdb.h>]],
-+ [[
-+ char *name = "www.gnu.org";
-+ struct hostent ret, *retp;
-+ char buf@<:@1024@:>@;
-+ int buflen = 1024;
-+ int my_h_errno;
-+ (void)gethostbyname_r(name, &ret, buf, buflen, &retp, &my_h_errno) /* ; */
-+ ]]),
-+ ac_cv_func_which_gethostbyname_r=six)
-+
-+fi
-+
-+#
-+# FIVE ARGUMENTS
-+# (e.g. Solaris)
-+#
-+
-+if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
-+
-+AC_COMPILE_IFELSE(
-+ AC_LANG_PROGRAM(
-+ [[#include <netdb.h>]],
-+ [[
-+ char *name = "www.gnu.org";
-+ struct hostent ret;
-+ char buf@<:@1024@:>@;
-+ int buflen = 1024;
-+ int my_h_errno;
-+ (void)gethostbyname_r(name, &ret, buf, buflen, &my_h_errno) /* ; */
-+ ]]),
-+ ac_cv_func_which_gethostbyname_r=five)
-+
-+fi
-+
-+#
-+# THREE ARGUMENTS
-+# (e.g. AIX, HP-UX, Tru64)
-+#
-+
-+if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
-+
-+AC_COMPILE_IFELSE(
-+ AC_LANG_PROGRAM(
-+ [[#include <netdb.h>]],
-+ [[
-+ char *name = "www.gnu.org";
-+ struct hostent ret;
-+ struct hostent_data data;
-+ (void)gethostbyname_r(name, &ret, &data) /* ; */
-+ ]]),
-+ ac_cv_func_which_gethostbyname_r=three)
-+
-+fi
-+
-+################################################################
-+
-+]) dnl end AC_CACHE_VAL
-+
-+case "$ac_cv_func_which_gethostbyname_r" in
-+ three)
-+ AC_MSG_RESULT([three])
-+ AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_3)
-+ ;;
-+
-+ five)
-+ AC_MSG_RESULT([five])
-+ AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_5)
-+ ;;
-+
-+ six)
-+ AC_MSG_RESULT([six])
-+ AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_6)
-+ ;;
-+
-+ no)
-+ AC_MSG_RESULT([cannot find function declaration in netdb.h])
-+ ;;
-+
-+ unknown)
-+ AC_MSG_RESULT([can't tell])
-+ ;;
-+
-+ *)
-+ AC_MSG_ERROR([internal error])
-+ ;;
-+esac
-+
-+AC_LANG_POP(C)
-+
-+]) dnl end AC_DEFUN
-+
-diff -rN -U 5 tsocks-1.8/autogen.sh tsocks/autogen.sh
---- tsocks-1.8/autogen.sh 1970-01-01 12:00:00.000000000 +1200
-+++ tsocks/autogen.sh 2005-10-01 17:54:45.000000000 +1200
-@@ -0,0 +1,6 @@
-+#!/bin/sh
-+
-+aclocal -I aclocal
-+autoconf
-+autoheader
-+
-diff -rN -U 5 tsocks-1.8/ChangeLog tsocks/ChangeLog
---- tsocks-1.8/ChangeLog 2002-05-18 17:22:26.000000000 +1200
-+++ tsocks/ChangeLog 2005-10-02 16:03:18.000000000 +1300
-@@ -1,5 +1,9 @@
-+version 1.80tordns - 2005.10.4 bls(a)totalinfosecurity.com
-+ Intercept gethostbyname() and friends, added --tordns
-+ option for better name resolution with Tor.
-+
- version 1.80Beta5 - 2002.?.?? delius(a)progsoc.uts.edu.au
- Intercept close() to fix problems with tsocks and
- kmail
- Add FAQ to distribution
-
-diff -rN -U 5 tsocks-1.8/common.c tsocks/common.c
---- tsocks-1.8/common.c 2002-07-16 10:35:06.000000000 +1200
-+++ tsocks/common.c 2005-10-01 21:37:00.000000000 +1200
-@@ -76,10 +76,31 @@
- }
-
- logstamp = timestamp;
- }
-
-+/* Count the bits in a netmask. This is a little bit buggy; it assumes
-+ all the zeroes are on the right... */
-+
-+int count_netmask_bits(uint32_t mask)
-+{
-+ int i;
-+ int nbits = 0;
-+
-+ for(i=0; i<32; i++) {
-+ if((mask >> i) & 1) {
-+ nbits++;
-+ }
-+ }
-+ mask = ~mask;
-+ mask = ntohl(mask);
-+ if(mask & (mask+1)) {
-+ return -1; /* Noncontiguous */
-+ }
-+ return nbits;
-+}
-+
- void show_msg(int level, char *fmt, ...) {
- va_list ap;
- int saveerr;
- extern char *progname;
- char timestring[20];
-@@ -105,11 +126,11 @@
- strftime(timestring, sizeof(timestring), "%H:%M:%S",
- localtime(×tamp));
- fprintf(logfile, "%s ", timestring);
- }
-
-- fputs(progname, logfile);
-+ // fputs(progname, logfile);
-
- if (logstamp) {
- fprintf(logfile, "(%d)", getpid());
- }
-
-diff -rN -U 5 tsocks-1.8/common.h tsocks/common.h
---- tsocks-1.8/common.h 2002-07-16 10:27:00.000000000 +1200
-+++ tsocks/common.h 2005-09-27 10:48:20.000000000 +1200
-@@ -1,9 +1,10 @@
- /* Common functions provided in common.c */
-
- void set_log_options(int, char *, int);
- void show_msg(int level, char *, ...);
-+int count_netmask_bits(uint32_t mask);
- unsigned int resolve_ip(char *, int, int);
-
- #define MSGNONE -1
- #define MSGERR 0
- #define MSGWARN 1
-diff -rN -U 5 tsocks-1.8/config.h.in tsocks/config.h.in
---- tsocks-1.8/config.h.in 2002-05-18 16:59:42.000000000 +1200
-+++ tsocks/config.h.in 2005-10-01 17:23:20.000000000 +1200
-@@ -1,9 +1,7 @@
--/* config.h.in. Generated automatically from configure.in by autoheader. */
--
--/* Define if you have the ANSI C header files. */
--#undef STDC_HEADERS
-+/* config.h.in. Generated from configure.in by autoheader. */
-+/* accconfig.h -- `autoheader' will generate config.h.in for tsocks . */
-
- /* Allow tsocks to generate messages to stderr when errors are
- encountered, this is really important and should only be disabled if
- you're REALLY sure. It can also be turned off at run time, see the man
- page for details */
-@@ -49,10 +47,18 @@
- /* Work out which function we have for conversion from string IPs to
- numerical ones */
- #undef HAVE_INET_ADDR
- #undef HAVE_INET_ATON
-
-+/* We use strsep which isn't on all machines, but we provide our own
-+definition of it for those which don't have it, this causes us to define
-+our version */
-+#undef DEFINE_STRSEP
-+
-+/* Should we resolve DNS entries in a way which works well with tor? */
-+#undef USE_TOR_DNS
-+
- /* Allow the use of DNS names in the socks configuration file for socks
- servers. This doesn't work if socksified DNS is enabled for obvious
- reasons, it also introduces overhead, but people seem to want it */
- #define HOSTNAMES 0
-
-@@ -61,28 +67,90 @@
- #undef HAVE_GETHOSTBYNAME
-
- /* Location of configuration file (typically /etc/tsocks.conf) */
- #undef CONF_FILE
-
--/* Define if you have the strcspn function. */
-+/* Define to indicate the correct signature for gethostbyname_r */
-+#undef HAVE_FUNC_GETHOSTBYNAME_R_6
-+#undef HAVE_FUNC_GETHOSTBYNAME_R_5
-+#undef HAVE_FUNC_GETHOSTBYNAME_R_3
-+
-+/* Signatures for name resolution stuff */
-+#undef GETHOSTBYNAME_SIGNATURE
-+#undef GETADDRINFO_SIGNATURE
-+#undef GETIPNODEBYNAME_SIGNATURE
-+
-+
-+/* Define to 1 if you have the <inttypes.h> header file. */
-+#undef HAVE_INTTYPES_H
-+
-+/* Define to 1 if you have the `dl' library (-ldl). */
-+#undef HAVE_LIBDL
-+
-+/* Define to 1 if you have the `socket' library (-lsocket). */
-+#undef HAVE_LIBSOCKET
-+
-+/* Define to 1 if you have the <memory.h> header file. */
-+#undef HAVE_MEMORY_H
-+
-+/* Define to 1 if you have the `mmap' function. */
-+#undef HAVE_MMAP
-+
-+/* Define to 1 if you have the <stdint.h> header file. */
-+#undef HAVE_STDINT_H
-+
-+/* Define to 1 if you have the <stdlib.h> header file. */
-+#undef HAVE_STDLIB_H
-+
-+/* Define to 1 if you have the `strcasecmp' function. */
-+#undef HAVE_STRCASECMP
-+
-+/* Define to 1 if you have the `strcspn' function. */
- #undef HAVE_STRCSPN
-
--/* Define if you have the strdup function. */
-+/* Define to 1 if you have the `strdup' function. */
- #undef HAVE_STRDUP
-
--/* Define if you have the strerror function. */
-+/* Define to 1 if you have the `strerror' function. */
- #undef HAVE_STRERROR
-
--/* Define if you have the strspn function. */
-+/* Define to 1 if you have the <strings.h> header file. */
-+#undef HAVE_STRINGS_H
-+
-+/* Define to 1 if you have the <string.h> header file. */
-+#undef HAVE_STRING_H
-+
-+/* Define to 1 if you have the `strncasecmp' function. */
-+#undef HAVE_STRNCASECMP
-+
-+/* Define to 1 if you have the `strspn' function. */
- #undef HAVE_STRSPN
-
--/* Define if you have the strtol function. */
-+/* Define to 1 if you have the `strtol' function. */
- #undef HAVE_STRTOL
-
--/* Define if you have the <unistd.h> header file. */
-+/* Define to 1 if you have the <sys/stat.h> header file. */
-+#undef HAVE_SYS_STAT_H
-+
-+/* Define to 1 if you have the <sys/types.h> header file. */
-+#undef HAVE_SYS_TYPES_H
-+
-+/* Define to 1 if you have the <unistd.h> header file. */
- #undef HAVE_UNISTD_H
-
--/* Define if you have the dl library (-ldl). */
--#undef HAVE_LIBDL
-+/* Define to the address where bug reports for this package should be sent. */
-+#undef PACKAGE_BUGREPORT
-
--/* Define if you have the socket library (-lsocket). */
--#undef HAVE_LIBSOCKET
-+/* Define to the full name of this package. */
-+#undef PACKAGE_NAME
-+
-+/* Define to the full name and version of this package. */
-+#undef PACKAGE_STRING
-+
-+/* Define to the one symbol short name of this package. */
-+#undef PACKAGE_TARNAME
-+
-+/* Define to the version of this package. */
-+#undef PACKAGE_VERSION
-+
-+/* Define to 1 if you have the ANSI C header files. */
-+#undef STDC_HEADERS
-diff -rN -U 5 tsocks-1.8/config.status tsocks/config.status
---- tsocks-1.8/config.status 2002-07-16 10:51:14.000000000 +1200
-+++ tsocks/config.status 1970-01-01 12:00:00.000000000 +1200
-@@ -1,312 +0,0 @@
--#! /bin/sh
--# Generated automatically by configure.
--# Run this file to recreate the current configuration.
--# This directory was configured as follows,
--# on host cardini.homenet:
--#
--# ./configure
--#
--# Compiler output produced by configure, useful for debugging
--# configure, is in ./config.log if it exists.
--
--ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]"
--for ac_option
--do
-- case "$ac_option" in
-- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-- echo "running ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion"
-- exec ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion ;;
-- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-- echo "./config.status generated by autoconf version 2.13"
-- exit 0 ;;
-- -help | --help | --hel | --he | --h)
-- echo "$ac_cs_usage"; exit 0 ;;
-- *) echo "$ac_cs_usage"; exit 1 ;;
-- esac
--done
--
--ac_given_srcdir=.
--ac_given_INSTALL="/usr/bin/install -c"
--
--trap 'rm -fr Makefile config.h conftest*; exit 1' 1 2 15
--
--# Protect against being on the right side of a sed subst in config.status.
--sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g;
-- s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
--/^[ ]*VPATH[ ]*=[^:]*$/d
--
--s%@SHELL@%/bin/sh%g
--s%@CFLAGS@%-g -O2 -Wall%g
--s%@CPPFLAGS@%%g
--s%@CXXFLAGS@%%g
--s%@FFLAGS@%%g
--s%@DEFS@%-DHAVE_CONFIG_H%g
--s%@LDFLAGS@%%g
--s%@LIBS@% -lc%g
--s%@exec_prefix@%${prefix}%g
--s%@prefix@%/usr%g
--s%@program_transform_name@%s,x,x,%g
--s%@bindir@%${exec_prefix}/bin%g
--s%@sbindir@%${exec_prefix}/sbin%g
--s%@libexecdir@%${exec_prefix}/libexec%g
--s%@datadir@%${prefix}/share%g
--s%@sysconfdir@%${prefix}/etc%g
--s%@sharedstatedir@%${prefix}/com%g
--s%@localstatedir@%${prefix}/var%g
--s%@libdir@%/lib%g
--s%@includedir@%${prefix}/include%g
--s%@oldincludedir@%/usr/include%g
--s%@infodir@%${prefix}/info%g
--s%@mandir@%${prefix}/man%g
--s%@host@%i586-pc-linux-gnu%g
--s%@host_alias@%i586-pc-linux-gnu%g
--s%@host_cpu@%i586%g
--s%@host_vendor@%pc%g
--s%@host_os@%linux-gnu%g
--s%@CC@%gcc%g
--s%@INSTALL_PROGRAM@%${INSTALL}%g
--s%@INSTALL_SCRIPT@%${INSTALL_PROGRAM}%g
--s%@INSTALL_DATA@%${INSTALL} -m 644%g
--s%@LN_S@%ln -s%g
--s%@CPP@%gcc -E%g
--s%@FIND@%%g
--s%@TAIL@%%g
--s%@SPECIALLIBS@%-ldl %g
--
--CEOF
--
--# Split the substitutions into bite-sized pieces for seds with
--# small command number limits, like on Digital OSF/1 and HP-UX.
--ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
--ac_file=1 # Number of current file.
--ac_beg=1 # First line for current file.
--ac_end=$ac_max_sed_cmds # Line after last line for current file.
--ac_more_lines=:
--ac_sed_cmds=""
--while $ac_more_lines; do
-- if test $ac_beg -gt 1; then
-- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
-- else
-- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
-- fi
-- if test ! -s conftest.s$ac_file; then
-- ac_more_lines=false
-- rm -f conftest.s$ac_file
-- else
-- if test -z "$ac_sed_cmds"; then
-- ac_sed_cmds="sed -f conftest.s$ac_file"
-- else
-- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
-- fi
-- ac_file=`expr $ac_file + 1`
-- ac_beg=$ac_end
-- ac_end=`expr $ac_end + $ac_max_sed_cmds`
-- fi
--done
--if test -z "$ac_sed_cmds"; then
-- ac_sed_cmds=cat
--fi
--
--CONFIG_FILES=${CONFIG_FILES-"Makefile"}
--for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-- case "$ac_file" in
-- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-- *) ac_file_in="${ac_file}.in" ;;
-- esac
--
-- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
--
-- # Remove last slash and all that follows it. Not all systems have dirname.
-- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-- # The file is in a subdirectory.
-- test ! -d "$ac_dir" && mkdir "$ac_dir"
-- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
-- # A "../" for each directory in $ac_dir_suffix.
-- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
-- else
-- ac_dir_suffix= ac_dots=
-- fi
--
-- case "$ac_given_srcdir" in
-- .) srcdir=.
-- if test -z "$ac_dots"; then top_srcdir=.
-- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
-- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
-- *) # Relative path.
-- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
-- top_srcdir="$ac_dots$ac_given_srcdir" ;;
-- esac
--
-- case "$ac_given_INSTALL" in
-- [/$]*) INSTALL="$ac_given_INSTALL" ;;
-- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
-- esac
--
-- echo creating "$ac_file"
-- rm -f "$ac_file"
-- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
-- case "$ac_file" in
-- *Makefile*) ac_comsub="1i\\
--# $configure_input" ;;
-- *) ac_comsub= ;;
-- esac
--
-- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-- sed -e "$ac_comsub
--s%@configure_input@%$configure_input%g
--s%@srcdir@%$srcdir%g
--s%@top_srcdir@%$top_srcdir%g
--s%@INSTALL@%$INSTALL%g
--" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
--fi; done
--rm -f conftest.s*
--
--# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
--# NAME is the cpp macro being defined and VALUE is the value it is being given.
--#
--# ac_d sets the value in "#define NAME VALUE" lines.
--ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
--ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
--ac_dC='\3'
--ac_dD='%g'
--# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
--ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
--ac_uB='\([ ]\)%\1#\2define\3'
--ac_uC=' '
--ac_uD='\4%g'
--# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
--ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
--ac_eB='$%\1#\2define\3'
--ac_eC=' '
--ac_eD='%g'
--
--if test "${CONFIG_HEADERS+set}" != set; then
-- CONFIG_HEADERS="config.h"
--fi
--for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
-- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-- case "$ac_file" in
-- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-- *) ac_file_in="${ac_file}.in" ;;
-- esac
--
-- echo creating $ac_file
--
-- rm -f conftest.frag conftest.in conftest.out
-- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-- cat $ac_file_inputs > conftest.in
--
-- cat > conftest.frag <<CEOF
--${ac_dA}CONF_FILE${ac_dB}CONF_FILE${ac_dC}"/etc/tsocks.conf"${ac_dD}
--${ac_uA}CONF_FILE${ac_uB}CONF_FILE${ac_uC}"/etc/tsocks.conf"${ac_uD}
--${ac_eA}CONF_FILE${ac_eB}CONF_FILE${ac_eC}"/etc/tsocks.conf"${ac_eD}
--${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD}
--${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD}
--${ac_eA}STDC_HEADERS${ac_eB}STDC_HEADERS${ac_eC}1${ac_eD}
--${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
--${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
--${ac_eA}HAVE_UNISTD_H${ac_eB}HAVE_UNISTD_H${ac_eC}1${ac_eD}
--${ac_dA}HAVE_STRCSPN${ac_dB}HAVE_STRCSPN${ac_dC}1${ac_dD}
--${ac_uA}HAVE_STRCSPN${ac_uB}HAVE_STRCSPN${ac_uC}1${ac_uD}
--${ac_eA}HAVE_STRCSPN${ac_eB}HAVE_STRCSPN${ac_eC}1${ac_eD}
--CEOF
-- sed -f conftest.frag conftest.in > conftest.out
-- rm -f conftest.in
-- mv conftest.out conftest.in
--
-- cat > conftest.frag <<CEOF
--${ac_dA}HAVE_STRDUP${ac_dB}HAVE_STRDUP${ac_dC}1${ac_dD}
--${ac_uA}HAVE_STRDUP${ac_uB}HAVE_STRDUP${ac_uC}1${ac_uD}
--${ac_eA}HAVE_STRDUP${ac_eB}HAVE_STRDUP${ac_eC}1${ac_eD}
--${ac_dA}HAVE_STRERROR${ac_dB}HAVE_STRERROR${ac_dC}1${ac_dD}
--${ac_uA}HAVE_STRERROR${ac_uB}HAVE_STRERROR${ac_uC}1${ac_uD}
--${ac_eA}HAVE_STRERROR${ac_eB}HAVE_STRERROR${ac_eC}1${ac_eD}
--${ac_dA}HAVE_STRSPN${ac_dB}HAVE_STRSPN${ac_dC}1${ac_dD}
--${ac_uA}HAVE_STRSPN${ac_uB}HAVE_STRSPN${ac_uC}1${ac_uD}
--${ac_eA}HAVE_STRSPN${ac_eB}HAVE_STRSPN${ac_eC}1${ac_eD}
--${ac_dA}HAVE_STRTOL${ac_dB}HAVE_STRTOL${ac_dC}1${ac_dD}
--${ac_uA}HAVE_STRTOL${ac_uB}HAVE_STRTOL${ac_uC}1${ac_uD}
--${ac_eA}HAVE_STRTOL${ac_eB}HAVE_STRTOL${ac_eC}1${ac_eD}
--CEOF
-- sed -f conftest.frag conftest.in > conftest.out
-- rm -f conftest.in
-- mv conftest.out conftest.in
--
-- cat > conftest.frag <<CEOF
--${ac_dA}HAVE_INET_ATON${ac_dB}HAVE_INET_ATON${ac_dC}1${ac_dD}
--${ac_uA}HAVE_INET_ATON${ac_uB}HAVE_INET_ATON${ac_uC}1${ac_uD}
--${ac_eA}HAVE_INET_ATON${ac_eB}HAVE_INET_ATON${ac_eC}1${ac_eD}
--${ac_dA}HAVE_GETHOSTBYNAME${ac_dB}HAVE_GETHOSTBYNAME${ac_dC}1${ac_dD}
--${ac_uA}HAVE_GETHOSTBYNAME${ac_uB}HAVE_GETHOSTBYNAME${ac_uC}1${ac_uD}
--${ac_eA}HAVE_GETHOSTBYNAME${ac_eB}HAVE_GETHOSTBYNAME${ac_eC}1${ac_eD}
--${ac_dA}HAVE_LIBDL${ac_dB}HAVE_LIBDL${ac_dC}1${ac_dD}
--${ac_uA}HAVE_LIBDL${ac_uB}HAVE_LIBDL${ac_uC}1${ac_uD}
--${ac_eA}HAVE_LIBDL${ac_eB}HAVE_LIBDL${ac_eC}1${ac_eD}
--${ac_dA}ALLOW_ENV_CONFIG${ac_dB}ALLOW_ENV_CONFIG${ac_dC}1${ac_dD}
--${ac_uA}ALLOW_ENV_CONFIG${ac_uB}ALLOW_ENV_CONFIG${ac_uC}1${ac_uD}
--${ac_eA}ALLOW_ENV_CONFIG${ac_eB}ALLOW_ENV_CONFIG${ac_eC}1${ac_eD}
--CEOF
-- sed -f conftest.frag conftest.in > conftest.out
-- rm -f conftest.in
-- mv conftest.out conftest.in
--
-- cat > conftest.frag <<CEOF
--${ac_dA}ALLOW_MSG_OUTPUT${ac_dB}ALLOW_MSG_OUTPUT${ac_dC}1${ac_dD}
--${ac_uA}ALLOW_MSG_OUTPUT${ac_uB}ALLOW_MSG_OUTPUT${ac_uC}1${ac_uD}
--${ac_eA}ALLOW_MSG_OUTPUT${ac_eB}ALLOW_MSG_OUTPUT${ac_eC}1${ac_eD}
--${ac_dA}HOSTNAMES${ac_dB}HOSTNAMES${ac_dC}1${ac_dD}
--${ac_uA}HOSTNAMES${ac_uB}HOSTNAMES${ac_uC}1${ac_uD}
--${ac_eA}HOSTNAMES${ac_eB}HOSTNAMES${ac_eC}1${ac_eD}
--${ac_dA}SELECT_SIGNATURE${ac_dB}SELECT_SIGNATURE${ac_dC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_dD}
--${ac_uA}SELECT_SIGNATURE${ac_uB}SELECT_SIGNATURE${ac_uC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_uD}
--${ac_eA}SELECT_SIGNATURE${ac_eB}SELECT_SIGNATURE${ac_eC}int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout${ac_eD}
--${ac_dA}CONNECT_SIGNATURE${ac_dB}CONNECT_SIGNATURE${ac_dC}int __fd, const struct sockaddr_in * __addr, socklen_t __len${ac_dD}
--${ac_uA}CONNECT_SIGNATURE${ac_uB}CONNECT_SIGNATURE${ac_uC}int __fd, const struct sockaddr_in * __addr, socklen_t __len${ac_uD}
--${ac_eA}CONNECT_SIGNATURE${ac_eB}CONNECT_SIGNATURE${ac_eC}int __fd, const struct sockaddr_in * __addr, socklen_t __len${ac_eD}
--CEOF
-- sed -f conftest.frag conftest.in > conftest.out
-- rm -f conftest.in
-- mv conftest.out conftest.in
--
-- cat > conftest.frag <<CEOF
--${ac_dA}CONNECT_SOCKARG${ac_dB}CONNECT_SOCKARG${ac_dC}struct sockaddr_in *${ac_dD}
--${ac_uA}CONNECT_SOCKARG${ac_uB}CONNECT_SOCKARG${ac_uC}struct sockaddr_in *${ac_uD}
--${ac_eA}CONNECT_SOCKARG${ac_eB}CONNECT_SOCKARG${ac_eC}struct sockaddr_in *${ac_eD}
--${ac_dA}CLOSE_SIGNATURE${ac_dB}CLOSE_SIGNATURE${ac_dC}int fd${ac_dD}
--${ac_uA}CLOSE_SIGNATURE${ac_uB}CLOSE_SIGNATURE${ac_uC}int fd${ac_uD}
--${ac_eA}CLOSE_SIGNATURE${ac_eB}CLOSE_SIGNATURE${ac_eC}int fd${ac_eD}
--${ac_dA}POLL_SIGNATURE${ac_dB}POLL_SIGNATURE${ac_dC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_dD}
--${ac_uA}POLL_SIGNATURE${ac_uB}POLL_SIGNATURE${ac_uC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_uD}
--${ac_eA}POLL_SIGNATURE${ac_eB}POLL_SIGNATURE${ac_eC}struct pollfd *ufds, unsigned long nfds, int timeout${ac_eD}
--s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
--CEOF
-- sed -f conftest.frag conftest.in > conftest.out
-- rm -f conftest.in
-- mv conftest.out conftest.in
--
-- rm -f conftest.frag conftest.h
-- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
-- cat conftest.in >> conftest.h
-- rm -f conftest.in
-- if cmp -s $ac_file conftest.h 2>/dev/null; then
-- echo "$ac_file is unchanged"
-- rm -f conftest.h
-- else
-- # Remove last slash and all that follows it. Not all systems have dirname.
-- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-- # The file is in a subdirectory.
-- test ! -d "$ac_dir" && mkdir "$ac_dir"
-- fi
-- rm -f $ac_file
-- mv conftest.h $ac_file
-- fi
--fi; done
--
--
--
--exit 0
-diff -rN -U 5 tsocks-1.8/configure tsocks/configure
---- tsocks-1.8/configure 2002-07-16 10:51:08.000000000 +1200
-+++ tsocks/configure 2005-10-02 21:57:17.000000000 +1300
-@@ -1,53 +1,345 @@
- #! /bin/sh
--
- # Guess values for system-dependent variables and create Makefiles.
--# Generated automatically using autoconf version 2.13
--# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-+# Generated by GNU Autoconf 2.59.
- #
-+# Copyright (C) 2003 Free Software Foundation, Inc.
- # This configure script is free software; the Free Software Foundation
- # gives unlimited permission to copy, distribute and modify it.
-+## --------------------- ##
-+## M4sh Initialization. ##
-+## --------------------- ##
-+
-+# Be Bourne compatible
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-+ emulate sh
-+ NULLCMD=:
-+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '${1+"$@"}'='"$@"'
-+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-+ set -o posix
-+fi
-+DUALCASE=1; export DUALCASE # for MKS sh
-+
-+# Support unset when possible.
-+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-+ as_unset=unset
-+else
-+ as_unset=false
-+fi
-+
-+
-+# Work around bugs in pre-3.0 UWIN ksh.
-+$as_unset ENV MAIL MAILPATH
-+PS1='$ '
-+PS2='> '
-+PS4='+ '
-+
-+# NLS nuisances.
-+for as_var in \
-+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-+ LC_TELEPHONE LC_TIME
-+do
-+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-+ eval $as_var=C; export $as_var
-+ else
-+ $as_unset $as_var
-+ fi
-+done
-+
-+# Required to use basename.
-+if expr a : '\(a\)' >/dev/null 2>&1; then
-+ as_expr=expr
-+else
-+ as_expr=false
-+fi
-+
-+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
-+ as_basename=basename
-+else
-+ as_basename=false
-+fi
-+
-+
-+# Name of the executable.
-+as_me=`$as_basename "$0" ||
-+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-+ X"$0" : 'X\(//\)$' \| \
-+ X"$0" : 'X\(/\)$' \| \
-+ . : '\(.\)' 2>/dev/null ||
-+echo X/"$0" |
-+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-+ /^X\/\(\/\/\)$/{ s//\1/; q; }
-+ /^X\/\(\/\).*/{ s//\1/; q; }
-+ s/.*/./; q'`
-+
-+
-+# PATH needs CR, and LINENO needs CR and PATH.
-+# Avoid depending upon Character Ranges.
-+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-+as_cr_digits='0123456789'
-+as_cr_alnum=$as_cr_Letters$as_cr_digits
-+
-+# The user is always right.
-+if test "${PATH_SEPARATOR+set}" != set; then
-+ echo "#! /bin/sh" >conf$$.sh
-+ echo "exit 0" >>conf$$.sh
-+ chmod +x conf$$.sh
-+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-+ PATH_SEPARATOR=';'
-+ else
-+ PATH_SEPARATOR=:
-+ fi
-+ rm -f conf$$.sh
-+fi
-+
-+
-+ as_lineno_1=$LINENO
-+ as_lineno_2=$LINENO
-+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-+ test "x$as_lineno_1" != "x$as_lineno_2" &&
-+ test "x$as_lineno_3" = "x$as_lineno_2" || {
-+ # Find who we are. Look in the path if we contain no path at all
-+ # relative or not.
-+ case $0 in
-+ *[\\/]* ) as_myself=$0 ;;
-+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-+done
-+
-+ ;;
-+ esac
-+ # We did not find ourselves, most probably we were run as `sh COMMAND'
-+ # in which case we are not to be found in the path.
-+ if test "x$as_myself" = x; then
-+ as_myself=$0
-+ fi
-+ if test ! -f "$as_myself"; then
-+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
-+ { (exit 1); exit 1; }; }
-+ fi
-+ case $CONFIG_SHELL in
-+ '')
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for as_base in sh bash ksh sh5; do
-+ case $as_dir in
-+ /*)
-+ if ("$as_dir/$as_base" -c '
-+ as_lineno_1=$LINENO
-+ as_lineno_2=$LINENO
-+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-+ test "x$as_lineno_1" != "x$as_lineno_2" &&
-+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
-+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-+ CONFIG_SHELL=$as_dir/$as_base
-+ export CONFIG_SHELL
-+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-+ fi;;
-+ esac
-+ done
-+done
-+;;
-+ esac
-+
-+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-+ # uniformly replaced by the line number. The first 'sed' inserts a
-+ # line-number line before each line; the second 'sed' does the real
-+ # work. The second script uses 'N' to pair each line-number line
-+ # with the numbered line, and appends trailing '-' during
-+ # substitution so that $LINENO is not a special case at line end.
-+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
-+ sed '=' <$as_myself |
-+ sed '
-+ N
-+ s,$,-,
-+ : loop
-+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
-+ t loop
-+ s,-$,,
-+ s,^['$as_cr_digits']*\n,,
-+ ' >$as_me.lineno &&
-+ chmod +x $as_me.lineno ||
-+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-+ { (exit 1); exit 1; }; }
-+
-+ # Don't try to exec as it changes $[0], causing all sort of problems
-+ # (the dirname of $[0] is not the place where we might find the
-+ # original and so on. Autoconf is especially sensible to this).
-+ . ./$as_me.lineno
-+ # Exit status is that of the last command.
-+ exit
-+}
-+
-+
-+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-+ *c*,-n*) ECHO_N= ECHO_C='
-+' ECHO_T=' ' ;;
-+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-+esac
-+
-+if expr a : '\(a\)' >/dev/null 2>&1; then
-+ as_expr=expr
-+else
-+ as_expr=false
-+fi
-+
-+rm -f conf$$ conf$$.exe conf$$.file
-+echo >conf$$.file
-+if ln -s conf$$.file conf$$ 2>/dev/null; then
-+ # We could just check for DJGPP; but this test a) works b) is more generic
-+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-+ if test -f conf$$.exe; then
-+ # Don't use ln at all; we don't have any links
-+ as_ln_s='cp -p'
-+ else
-+ as_ln_s='ln -s'
-+ fi
-+elif ln conf$$.file conf$$ 2>/dev/null; then
-+ as_ln_s=ln
-+else
-+ as_ln_s='cp -p'
-+fi
-+rm -f conf$$ conf$$.exe conf$$.file
-+
-+if mkdir -p . 2>/dev/null; then
-+ as_mkdir_p=:
-+else
-+ test -d ./-p && rmdir ./-p
-+ as_mkdir_p=false
-+fi
-+
-+as_executable_p="test -f"
-+
-+# Sed expression to map a string onto a valid CPP name.
-+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-+
-+# Sed expression to map a string onto a valid variable name.
-+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-+
-+
-+# IFS
-+# We need space, tab and new line, in precisely that order.
-+as_nl='
-+'
-+IFS=" $as_nl"
-+
-+# CDPATH.
-+$as_unset CDPATH
-+
-
--# Defaults:
--ac_help=
-+# Name of the host.
-+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-+# so uname gets run too.
-+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-+
-+exec 6>&1
-+
-+#
-+# Initializations.
-+#
- ac_default_prefix=/usr/local
--# Any additions from configure.in:
-+ac_config_libobj_dir=.
-+cross_compiling=no
-+subdirs=
-+MFLAGS=
-+MAKEFLAGS=
-+SHELL=${CONFIG_SHELL-/bin/sh}
-+
-+# Maximum number of lines to put in a shell here document.
-+# This variable seems obsolete. It should probably be removed, and
-+# only ac_max_sed_lines should be used.
-+: ${ac_max_here_lines=38}
-+
-+# Identity of this package.
-+PACKAGE_NAME=
-+PACKAGE_TARNAME=
-+PACKAGE_VERSION=
-+PACKAGE_STRING=
-+PACKAGE_BUGREPORT=
-+
-+ac_unique_file="saveme.c"
- ac_default_prefix=/usr
--ac_help="$ac_help
-- --enable-socksdns force dns lookups to use tcp "
--ac_help="$ac_help
-- --disable-debug disable ALL error messages from tsocks "
--ac_help="$ac_help
-- --enable-oldmethod use the old method to override connect "
--ac_help="$ac_help
-- --disable-hostnames disable hostname lookups for socks servers "
--ac_help="$ac_help
-- --disable-envconf do not allow TSOCKS_CONF_FILE to specify configuration file "
--ac_help="$ac_help
-- --with-conf=<file> location of configuration file (/etc/tsocks.conf default)"
-+# Factoring default headers for most tests.
-+ac_includes_default="\
-+#include <stdio.h>
-+#if HAVE_SYS_TYPES_H
-+# include <sys/types.h>
-+#endif
-+#if HAVE_SYS_STAT_H
-+# include <sys/stat.h>
-+#endif
-+#if STDC_HEADERS
-+# include <stdlib.h>
-+# include <stddef.h>
-+#else
-+# if HAVE_STDLIB_H
-+# include <stdlib.h>
-+# endif
-+#endif
-+#if HAVE_STRING_H
-+# if !STDC_HEADERS && HAVE_MEMORY_H
-+# include <memory.h>
-+# endif
-+# include <string.h>
-+#endif
-+#if HAVE_STRINGS_H
-+# include <strings.h>
-+#endif
-+#if HAVE_INTTYPES_H
-+# include <inttypes.h>
-+#else
-+# if HAVE_STDINT_H
-+# include <stdint.h>
-+# endif
-+#endif
-+#if HAVE_UNISTD_H
-+# include <unistd.h>
-+#endif"
-+
-+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S CPP EGREP DEADPOOL_O FIND TAIL SPECIALLIBS LIBOBJS LTLIBOBJS'
-+ac_subst_files=''
-
- # Initialize some variables set by options.
-+ac_init_help=
-+ac_init_version=false
- # The variables have the same names as the options, with
- # dashes changed to underlines.
--build=NONE
--cache_file=./config.cache
-+cache_file=/dev/null
- exec_prefix=NONE
--host=NONE
- no_create=
--nonopt=NONE
- no_recursion=
- prefix=NONE
- program_prefix=NONE
- program_suffix=NONE
- program_transform_name=s,x,x,
- silent=
- site=
- srcdir=
--target=NONE
- verbose=
- x_includes=NONE
- x_libraries=NONE
-+
-+# Installation directory options.
-+# These are left unexpanded so users can "make install exec_prefix=/foo"
-+# and all the variables that are supposed to be based on exec_prefix
-+# by default will actually change.
-+# Use braces instead of parens because sh, perl, etc. also accept them.
- bindir='${exec_prefix}/bin'
- sbindir='${exec_prefix}/sbin'
- libexecdir='${exec_prefix}/libexec'
- datadir='${prefix}/share'
- sysconfdir='${prefix}/etc'
-@@ -57,199 +349,143 @@
- includedir='${prefix}/include'
- oldincludedir='/usr/include'
- infodir='${prefix}/info'
- mandir='${prefix}/man'
-
--# Initialize some other variables.
--subdirs=
--MFLAGS= MAKEFLAGS=
--SHELL=${CONFIG_SHELL-/bin/sh}
--# Maximum number of lines to put in a shell here document.
--ac_max_here_lines=12
--
- ac_prev=
- for ac_option
- do
--
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
-- case "$ac_option" in
-- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-- *) ac_optarg= ;;
-- esac
-+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
-- case "$ac_option" in
-+ case $ac_option in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-- bindir="$ac_optarg" ;;
-+ bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
-- ac_prev=build ;;
-+ ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-- build="$ac_optarg" ;;
-+ build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-- cache_file="$ac_optarg" ;;
-+ cache_file=$ac_optarg ;;
-+
-+ --config-cache | -C)
-+ cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
-- datadir="$ac_optarg" ;;
-+ datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
-- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
-+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
-- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
-- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-- fi
-- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-- eval "enable_${ac_feature}=no" ;;
-+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-+ { (exit 1); exit 1; }; }
-+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-+ eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
-- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
-+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
-- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
-- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-- fi
-- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-- case "$ac_option" in
-- *=*) ;;
-+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-+ { (exit 1); exit 1; }; }
-+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-+ case $ac_option in
-+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
-- eval "enable_${ac_feature}='$ac_optarg'" ;;
-+ eval "enable_$ac_feature='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
-- exec_prefix="$ac_optarg" ;;
-+ exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
-- -help | --help | --hel | --he)
-- # Omit some internal or obsolete options to make the list less imposing.
-- # This message is too long to be a string in the A/UX 3.1 sh.
-- cat << EOF
--Usage: configure [options] [host]
--Options: [defaults in brackets after descriptions]
--Configuration:
-- --cache-file=FILE cache test results in FILE
-- --help print this message
-- --no-create do not create output files
-- --quiet, --silent do not print \`checking...' messages
-- --version print the version of autoconf that created configure
--Directory and file names:
-- --prefix=PREFIX install architecture-independent files in PREFIX
-- [$ac_default_prefix]
-- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
-- [same as prefix]
-- --bindir=DIR user executables in DIR [EPREFIX/bin]
-- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
-- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
-- --datadir=DIR read-only architecture-independent data in DIR
-- [PREFIX/share]
-- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
-- --sharedstatedir=DIR modifiable architecture-independent data in DIR
-- [PREFIX/com]
-- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
-- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
-- --includedir=DIR C header files in DIR [PREFIX/include]
-- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
-- --infodir=DIR info documentation in DIR [PREFIX/info]
-- --mandir=DIR man documentation in DIR [PREFIX/man]
-- --srcdir=DIR find the sources in DIR [configure dir or ..]
-- --program-prefix=PREFIX prepend PREFIX to installed program names
-- --program-suffix=SUFFIX append SUFFIX to installed program names
-- --program-transform-name=PROGRAM
-- run sed PROGRAM on installed program names
--EOF
-- cat << EOF
--Host type:
-- --build=BUILD configure for building on BUILD [BUILD=HOST]
-- --host=HOST configure for HOST [guessed]
-- --target=TARGET configure for TARGET [TARGET=HOST]
--Features and packages:
-- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
-- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
-- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
-- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
-- --x-includes=DIR X include files are in DIR
-- --x-libraries=DIR X library files are in DIR
--EOF
-- if test -n "$ac_help"; then
-- echo "--enable and --with options recognized:$ac_help"
-- fi
-- exit 0 ;;
-+ -help | --help | --hel | --he | -h)
-+ ac_init_help=long ;;
-+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-+ ac_init_help=recursive ;;
-+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-+ ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
-- ac_prev=host ;;
-+ ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
-- host="$ac_optarg" ;;
-+ host_alias=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
-- includedir="$ac_optarg" ;;
-+ includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-- infodir="$ac_optarg" ;;
-+ infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
-- libdir="$ac_optarg" ;;
-+ libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
-- libexecdir="$ac_optarg" ;;
-+ libexecdir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
-- localstatedir="$ac_optarg" ;;
-+ localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-- mandir="$ac_optarg" ;;
-+ mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-- | --no-cr | --no-c)
-+ | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-@@ -259,30 +495,30 @@
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-- oldincludedir="$ac_optarg" ;;
-+ oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-- prefix="$ac_optarg" ;;
-+ prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-- program_prefix="$ac_optarg" ;;
-+ program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-- program_suffix="$ac_optarg" ;;
-+ program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
-@@ -295,305 +531,842 @@
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
-- program_transform_name="$ac_optarg" ;;
-+ program_transform_name=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
-- sbindir="$ac_optarg" ;;
-+ sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
-- sharedstatedir="$ac_optarg" ;;
-+ sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
-- site="$ac_optarg" ;;
-+ site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-- srcdir="$ac_optarg" ;;
-+ srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-- sysconfdir="$ac_optarg" ;;
-+ sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
-- ac_prev=target ;;
-+ ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-- target="$ac_optarg" ;;
-+ target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
-- -version | --version | --versio | --versi | --vers)
-- echo "configure generated by autoconf version 2.13"
-- exit 0 ;;
-+ -version | --version | --versio | --versi | --vers | -V)
-+ ac_init_version=: ;;
-
- -with-* | --with-*)
-- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
-+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
-- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
-- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-- fi
-+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ { echo "$as_me: error: invalid package name: $ac_package" >&2
-+ { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
-- case "$ac_option" in
-- *=*) ;;
-+ case $ac_option in
-+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
-- eval "with_${ac_package}='$ac_optarg'" ;;
-+ eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
-- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
-+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
-- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
-- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-- fi
-- ac_package=`echo $ac_package| sed 's/-/_/g'`
-- eval "with_${ac_package}=no" ;;
-+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ { echo "$as_me: error: invalid package name: $ac_package" >&2
-+ { (exit 1); exit 1; }; }
-+ ac_package=`echo $ac_package | sed 's/-/_/g'`
-+ eval "with_$ac_package=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-- x_includes="$ac_optarg" ;;
-+ x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-- x_libraries="$ac_optarg" ;;
-+ x_libraries=$ac_optarg ;;
-
-- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
-+ -*) { echo "$as_me: error: unrecognized option: $ac_option
-+Try \`$0 --help' for more information." >&2
-+ { (exit 1); exit 1; }; }
- ;;
-
-+ *=*)
-+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-+ # Reject names that are not valid shell variable names.
-+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-+ { (exit 1); exit 1; }; }
-+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
-+ eval "$ac_envvar='$ac_optarg'"
-+ export $ac_envvar ;;
-+
- *)
-- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
-- echo "configure: warning: $ac_option: invalid host type" 1>&2
-- fi
-- if test "x$nonopt" != xNONE; then
-- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
-- fi
-- nonopt="$ac_option"
-+ # FIXME: should be removed in autoconf 3.0.
-+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
- done
-
- if test -n "$ac_prev"; then
-- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
--fi
--
--trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
--
--# File descriptor usage:
--# 0 standard input
--# 1 file creation
--# 2 errors and warnings
--# 3 some systems may open it to /dev/tty
--# 4 used on the Kubota Titan
--# 6 checking for... messages and results
--# 5 compiler messages saved in config.log
--if test "$silent" = yes; then
-- exec 6>/dev/null
--else
-- exec 6>&1
-+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-+ { echo "$as_me: error: missing argument to $ac_option" >&2
-+ { (exit 1); exit 1; }; }
- fi
--exec 5>./config.log
-
--echo "\
--This file contains any messages produced by compilers while
--running configure, to aid debugging if configure makes a mistake.
--" 1>&5
-+# Be sure to have absolute paths.
-+for ac_var in exec_prefix prefix
-+do
-+ eval ac_val=$`echo $ac_var`
-+ case $ac_val in
-+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
-+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-+ { (exit 1); exit 1; }; };;
-+ esac
-+done
-
--# Strip out --no-create and --no-recursion so they do not pile up.
--# Also quote any args containing shell metacharacters.
--ac_configure_args=
--for ac_arg
-+# Be sure to have absolute paths.
-+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
-+ localstatedir libdir includedir oldincludedir infodir mandir
- do
-- case "$ac_arg" in
-- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-- | --no-cr | --no-c) ;;
-- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
-- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
-+ eval ac_val=$`echo $ac_var`
-+ case $ac_val in
-+ [\\/$]* | ?:[\\/]* ) ;;
-+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-+ { (exit 1); exit 1; }; };;
- esac
- done
-
--# NLS nuisances.
--# Only set these to C if already set. These must not be set unconditionally
--# because not all systems understand e.g. LANG=C (notably SCO).
--# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
--# Non-C LC_CTYPE values break the ctype check.
--if test "${LANG+set}" = set; then LANG=C; export LANG; fi
--if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
--if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
--if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-+# There might be people who depend on the old broken behavior: `$host'
-+# used to hold the argument of --host etc.
-+# FIXME: To remove some day.
-+build=$build_alias
-+host=$host_alias
-+target=$target_alias
-+
-+# FIXME: To remove some day.
-+if test "x$host_alias" != x; then
-+ if test "x$build_alias" = x; then
-+ cross_compiling=maybe
-+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-+ If a cross compiler is detected then cross compile mode will be used." >&2
-+ elif test "x$build_alias" != "x$host_alias"; then
-+ cross_compiling=yes
-+ fi
-+fi
-
--# confdefs.h avoids OS command line length limits that DEFS can exceed.
--rm -rf conftest* confdefs.h
--# AIX cpp loses on an empty file, so make sure it contains at least a newline.
--echo > confdefs.h
-+ac_tool_prefix=
-+test -n "$host_alias" && ac_tool_prefix=$host_alias-
-+
-+test "$silent" = yes && exec 6>/dev/null
-
--# A filename unique to this package, relative to the directory that
--# configure is in, which we can look for to find out if srcdir is correct.
--ac_unique_file=saveme.c
-
- # Find the source files, if location was not specified.
- if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
-- ac_prog=$0
-- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
-- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
-+ ac_confdir=`(dirname "$0") 2>/dev/null ||
-+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$0" : 'X\(//\)[^/]' \| \
-+ X"$0" : 'X\(//\)$' \| \
-+ X"$0" : 'X\(/\)' \| \
-+ . : '\(.\)' 2>/dev/null ||
-+echo X"$0" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-+ /^X\(\/\/\)$/{ s//\1/; q; }
-+ /^X\(\/\).*/{ s//\1/; q; }
-+ s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
- else
- ac_srcdir_defaulted=no
- fi
- if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
-- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
-+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
-+ { (exit 1); exit 1; }; }
- else
-- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
-+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-+ { (exit 1); exit 1; }; }
- fi
- fi
--srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
-+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
-+ { (exit 1); exit 1; }; }
-+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-+ac_env_build_alias_set=${build_alias+set}
-+ac_env_build_alias_value=$build_alias
-+ac_cv_env_build_alias_set=${build_alias+set}
-+ac_cv_env_build_alias_value=$build_alias
-+ac_env_host_alias_set=${host_alias+set}
-+ac_env_host_alias_value=$host_alias
-+ac_cv_env_host_alias_set=${host_alias+set}
-+ac_cv_env_host_alias_value=$host_alias
-+ac_env_target_alias_set=${target_alias+set}
-+ac_env_target_alias_value=$target_alias
-+ac_cv_env_target_alias_set=${target_alias+set}
-+ac_cv_env_target_alias_value=$target_alias
-+ac_env_CC_set=${CC+set}
-+ac_env_CC_value=$CC
-+ac_cv_env_CC_set=${CC+set}
-+ac_cv_env_CC_value=$CC
-+ac_env_CFLAGS_set=${CFLAGS+set}
-+ac_env_CFLAGS_value=$CFLAGS
-+ac_cv_env_CFLAGS_set=${CFLAGS+set}
-+ac_cv_env_CFLAGS_value=$CFLAGS
-+ac_env_LDFLAGS_set=${LDFLAGS+set}
-+ac_env_LDFLAGS_value=$LDFLAGS
-+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-+ac_cv_env_LDFLAGS_value=$LDFLAGS
-+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-+ac_env_CPPFLAGS_value=$CPPFLAGS
-+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-+ac_env_CPP_set=${CPP+set}
-+ac_env_CPP_value=$CPP
-+ac_cv_env_CPP_set=${CPP+set}
-+ac_cv_env_CPP_value=$CPP
-+
-+#
-+# Report the --help message.
-+#
-+if test "$ac_init_help" = "long"; then
-+ # Omit some internal or obsolete options to make the list less imposing.
-+ # This message is too long to be a string in the A/UX 3.1 sh.
-+ cat <<_ACEOF
-+\`configure' configures this package to adapt to many kinds of systems.
-+
-+Usage: $0 [OPTION]... [VAR=VALUE]...
-+
-+To assign environment variables (e.g., CC, CFLAGS...), specify them as
-+VAR=VALUE. See below for descriptions of some of the useful variables.
-+
-+Defaults for the options are specified in brackets.
-+
-+Configuration:
-+ -h, --help display this help and exit
-+ --help=short display options specific to this package
-+ --help=recursive display the short help of all the included packages
-+ -V, --version display version information and exit
-+ -q, --quiet, --silent do not print \`checking...' messages
-+ --cache-file=FILE cache test results in FILE [disabled]
-+ -C, --config-cache alias for \`--cache-file=config.cache'
-+ -n, --no-create do not create output files
-+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
-+
-+_ACEOF
-+
-+ cat <<_ACEOF
-+Installation directories:
-+ --prefix=PREFIX install architecture-independent files in PREFIX
-+ [$ac_default_prefix]
-+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
-+ [PREFIX]
-+
-+By default, \`make install' will install all the files in
-+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-+for instance \`--prefix=\$HOME'.
-+
-+For better control, use the options below.
-+
-+Fine tuning of the installation directories:
-+ --bindir=DIR user executables [EPREFIX/bin]
-+ --sbindir=DIR system admin executables [EPREFIX/sbin]
-+ --libexecdir=DIR program executables [EPREFIX/libexec]
-+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
-+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
-+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
-+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
-+ --libdir=DIR object code libraries [EPREFIX/lib]
-+ --includedir=DIR C header files [PREFIX/include]
-+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
-+ --infodir=DIR info documentation [PREFIX/info]
-+ --mandir=DIR man documentation [PREFIX/man]
-+_ACEOF
-+
-+ cat <<\_ACEOF
-+
-+System types:
-+ --build=BUILD configure for building on BUILD [guessed]
-+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
-+_ACEOF
-+fi
-+
-+if test -n "$ac_init_help"; then
-+
-+ cat <<\_ACEOF
-+
-+Optional Features:
-+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
-+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
-+ --enable-socksdns force dns lookups to use tcp
-+ --disable-tordns don't override name lookup calls to use SOCKS
-+ --disable-debug disable ALL error messages from tsocks
-+ --enable-oldmethod use the old method to override connect
-+ --enable-hostnames enable hostname lookups for socks servers
-+ --disable-envconf do not allow TSOCKS_CONF_FILE to specify configuration file
-+
-+Optional Packages:
-+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
-+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
-+ --with-conf=<file> location of configuration file (/etc/tsocks.conf default)
-+
-+Some influential environment variables:
-+ CC C compiler command
-+ CFLAGS C compiler flags
-+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
-+ nonstandard directory <lib dir>
-+ CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
-+ headers in a nonstandard directory <include dir>
-+ CPP C preprocessor
-+
-+Use these variables to override the choices made by `configure' or to help
-+it to find libraries and programs with nonstandard names/locations.
-+
-+_ACEOF
-+fi
-+
-+if test "$ac_init_help" = "recursive"; then
-+ # If there are subdirs, report their specific --help.
-+ ac_popdir=`pwd`
-+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-+ test -d $ac_dir || continue
-+ ac_builddir=.
-+
-+if test "$ac_dir" != .; then
-+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-+ # A "../" for each directory in $ac_dir_suffix.
-+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-+else
-+ ac_dir_suffix= ac_top_builddir=
-+fi
-+
-+case $srcdir in
-+ .) # No --srcdir option. We are building in place.
-+ ac_srcdir=.
-+ if test -z "$ac_top_builddir"; then
-+ ac_top_srcdir=.
-+ else
-+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-+ fi ;;
-+ [\\/]* | ?:[\\/]* ) # Absolute path.
-+ ac_srcdir=$srcdir$ac_dir_suffix;
-+ ac_top_srcdir=$srcdir ;;
-+ *) # Relative path.
-+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
-+esac
-+
-+# Do not use `cd foo && pwd` to compute absolute paths, because
-+# the directories may not exist.
-+case `pwd` in
-+.) ac_abs_builddir="$ac_dir";;
-+*)
-+ case "$ac_dir" in
-+ .) ac_abs_builddir=`pwd`;;
-+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
-+ esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_top_builddir=${ac_top_builddir}.;;
-+*)
-+ case ${ac_top_builddir}. in
-+ .) ac_abs_top_builddir=$ac_abs_builddir;;
-+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-+ esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_srcdir=$ac_srcdir;;
-+*)
-+ case $ac_srcdir in
-+ .) ac_abs_srcdir=$ac_abs_builddir;;
-+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-+ esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_top_srcdir=$ac_top_srcdir;;
-+*)
-+ case $ac_top_srcdir in
-+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
-+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-+ esac;;
-+esac
-+
-+ cd $ac_dir
-+ # Check for guested configure; otherwise get Cygnus style configure.
-+ if test -f $ac_srcdir/configure.gnu; then
-+ echo
-+ $SHELL $ac_srcdir/configure.gnu --help=recursive
-+ elif test -f $ac_srcdir/configure; then
-+ echo
-+ $SHELL $ac_srcdir/configure --help=recursive
-+ elif test -f $ac_srcdir/configure.ac ||
-+ test -f $ac_srcdir/configure.in; then
-+ echo
-+ $ac_configure --help
-+ else
-+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-+ fi
-+ cd "$ac_popdir"
-+ done
-+fi
-+
-+test -n "$ac_init_help" && exit 0
-+if $ac_init_version; then
-+ cat <<\_ACEOF
-+
-+Copyright (C) 2003 Free Software Foundation, Inc.
-+This configure script is free software; the Free Software Foundation
-+gives unlimited permission to copy, distribute and modify it.
-+_ACEOF
-+ exit 0
-+fi
-+exec 5>config.log
-+cat >&5 <<_ACEOF
-+This file contains any messages produced by compilers while
-+running configure, to aid debugging if configure makes a mistake.
-+
-+It was created by $as_me, which was
-+generated by GNU Autoconf 2.59. Invocation command line was
-+
-+ $ $0 $@
-+
-+_ACEOF
-+{
-+cat <<_ASUNAME
-+## --------- ##
-+## Platform. ##
-+## --------- ##
-+
-+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-+uname -m = `(uname -m) 2>/dev/null || echo unknown`
-+uname -r = `(uname -r) 2>/dev/null || echo unknown`
-+uname -s = `(uname -s) 2>/dev/null || echo unknown`
-+uname -v = `(uname -v) 2>/dev/null || echo unknown`
-+
-+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-+
-+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
-+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-+
-+_ASUNAME
-+
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ echo "PATH: $as_dir"
-+done
-+
-+} >&5
-+
-+cat >&5 <<_ACEOF
-+
-+
-+## ----------- ##
-+## Core tests. ##
-+## ----------- ##
-+
-+_ACEOF
-+
-+
-+# Keep a trace of the command line.
-+# Strip out --no-create and --no-recursion so they do not pile up.
-+# Strip out --silent because we don't want to record it for future runs.
-+# Also quote any args containing shell meta-characters.
-+# Make two passes to allow for proper duplicate-argument suppression.
-+ac_configure_args=
-+ac_configure_args0=
-+ac_configure_args1=
-+ac_sep=
-+ac_must_keep_next=false
-+for ac_pass in 1 2
-+do
-+ for ac_arg
-+ do
-+ case $ac_arg in
-+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-+ | -silent | --silent | --silen | --sile | --sil)
-+ continue ;;
-+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-+ esac
-+ case $ac_pass in
-+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
-+ 2)
-+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
-+ if test $ac_must_keep_next = true; then
-+ ac_must_keep_next=false # Got value, back to normal.
-+ else
-+ case $ac_arg in
-+ *=* | --config-cache | -C | -disable-* | --disable-* \
-+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-+ | -with-* | --with-* | -without-* | --without-* | --x)
-+ case "$ac_configure_args0 " in
-+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-+ esac
-+ ;;
-+ -* ) ac_must_keep_next=true ;;
-+ esac
-+ fi
-+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-+ # Get rid of the leading space.
-+ ac_sep=" "
-+ ;;
-+ esac
-+ done
-+done
-+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-+
-+# When interrupted or exit'd, cleanup temporary files, and complete
-+# config.log. We remove comments because anyway the quotes in there
-+# would cause problems or look ugly.
-+# WARNING: Be sure not to use single quotes in there, as some shells,
-+# such as our DU 5.0 friend, will then `close' the trap.
-+trap 'exit_status=$?
-+ # Save into config.log some information that might help in debugging.
-+ {
-+ echo
-+
-+ cat <<\_ASBOX
-+## ---------------- ##
-+## Cache variables. ##
-+## ---------------- ##
-+_ASBOX
-+ echo
-+ # The following way of writing the cache mishandles newlines in values,
-+{
-+ (set) 2>&1 |
-+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-+ *ac_space=\ *)
-+ sed -n \
-+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
-+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
-+ ;;
-+ *)
-+ sed -n \
-+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
-+ ;;
-+ esac;
-+}
-+ echo
-+
-+ cat <<\_ASBOX
-+## ----------------- ##
-+## Output variables. ##
-+## ----------------- ##
-+_ASBOX
-+ echo
-+ for ac_var in $ac_subst_vars
-+ do
-+ eval ac_val=$`echo $ac_var`
-+ echo "$ac_var='"'"'$ac_val'"'"'"
-+ done | sort
-+ echo
-+
-+ if test -n "$ac_subst_files"; then
-+ cat <<\_ASBOX
-+## ------------- ##
-+## Output files. ##
-+## ------------- ##
-+_ASBOX
-+ echo
-+ for ac_var in $ac_subst_files
-+ do
-+ eval ac_val=$`echo $ac_var`
-+ echo "$ac_var='"'"'$ac_val'"'"'"
-+ done | sort
-+ echo
-+ fi
-+
-+ if test -s confdefs.h; then
-+ cat <<\_ASBOX
-+## ----------- ##
-+## confdefs.h. ##
-+## ----------- ##
-+_ASBOX
-+ echo
-+ sed "/^$/d" confdefs.h | sort
-+ echo
-+ fi
-+ test "$ac_signal" != 0 &&
-+ echo "$as_me: caught signal $ac_signal"
-+ echo "$as_me: exit $exit_status"
-+ } >&5
-+ rm -f core *.core &&
-+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
-+ exit $exit_status
-+ ' 0
-+for ac_signal in 1 2 13 15; do
-+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-+done
-+ac_signal=0
-+
-+# confdefs.h avoids OS command line length limits that DEFS can exceed.
-+rm -rf conftest* confdefs.h
-+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-+echo >confdefs.h
-+
-+# Predefined preprocessor variables.
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_NAME "$PACKAGE_NAME"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-+_ACEOF
-
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_VERSION "$PACKAGE_VERSION"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_STRING "$PACKAGE_STRING"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-+_ACEOF
-+
-+
-+# Let the site file select an alternate cache file if it wants to.
- # Prefer explicitly selected file to automatically selected ones.
- if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
- fi
- for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
-- echo "loading site script $ac_site_file"
-+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-+echo "$as_me: loading site script $ac_site_file" >&6;}
-+ sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
- done
-
- if test -r "$cache_file"; then
-- echo "loading cache $cache_file"
-- . $cache_file
-+ # Some versions of bash will fail to source /dev/null (special
-+ # files actually), so we avoid doing that.
-+ if test -f "$cache_file"; then
-+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-+echo "$as_me: loading cache $cache_file" >&6;}
-+ case $cache_file in
-+ [\\/]* | ?:[\\/]* ) . $cache_file;;
-+ *) . ./$cache_file;;
-+ esac
-+ fi
- else
-- echo "creating cache $cache_file"
-- > $cache_file
-+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-+echo "$as_me: creating cache $cache_file" >&6;}
-+ >$cache_file
-+fi
-+
-+# Check that the precious variables saved in the cache have kept the same
-+# value.
-+ac_cache_corrupted=false
-+for ac_var in `(set) 2>&1 |
-+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
-+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
-+ eval ac_new_set=\$ac_env_${ac_var}_set
-+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
-+ eval ac_new_val="\$ac_env_${ac_var}_value"
-+ case $ac_old_set,$ac_new_set in
-+ set,)
-+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-+ ac_cache_corrupted=: ;;
-+ ,set)
-+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-+ ac_cache_corrupted=: ;;
-+ ,);;
-+ *)
-+ if test "x$ac_old_val" != "x$ac_new_val"; then
-+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-+echo "$as_me: former value: $ac_old_val" >&2;}
-+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-+echo "$as_me: current value: $ac_new_val" >&2;}
-+ ac_cache_corrupted=:
-+ fi;;
-+ esac
-+ # Pass precious variables to config.status.
-+ if test "$ac_new_set" = set; then
-+ case $ac_new_val in
-+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-+ *) ac_arg=$ac_var=$ac_new_val ;;
-+ esac
-+ case " $ac_configure_args " in
-+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
-+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-+ esac
-+ fi
-+done
-+if $ac_cache_corrupted; then
-+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
- ac_ext=c
--# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
--ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
--cross_compiling=$ac_cv_prog_cc_cross
--
--ac_exeext=
--ac_objext=o
--if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-- # Stardent Vistra SVR4 grep lacks -e, says ghazi(a)caip.rutgers.edu.
-- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-- ac_n= ac_c='
--' ac_t=' '
-- else
-- ac_n=-n ac_c= ac_t=
-- fi
--else
-- ac_n= ac_c='\c' ac_t=
--fi
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-
-
-
-
-
-
-+ ac_config_headers="$ac_config_headers config.h"
-+
-+
-+
-+
- test "$libdir" = "\${exec_prefix}/lib" && libdir="/lib"
-
- # Check whether --enable-socksdns or --disable-socksdns was given.
- if test "${enable_socksdns+set}" = set; then
- enableval="$enable_socksdns"
-- :
--fi
-
-+fi;
-+# Check whether --enable-tordns or --disable-tordns was given.
-+if test "${enable_tordns+set}" = set; then
-+ enableval="$enable_tordns"
-+
-+fi;
- # Check whether --enable-debug or --disable-debug was given.
- if test "${enable_debug+set}" = set; then
- enableval="$enable_debug"
-- :
--fi
-
-+fi;
- # Check whether --enable-oldmethod or --disable-oldmethod was given.
- if test "${enable_oldmethod+set}" = set; then
- enableval="$enable_oldmethod"
-- :
--fi
-
-+fi;
- # Check whether --enable-hostnames or --disable-hostnames was given.
- if test "${enable_hostnames+set}" = set; then
- enableval="$enable_hostnames"
-- :
--fi
-
-+fi;
- # Check whether --enable-envconf or --disable-envconf was given.
- if test "${enable_envconf+set}" = set; then
- enableval="$enable_envconf"
-- :
--fi
-+
-+fi;
-
- # Check whether --with-conf or --without-conf was given.
- if test "${with_conf+set}" = set; then
- withval="$with_conf"
--
-+
- if test "${withval}" = "yes" ; then
-- { echo "configure: error: "--with-conf requires the location of the configuration file as an argument"" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: \"--with-conf requires the location of the configuration file as an argument\"" >&5
-+echo "$as_me: error: \"--with-conf requires the location of the configuration file as an argument\"" >&2;}
-+ { (exit 1); exit 1; }; }
- else
-- cat >> confdefs.h <<EOF
-+ cat >>confdefs.h <<_ACEOF
- #define CONF_FILE "${withval}"
--EOF
-+_ACEOF
-
- fi
-
- else
--
-- cat >> confdefs.h <<EOF
--#define CONF_FILE "/etc/tsocks.conf"
--EOF
-
-+ cat >>confdefs.h <<_ACEOF
-+#define CONF_FILE "/etc/tsocks.conf"
-+_ACEOF
-
--fi
-
-+fi;
-
-
- ac_aux_dir=
- for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
-@@ -602,255 +1375,731 @@
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
-+ elif test -f $ac_dir/shtool; then
-+ ac_aux_dir=$ac_dir
-+ ac_install_sh="$ac_aux_dir/shtool install -c"
-+ break
- fi
- done
- if test -z "$ac_aux_dir"; then
-- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
--fi
--ac_config_guess=$ac_aux_dir/config.guess
--ac_config_sub=$ac_aux_dir/config.sub
--ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
--
-+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
- # Make sure we can run config.sub.
--if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
--else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
--fi
--
--echo $ac_n "checking host system type""... $ac_c" 1>&6
--echo "configure:624: checking host system type" >&5
--
--host_alias=$host
--case "$host_alias" in
--NONE)
-- case $nonopt in
-- NONE)
-- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
-- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
-- fi ;;
-- *) host_alias=$nonopt ;;
-- esac ;;
--esac
-+$ac_config_sub sun4 >/dev/null 2>&1 ||
-+ { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-+echo "$as_me: error: cannot run $ac_config_sub" >&2;}
-+ { (exit 1); exit 1; }; }
-+
-+echo "$as_me:$LINENO: checking build system type" >&5
-+echo $ECHO_N "checking build system type... $ECHO_C" >&6
-+if test "${ac_cv_build+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_cv_build_alias=$build_alias
-+test -z "$ac_cv_build_alias" &&
-+ ac_cv_build_alias=`$ac_config_guess`
-+test -z "$ac_cv_build_alias" &&
-+ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
-+ { (exit 1); exit 1; }; }
-+ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
-+ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-+echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
-+ { (exit 1); exit 1; }; }
-+
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-+echo "${ECHO_T}$ac_cv_build" >&6
-+build=$ac_cv_build
-+build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-+build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-+build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-+
-+
-+echo "$as_me:$LINENO: checking host system type" >&5
-+echo $ECHO_N "checking host system type... $ECHO_C" >&6
-+if test "${ac_cv_host+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_cv_host_alias=$host_alias
-+test -z "$ac_cv_host_alias" &&
-+ ac_cv_host_alias=$ac_cv_build_alias
-+ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
-+ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-+echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
-+ { (exit 1); exit 1; }; }
-+
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-+echo "${ECHO_T}$ac_cv_host" >&6
-+host=$ac_cv_host
-+host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-+host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-+host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
--host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
--host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
--host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
--host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
--echo "$ac_t""$host" 1>&6
-
-
--# Extract the first word of "gcc", so it can be a program name with args.
--set dummy gcc; ac_word=$2
--echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:648: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}gcc; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
- else
-- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
-- ac_dummy="$PATH"
-- for ac_dir in $ac_dummy; do
-- test -z "$ac_dir" && ac_dir=.
-- if test -f $ac_dir/$ac_word; then
-- ac_cv_prog_CC="gcc"
-- break
-- fi
-- done
-- IFS="$ac_save_ifs"
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
-+fi
-+fi
-+CC=$ac_cv_prog_CC
-+if test -n "$CC"; then
-+ echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+fi
-+if test -z "$ac_cv_prog_CC"; then
-+ ac_ct_CC=$CC
-+ # Extract the first word of "gcc", so it can be a program name with args.
-+set dummy gcc; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$ac_ct_CC"; then
-+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_ac_ct_CC="gcc"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
-+fi
-+fi
-+ac_ct_CC=$ac_cv_prog_ac_ct_CC
-+if test -n "$ac_ct_CC"; then
-+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-+echo "${ECHO_T}$ac_ct_CC" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+ CC=$ac_ct_CC
-+else
-+ CC="$ac_cv_prog_CC"
-+fi
-+
-+if test -z "$CC"; then
-+ if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}cc; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$CC"; then
-+ ac_cv_prog_CC="$CC" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_CC="${ac_tool_prefix}cc"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
- fi
- fi
--CC="$ac_cv_prog_CC"
-+CC=$ac_cv_prog_CC
- if test -n "$CC"; then
-- echo "$ac_t""$CC" 1>&6
-+ echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+fi
-+if test -z "$ac_cv_prog_CC"; then
-+ ac_ct_CC=$CC
-+ # Extract the first word of "cc", so it can be a program name with args.
-+set dummy cc; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$ac_ct_CC"; then
-+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_ac_ct_CC="cc"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
-+fi
-+fi
-+ac_ct_CC=$ac_cv_prog_ac_ct_CC
-+if test -n "$ac_ct_CC"; then
-+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-+echo "${ECHO_T}$ac_ct_CC" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+ CC=$ac_ct_CC
- else
-- echo "$ac_t""no" 1>&6
-+ CC="$ac_cv_prog_CC"
- fi
-
-+fi
- if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
- set dummy cc; ac_word=$2
--echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:678: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
- else
-- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
-- ac_dummy="$PATH"
-- for ac_dir in $ac_dummy; do
-- test -z "$ac_dir" && ac_dir=.
-- if test -f $ac_dir/$ac_word; then
-- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
-- ac_prog_rejected=yes
-- continue
-- fi
-- ac_cv_prog_CC="cc"
-- break
-- fi
-- done
-- IFS="$ac_save_ifs"
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-+ ac_prog_rejected=yes
-+ continue
-+ fi
-+ ac_cv_prog_CC="cc"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
- if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
-- if test $# -gt 0; then
-+ if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
-- set dummy "$ac_dir/$ac_word" "$@"
-- shift
-- ac_cv_prog_CC="$@"
-+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
- fi
- fi
- fi
--CC="$ac_cv_prog_CC"
-+CC=$ac_cv_prog_CC
- if test -n "$CC"; then
-- echo "$ac_t""$CC" 1>&6
-+ echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6
- else
-- echo "$ac_t""no" 1>&6
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
-
-- if test -z "$CC"; then
-- case "`uname -s`" in
-- *win32* | *WIN32*)
-- # Extract the first word of "cl", so it can be a program name with args.
--set dummy cl; ac_word=$2
--echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:729: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+fi
-+if test -z "$CC"; then
-+ if test -n "$ac_tool_prefix"; then
-+ for ac_prog in cl
-+ do
-+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
- else
-- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
-- ac_dummy="$PATH"
-- for ac_dir in $ac_dummy; do
-- test -z "$ac_dir" && ac_dir=.
-- if test -f $ac_dir/$ac_word; then
-- ac_cv_prog_CC="cl"
-- break
-- fi
-- done
-- IFS="$ac_save_ifs"
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
- fi
- fi
--CC="$ac_cv_prog_CC"
-+CC=$ac_cv_prog_CC
- if test -n "$CC"; then
-- echo "$ac_t""$CC" 1>&6
-+ echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6
- else
-- echo "$ac_t""no" 1>&6
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
-- ;;
-- esac
-+
-+ test -n "$CC" && break
-+ done
-+fi
-+if test -z "$CC"; then
-+ ac_ct_CC=$CC
-+ for ac_prog in cl
-+do
-+ # Extract the first word of "$ac_prog", so it can be a program name with args.
-+set dummy $ac_prog; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$ac_ct_CC"; then
-+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_ac_ct_CC="$ac_prog"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
- fi
-- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-+done
-+done
-+
-+fi
-+fi
-+ac_ct_CC=$ac_cv_prog_ac_ct_CC
-+if test -n "$ac_ct_CC"; then
-+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-+echo "${ECHO_T}$ac_ct_CC" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
-
--echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
--echo "configure:761: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-+ test -n "$ac_ct_CC" && break
-+done
-
--ac_ext=c
--# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
--cross_compiling=$ac_cv_prog_cc_cross
-+ CC=$ac_ct_CC
-+fi
-
--cat > conftest.$ac_ext << EOF
-+fi
-
--#line 772 "configure"
--#include "confdefs.h"
-
--main(){return(0);}
--EOF
--if { (eval echo configure:777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-- ac_cv_prog_cc_works=yes
-- # If we can't run a trivial program, we are probably using a cross compiler.
-- if (./conftest; exit) 2>/dev/null; then
-- ac_cv_prog_cc_cross=no
-- else
-- ac_cv_prog_cc_cross=yes
-- fi
-+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: no acceptable C compiler found in \$PATH
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }
-+
-+# Provide some information about the compiler.
-+echo "$as_me:$LINENO:" \
-+ "checking for C compiler version" >&5
-+ac_compiler=`set X $ac_compile; echo $2`
-+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-+ (eval $ac_compiler --version </dev/null >&5) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }
-+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-+ (eval $ac_compiler -v </dev/null >&5) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }
-+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-+ (eval $ac_compiler -V </dev/null >&5) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }
-+
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+ac_clean_files_save=$ac_clean_files
-+ac_clean_files="$ac_clean_files a.out a.exe b.out"
-+# Try to create an executable without -o first, disregard a.out.
-+# It will help us diagnose broken compilers, and finding out an intuition
-+# of exeext.
-+echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
-+ (eval $ac_link_default) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; then
-+ # Find the output, starting from the most likely. This scheme is
-+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-+# resort.
-+
-+# Be careful to initialize this variable, since it used to be cached.
-+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-+ac_cv_exeext=
-+# b.out is created by i960 compilers.
-+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-+do
-+ test -f "$ac_file" || continue
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
-+ ;;
-+ conftest.$ac_ext )
-+ # This is the source file.
-+ ;;
-+ [ab].out )
-+ # We found the default executable, but exeext='' is most
-+ # certainly right.
-+ break;;
-+ *.* )
-+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-+ # FIXME: I believe we export ac_cv_exeext for Libtool,
-+ # but it would be cool to find out if it's true. Does anybody
-+ # maintain Libtool? --akim.
-+ export ac_cv_exeext
-+ break;;
-+ * )
-+ break;;
-+ esac
-+done
- else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- ac_cv_prog_cc_works=no
--fi
--rm -fr conftest*
--ac_ext=c
--# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
--cross_compiling=$ac_cv_prog_cc_cross
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-
--echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
--if test $ac_cv_prog_cc_works = no; then
-- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: C compiler cannot create executables
-+See \`config.log' for more details." >&2;}
-+ { (exit 77); exit 77; }; }
-+fi
-+
-+ac_exeext=$ac_cv_exeext
-+echo "$as_me:$LINENO: result: $ac_file" >&5
-+echo "${ECHO_T}$ac_file" >&6
-+
-+# Check the compiler produces executables we can run. If not, either
-+# the compiler is broken, or we cross compile.
-+echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-+# If not cross compiling, check that we can run a simple program.
-+if test "$cross_compiling" != yes; then
-+ if { ac_try='./$ac_file'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ cross_compiling=no
-+ else
-+ if test "$cross_compiling" = maybe; then
-+ cross_compiling=yes
-+ else
-+ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-+If you meant to cross compile, use \`--host'.
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot run C compiled programs.
-+If you meant to cross compile, use \`--host'.
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }
-+ fi
-+ fi
- fi
--echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
--echo "configure:803: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
--echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
--cross_compiling=$ac_cv_prog_cc_cross
-+echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6
-
--echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
--echo "configure:808: checking whether we are using GNU C" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+rm -f a.out a.exe conftest$ac_cv_exeext b.out
-+ac_clean_files=$ac_clean_files_save
-+# Check the compiler produces executables we can run. If not, either
-+# the compiler is broken, or we cross compile.
-+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-+echo "$as_me:$LINENO: result: $cross_compiling" >&5
-+echo "${ECHO_T}$cross_compiling" >&6
-+
-+echo "$as_me:$LINENO: checking for suffix of executables" >&5
-+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; then
-+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
-+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-+# work properly (i.e., refer to `conftest.exe'), while it won't with
-+# `rm'.
-+for ac_file in conftest.exe conftest conftest.*; do
-+ test -f "$ac_file" || continue
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
-+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-+ export ac_cv_exeext
-+ break;;
-+ * ) break;;
-+ esac
-+done
- else
-- cat > conftest.c <<EOF
--#ifdef __GNUC__
-- yes;
--#endif
--EOF
--if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-- ac_cv_prog_gcc=yes
-+ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+rm -f conftest$ac_cv_exeext
-+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-+echo "${ECHO_T}$ac_cv_exeext" >&6
-+
-+rm -f conftest.$ac_ext
-+EXEEXT=$ac_cv_exeext
-+ac_exeext=$EXEEXT
-+echo "$as_me:$LINENO: checking for suffix of object files" >&5
-+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-+if test "${ac_cv_objext+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.o conftest.obj
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; then
-+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
-+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-+ break;;
-+ esac
-+done
- else
-- ac_cv_prog_gcc=no
--fi
--fi
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-
--echo "$ac_t""$ac_cv_prog_gcc" 1>&6
--
--if test $ac_cv_prog_gcc = yes; then
-- GCC=yes
--else
-- GCC=
--fi
-+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot compute suffix of object files: cannot compile
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+rm -f conftest.$ac_cv_objext conftest.$ac_ext
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-+echo "${ECHO_T}$ac_cv_objext" >&6
-+OBJEXT=$ac_cv_objext
-+ac_objext=$OBJEXT
-+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-+if test "${ac_cv_c_compiler_gnu+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+#ifndef __GNUC__
-+ choke me
-+#endif
-
--ac_test_CFLAGS="${CFLAGS+set}"
--ac_save_CFLAGS="$CFLAGS"
--CFLAGS=
--echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
--echo "configure:836: checking whether ${CC-cc} accepts -g" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
--else
-- echo 'void f(){}' > conftest.c
--if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_compiler_gnu=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_compiler_gnu=no
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+ac_cv_c_compiler_gnu=$ac_compiler_gnu
-+
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-+GCC=`test $ac_compiler_gnu = yes && echo yes`
-+ac_test_CFLAGS=${CFLAGS+set}
-+ac_save_CFLAGS=$CFLAGS
-+CFLAGS="-g"
-+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-+if test "${ac_cv_prog_cc_g+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
- ac_cv_prog_cc_g=yes
- else
-- ac_cv_prog_cc_g=no
--fi
--rm -f conftest*
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-
-+ac_cv_prog_cc_g=no
- fi
--
--echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
- if test "$ac_test_CFLAGS" = set; then
-- CFLAGS="$ac_save_CFLAGS"
-+ CFLAGS=$ac_save_CFLAGS
- elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
-@@ -860,1774 +2109,4838 @@
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
- fi
-+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-+if test "${ac_cv_prog_cc_stdc+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_cv_prog_cc_stdc=no
-+ac_save_CC=$CC
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <stdarg.h>
-+#include <stdio.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-+struct buf { int x; };
-+FILE * (*rcsopen) (struct buf *, struct stat *, int);
-+static char *e (p, i)
-+ char **p;
-+ int i;
-+{
-+ return p[i];
-+}
-+static char *f (char * (*g) (char **, int), char **p, ...)
-+{
-+ char *s;
-+ va_list v;
-+ va_start (v,p);
-+ s = g (p, va_arg (v,int));
-+ va_end (v);
-+ return s;
-+}
-+
-+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
-+ function prototypes and stuff, but not '\xHH' hex character constants.
-+ These don't provoke an error unfortunately, instead are silently treated
-+ as 'x'. The following induces an error, until -std1 is added to get
-+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
-+ array size at least. It's necessary to write '\x00'==0 to get something
-+ that's true only with -std1. */
-+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-+
-+int test (int i, double x);
-+struct s1 {int (*f) (int a);};
-+struct s2 {int (*f) (double a);};
-+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-+int argc;
-+char **argv;
-+int
-+main ()
-+{
-+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+# Don't try gcc -ansi; that turns off useful extensions and
-+# breaks some systems' header files.
-+# AIX -qlanglvl=ansi
-+# Ultrix and OSF/1 -std1
-+# HP-UX 10.20 and later -Ae
-+# HP-UX older versions -Aa -D_HPUX_SOURCE
-+# SVR4 -Xc -D__EXTENSIONS__
-+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-+do
-+ CC="$ac_save_CC $ac_arg"
-+ rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_prog_cc_stdc=$ac_arg
-+break
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+fi
-+rm -f conftest.err conftest.$ac_objext
-+done
-+rm -f conftest.$ac_ext conftest.$ac_objext
-+CC=$ac_save_CC
-+
-+fi
-+
-+case "x$ac_cv_prog_cc_stdc" in
-+ x|xno)
-+ echo "$as_me:$LINENO: result: none needed" >&5
-+echo "${ECHO_T}none needed" >&6 ;;
-+ *)
-+ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
-+ CC="$CC $ac_cv_prog_cc_stdc" ;;
-+esac
-+
-+# Some people use a C++ compiler to compile C. Since we use `exit',
-+# in C++ we need to declare it. In case someone uses the same compiler
-+# for both compiling C and C++ we need to have the C++ compiler decide
-+# the declaration of exit, since it's the most demanding environment.
-+cat >conftest.$ac_ext <<_ACEOF
-+#ifndef __cplusplus
-+ choke me
-+#endif
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ for ac_declaration in \
-+ '' \
-+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
-+ 'extern "C" void std::exit (int); using std::exit;' \
-+ 'extern "C" void exit (int) throw ();' \
-+ 'extern "C" void exit (int);' \
-+ 'void exit (int);'
-+do
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_declaration
-+#include <stdlib.h>
-+int
-+main ()
-+{
-+exit (42);
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ :
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+continue
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_declaration
-+int
-+main ()
-+{
-+exit (42);
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ break
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+done
-+rm -f conftest*
-+if test -n "$ac_declaration"; then
-+ echo '#ifdef __cplusplus' >>confdefs.h
-+ echo $ac_declaration >>confdefs.h
-+ echo '#endif' >>confdefs.h
-+fi
-+
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- # Find a good install program. We prefer a C program (faster),
- # so one script is as good as another. But avoid the broken or
- # incompatible versions:
- # SysV /etc/install, /usr/sbin/install
- # SunOS /usr/etc/install
- # IRIX /sbin/install
- # AIX /bin/install
-+# AmigaOS /C/install, which installs bootblocks on floppy discs
- # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
- # AFS /usr/afsws/bin/install, which mishandles nonexistent args
- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-+# OS/2's system install, which has a completely different semantic
- # ./install, which can be erroneously created by make from ./install.sh.
--echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
--echo "configure:879: checking for a BSD compatible install" >&5
-+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
- if test -z "$INSTALL"; then
--if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+if test "${ac_cv_path_install+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
-- for ac_dir in $PATH; do
-- # Account for people who put trailing slashes in PATH elements.
-- case "$ac_dir/" in
-- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
-- *)
-- # OSF1 and SCO ODT 3.0 have their own names for install.
-- # Don't use installbsd from OSF since it installs stuff as root
-- # by default.
-- for ac_prog in ginstall scoinst install; do
-- if test -f $ac_dir/$ac_prog; then
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ # Account for people who put trailing slashes in PATH elements.
-+case $as_dir/ in
-+ ./ | .// | /cC/* | \
-+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
-+ /usr/ucb/* ) ;;
-+ *)
-+ # OSF1 and SCO ODT 3.0 have their own names for install.
-+ # Don't use installbsd from OSF since it installs stuff as root
-+ # by default.
-+ for ac_prog in ginstall scoinst install; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
-- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
-+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
-+ elif test $ac_prog = install &&
-+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-+ # program-specific install script used by HP pwplus--don't use.
-+ :
- else
-- ac_cv_path_install="$ac_dir/$ac_prog -c"
-- break 2
-+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-+ break 3
- fi
- fi
- done
-- ;;
-- esac
-- done
-- IFS="$ac_save_IFS"
-+ done
-+ ;;
-+esac
-+done
-+
-
- fi
- if test "${ac_cv_path_install+set}" = set; then
-- INSTALL="$ac_cv_path_install"
-+ INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
-- INSTALL="$ac_install_sh"
-+ INSTALL=$ac_install_sh
- fi
- fi
--echo "$ac_t""$INSTALL" 1>&6
-+echo "$as_me:$LINENO: result: $INSTALL" >&5
-+echo "${ECHO_T}$INSTALL" >&6
-
- # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
- # It thinks the first close brace ends the variable substitution.
- test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
--test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
- test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
--echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
--echo "configure:932: checking whether ln -s works" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
--else
-- rm -f conftestdata
--if ln -s X conftestdata 2>/dev/null
--then
-- rm -f conftestdata
-- ac_cv_prog_LN_S="ln -s"
-+echo "$as_me:$LINENO: checking whether ln -s works" >&5
-+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
-+LN_S=$as_ln_s
-+if test "$LN_S" = "ln -s"; then
-+ echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6
- else
-- ac_cv_prog_LN_S=ln
--fi
--fi
--LN_S="$ac_cv_prog_LN_S"
--if test "$ac_cv_prog_LN_S" = "ln -s"; then
-- echo "$ac_t""yes" 1>&6
--else
-- echo "$ac_t""no" 1>&6
-+ echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-+echo "${ECHO_T}no, using $LN_S" >&6
- fi
-
-
--echo $ac_n "checking "if the C compiler accepts -Wall"""... $ac_c" 1>&6
--echo "configure:954: checking "if the C compiler accepts -Wall"" >&5
-+echo "$as_me:$LINENO: checking if the C compiler accepts -Wall" >&5
-+echo $ECHO_N "checking if the C compiler accepts -Wall... $ECHO_C" >&6
- OLDCFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Wall"
--cat > conftest.$ac_ext <<EOF
--#line 958 "configure"
--#include "confdefs.h"
--
--int main() {
--
--; return 0; }
--EOF
--if { (eval echo configure:965: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-- rm -rf conftest*
-- echo "$ac_t""yes" 1>&6
--else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
--
-+
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+
- CFLAGS="$OLDCFLAGS"
-- echo "$ac_t""no" 1>&6
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
--rm -f conftest*
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
--echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
--echo "configure:979: checking how to run the C preprocessor" >&5
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
- # On Suns, sometimes $CPP names a directory.
- if test -n "$CPP" && test -d "$CPP"; then
- CPP=
- fi
- if test -z "$CPP"; then
--if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+ if test "${ac_cv_prog_CPP+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- # This must be in double quotes, not single quotes, because CPP may get
-- # substituted into the Makefile and "${CC-cc}" will confuse make.
-- CPP="${CC-cc} -E"
-+ # Double quotes because CPP needs to be expanded
-+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-+ do
-+ ac_preproc_ok=false
-+for ac_c_preproc_warn_flag in '' yes
-+do
-+ # Use a header file that comes with gcc, so configuring glibc
-+ # with a fresh cross-compiler works.
-+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+ # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
-- # not just through cpp.
-- cat > conftest.$ac_ext <<EOF
--#line 994 "configure"
--#include "confdefs.h"
--#include <assert.h>
--Syntax Error
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1000: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
-- :
-+ # not just through cpp. "Syntax error" is here to catch this case.
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+ Syntax error
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
- else
-- echo "$ac_err" >&5
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- CPP="${CC-cc} -E -traditional-cpp"
-- cat > conftest.$ac_ext <<EOF
--#line 1011 "configure"
--#include "confdefs.h"
--#include <assert.h>
--Syntax Error
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1017: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
-+ ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
- :
- else
-- echo "$ac_err" >&5
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- CPP="${CC-cc} -nologo -E"
-- cat > conftest.$ac_ext <<EOF
--#line 1028 "configure"
--#include "confdefs.h"
--#include <assert.h>
--Syntax Error
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1034: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
-- :
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ # Broken: fails on valid input.
-+continue
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+
-+ # OK, works on sane cases. Now check whether non-existent headers
-+ # can be detected and how.
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <ac_nonexistent.h>
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
- else
-- echo "$ac_err" >&5
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- CPP=/lib/cpp
-+ ac_cpp_err=yes
- fi
--rm -f conftest*
-+if test -z "$ac_cpp_err"; then
-+ # Broken: success on invalid input.
-+continue
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ # Passes both tests.
-+ac_preproc_ok=:
-+break
- fi
--rm -f conftest*
-+rm -f conftest.err conftest.$ac_ext
-+
-+done
-+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-+rm -f conftest.err conftest.$ac_ext
-+if $ac_preproc_ok; then
-+ break
- fi
--rm -f conftest*
-- ac_cv_prog_CPP="$CPP"
-+
-+ done
-+ ac_cv_prog_CPP=$CPP
-+
-+fi
-+ CPP=$ac_cv_prog_CPP
-+else
-+ ac_cv_prog_CPP=$CPP
-+fi
-+echo "$as_me:$LINENO: result: $CPP" >&5
-+echo "${ECHO_T}$CPP" >&6
-+ac_preproc_ok=false
-+for ac_c_preproc_warn_flag in '' yes
-+do
-+ # Use a header file that comes with gcc, so configuring glibc
-+ # with a fresh cross-compiler works.
-+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+ # <limits.h> exists even on freestanding compilers.
-+ # On the NeXT, cc -E runs the code through the compiler's parser,
-+ # not just through cpp. "Syntax error" is here to catch this case.
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+ Syntax error
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-+ :
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ # Broken: fails on valid input.
-+continue
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+
-+ # OK, works on sane cases. Now check whether non-existent headers
-+ # can be detected and how.
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <ac_nonexistent.h>
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
- fi
-- CPP="$ac_cv_prog_CPP"
-+if test -z "$ac_cpp_err"; then
-+ # Broken: success on invalid input.
-+continue
- else
-- ac_cv_prog_CPP="$CPP"
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ # Passes both tests.
-+ac_preproc_ok=:
-+break
- fi
--echo "$ac_t""$CPP" 1>&6
-+rm -f conftest.err conftest.$ac_ext
-
--echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
--echo "configure:1059: checking for ANSI C header files" >&5
--if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+done
-+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-+rm -f conftest.err conftest.$ac_ext
-+if $ac_preproc_ok; then
-+ :
- else
-- cat > conftest.$ac_ext <<EOF
--#line 1064 "configure"
--#include "confdefs.h"
-+ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+
-+echo "$as_me:$LINENO: checking for egrep" >&5
-+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-+if test "${ac_cv_prog_egrep+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-+ then ac_cv_prog_egrep='grep -E'
-+ else ac_cv_prog_egrep='egrep'
-+ fi
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
-+ EGREP=$ac_cv_prog_egrep
-+
-+
-+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-+if test "${ac_cv_header_stdc+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
- #include <stdlib.h>
- #include <stdarg.h>
- #include <string.h>
- #include <float.h>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
-- rm -rf conftest*
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
- ac_cv_header_stdc=yes
- else
-- echo "$ac_err" >&5
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- ac_cv_header_stdc=no
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_header_stdc=no
- fi
--rm -f conftest*
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
- if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
--cat > conftest.$ac_ext <<EOF
--#line 1089 "configure"
--#include "confdefs.h"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
- #include <string.h>
--EOF
-+
-+_ACEOF
- if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-- egrep "memchr" >/dev/null 2>&1; then
-+ $EGREP "memchr" >/dev/null 2>&1; then
- :
- else
-- rm -rf conftest*
- ac_cv_header_stdc=no
- fi
- rm -f conftest*
-
- fi
-
- if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
--cat > conftest.$ac_ext <<EOF
--#line 1107 "configure"
--#include "confdefs.h"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
- #include <stdlib.h>
--EOF
-+
-+_ACEOF
- if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-- egrep "free" >/dev/null 2>&1; then
-+ $EGREP "free" >/dev/null 2>&1; then
- :
- else
-- rm -rf conftest*
- ac_cv_header_stdc=no
- fi
- rm -f conftest*
-
- fi
-
- if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
--if test "$cross_compiling" = yes; then
-+ if test "$cross_compiling" = yes; then
- :
- else
-- cat > conftest.$ac_ext <<EOF
--#line 1128 "configure"
--#include "confdefs.h"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
- #include <ctype.h>
--#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
--#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-+#if ((' ' & 0x0FF) == 0x020)
-+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-+#else
-+# define ISLOWER(c) \
-+ (('a' <= (c) && (c) <= 'i') \
-+ || ('j' <= (c) && (c) <= 'r') \
-+ || ('s' <= (c) && (c) <= 'z'))
-+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-+#endif
-+
- #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
--int main () { int i; for (i = 0; i < 256; i++)
--if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
--exit (0); }
--
--EOF
--if { (eval echo configure:1139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
--then
-+int
-+main ()
-+{
-+ int i;
-+ for (i = 0; i < 256; i++)
-+ if (XOR (islower (i), ISLOWER (i))
-+ || toupper (i) != TOUPPER (i))
-+ exit(2);
-+ exit (0);
-+}
-+_ACEOF
-+rm -f conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
- :
- else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -fr conftest*
-- ac_cv_header_stdc=no
-+ echo "$as_me: program exited with status $ac_status" >&5
-+echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+( exit $ac_status )
-+ac_cv_header_stdc=no
- fi
--rm -fr conftest*
-+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
- fi
--
- fi
- fi
--
--echo "$ac_t""$ac_cv_header_stdc" 1>&6
-+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-+echo "${ECHO_T}$ac_cv_header_stdc" >&6
- if test $ac_cv_header_stdc = yes; then
-- cat >> confdefs.h <<\EOF
-+
-+cat >>confdefs.h <<\_ACEOF
- #define STDC_HEADERS 1
--EOF
-+_ACEOF
-
- fi
-
-
--ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
--echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
--echo "configure:1165: checking for dlfcn.h" >&5
--if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
--else
-- cat > conftest.$ac_ext <<EOF
--#line 1170 "configure"
--#include "confdefs.h"
--#include <dlfcn.h>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1175: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=yes"
--else
-- echo "$ac_err" >&5
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=no"
--fi
--rm -f conftest*
--fi
--if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-- :
--else
-- echo "$ac_t""no" 1>&6
--{ echo "configure: error: "dlfcn.h not found"" 1>&2; exit 1; }
--fi
-+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
--ac_safe=`echo "sys/socket.h" | sed 'y%./+-%__p_%'`
--echo $ac_n "checking for sys/socket.h""... $ac_c" 1>&6
--echo "configure:1200: checking for sys/socket.h" >&5
--if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
--else
-- cat > conftest.$ac_ext <<EOF
--#line 1205 "configure"
--#include "confdefs.h"
--#include <sys/socket.h>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1210: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=yes"
--else
-- echo "$ac_err" >&5
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=no"
--fi
--rm -f conftest*
-+
-+
-+
-+
-+
-+
-+
-+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-+ inttypes.h stdint.h unistd.h
-+do
-+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-+echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-+if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ eval "$as_ac_Header=yes"
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+eval "$as_ac_Header=no"
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+if test `eval echo '${'$as_ac_Header'}'` = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
-+fi
-+
-+done
-+
-+
-+if test "${ac_cv_header_dlfcn_h+set}" = set; then
-+ echo "$as_me:$LINENO: checking for dlfcn.h" >&5
-+echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6
-+if test "${ac_cv_header_dlfcn_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
-+echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6
-+else
-+ # Is the header compilable?
-+echo "$as_me:$LINENO: checking dlfcn.h usability" >&5
-+echo $ECHO_N "checking dlfcn.h usability... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+#include <dlfcn.h>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_header_compiler=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+# Is the header present?
-+echo "$as_me:$LINENO: checking dlfcn.h presence" >&5
-+echo $ECHO_N "checking dlfcn.h presence... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <dlfcn.h>
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-+ ac_header_preproc=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_header_preproc=no
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+ yes:no: )
-+ { echo "$as_me:$LINENO: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&5
-+echo "$as_me: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the compiler's result" >&5
-+echo "$as_me: WARNING: dlfcn.h: proceeding with the compiler's result" >&2;}
-+ ac_header_preproc=yes
-+ ;;
-+ no:yes:* )
-+ { echo "$as_me:$LINENO: WARNING: dlfcn.h: present but cannot be compiled" >&5
-+echo "$as_me: WARNING: dlfcn.h: present but cannot be compiled" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: dlfcn.h: check for missing prerequisite headers?" >&5
-+echo "$as_me: WARNING: dlfcn.h: check for missing prerequisite headers?" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: dlfcn.h: see the Autoconf documentation" >&5
-+echo "$as_me: WARNING: dlfcn.h: see the Autoconf documentation" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: dlfcn.h: section \"Present But Cannot Be Compiled\"" >&5
-+echo "$as_me: WARNING: dlfcn.h: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&5
-+echo "$as_me: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&5
-+echo "$as_me: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&2;}
-+ (
-+ cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists. ##
-+## ------------------------------------------ ##
-+_ASBOX
-+ ) |
-+ sed "s/^/$as_me: WARNING: /" >&2
-+ ;;
-+esac
-+echo "$as_me:$LINENO: checking for dlfcn.h" >&5
-+echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6
-+if test "${ac_cv_header_dlfcn_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_cv_header_dlfcn_h=$ac_header_preproc
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
-+echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6
-+
- fi
--if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-+if test $ac_cv_header_dlfcn_h = yes; then
- :
- else
-- echo "$ac_t""no" 1>&6
--{ echo "configure: error: "sys/socket.h not found"" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: \"dlfcn.h not found\"" >&5
-+echo "$as_me: error: \"dlfcn.h not found\"" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
-
--ac_safe=`echo "arpa/inet.h" | sed 'y%./+-%__p_%'`
--echo $ac_n "checking for arpa/inet.h""... $ac_c" 1>&6
--echo "configure:1235: checking for arpa/inet.h" >&5
--if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+
-+if test "${ac_cv_header_sys_socket_h+set}" = set; then
-+ echo "$as_me:$LINENO: checking for sys/socket.h" >&5
-+echo $ECHO_N "checking for sys/socket.h... $ECHO_C" >&6
-+if test "${ac_cv_header_sys_socket_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_header_sys_socket_h" >&5
-+echo "${ECHO_T}$ac_cv_header_sys_socket_h" >&6
-+else
-+ # Is the header compilable?
-+echo "$as_me:$LINENO: checking sys/socket.h usability" >&5
-+echo $ECHO_N "checking sys/socket.h usability... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+#include <sys/socket.h>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_header_compiler=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+# Is the header present?
-+echo "$as_me:$LINENO: checking sys/socket.h presence" >&5
-+echo $ECHO_N "checking sys/socket.h presence... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <sys/socket.h>
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
- else
-- cat > conftest.$ac_ext <<EOF
--#line 1240 "configure"
--#include "confdefs.h"
--#include <arpa/inet.h>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1245: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=yes"
--else
-- echo "$ac_err" >&5
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=no"
-+ ac_cpp_err=yes
- fi
--rm -f conftest*
-+if test -z "$ac_cpp_err"; then
-+ ac_header_preproc=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_header_preproc=no
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+ yes:no: )
-+ { echo "$as_me:$LINENO: WARNING: sys/socket.h: accepted by the compiler, rejected by the preprocessor!" >&5
-+echo "$as_me: WARNING: sys/socket.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/socket.h: proceeding with the compiler's result" >&5
-+echo "$as_me: WARNING: sys/socket.h: proceeding with the compiler's result" >&2;}
-+ ac_header_preproc=yes
-+ ;;
-+ no:yes:* )
-+ { echo "$as_me:$LINENO: WARNING: sys/socket.h: present but cannot be compiled" >&5
-+echo "$as_me: WARNING: sys/socket.h: present but cannot be compiled" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/socket.h: check for missing prerequisite headers?" >&5
-+echo "$as_me: WARNING: sys/socket.h: check for missing prerequisite headers?" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/socket.h: see the Autoconf documentation" >&5
-+echo "$as_me: WARNING: sys/socket.h: see the Autoconf documentation" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/socket.h: section \"Present But Cannot Be Compiled\"" >&5
-+echo "$as_me: WARNING: sys/socket.h: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&5
-+echo "$as_me: WARNING: sys/socket.h: proceeding with the preprocessor's result" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/socket.h: in the future, the compiler will take precedence" >&5
-+echo "$as_me: WARNING: sys/socket.h: in the future, the compiler will take precedence" >&2;}
-+ (
-+ cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists. ##
-+## ------------------------------------------ ##
-+_ASBOX
-+ ) |
-+ sed "s/^/$as_me: WARNING: /" >&2
-+ ;;
-+esac
-+echo "$as_me:$LINENO: checking for sys/socket.h" >&5
-+echo $ECHO_N "checking for sys/socket.h... $ECHO_C" >&6
-+if test "${ac_cv_header_sys_socket_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_cv_header_sys_socket_h=$ac_header_preproc
- fi
--if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-+echo "$as_me:$LINENO: result: $ac_cv_header_sys_socket_h" >&5
-+echo "${ECHO_T}$ac_cv_header_sys_socket_h" >&6
-+
-+fi
-+if test $ac_cv_header_sys_socket_h = yes; then
- :
- else
-- echo "$ac_t""no" 1>&6
--{ echo "configure: error: "arpa/inet.h not found"" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: \"sys/socket.h not found\"" >&5
-+echo "$as_me: error: \"sys/socket.h not found\"" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
-
--ac_safe=`echo "fcntl.h" | sed 'y%./+-%__p_%'`
--echo $ac_n "checking for fcntl.h""... $ac_c" 1>&6
--echo "configure:1270: checking for fcntl.h" >&5
--if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+
-+if test "${ac_cv_header_arpa_inet_h+set}" = set; then
-+ echo "$as_me:$LINENO: checking for arpa/inet.h" >&5
-+echo $ECHO_N "checking for arpa/inet.h... $ECHO_C" >&6
-+if test "${ac_cv_header_arpa_inet_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_header_arpa_inet_h" >&5
-+echo "${ECHO_T}$ac_cv_header_arpa_inet_h" >&6
-+else
-+ # Is the header compilable?
-+echo "$as_me:$LINENO: checking arpa/inet.h usability" >&5
-+echo $ECHO_N "checking arpa/inet.h usability... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+#include <arpa/inet.h>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_header_compiler=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+# Is the header present?
-+echo "$as_me:$LINENO: checking arpa/inet.h presence" >&5
-+echo $ECHO_N "checking arpa/inet.h presence... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <arpa/inet.h>
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
- else
-- cat > conftest.$ac_ext <<EOF
--#line 1275 "configure"
--#include "confdefs.h"
--#include <fcntl.h>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1280: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=yes"
--else
-- echo "$ac_err" >&5
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=no"
-+ ac_cpp_err=yes
- fi
--rm -f conftest*
-+if test -z "$ac_cpp_err"; then
-+ ac_header_preproc=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_header_preproc=no
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+ yes:no: )
-+ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: accepted by the compiler, rejected by the preprocessor!" >&5
-+echo "$as_me: WARNING: arpa/inet.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: proceeding with the compiler's result" >&5
-+echo "$as_me: WARNING: arpa/inet.h: proceeding with the compiler's result" >&2;}
-+ ac_header_preproc=yes
-+ ;;
-+ no:yes:* )
-+ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: present but cannot be compiled" >&5
-+echo "$as_me: WARNING: arpa/inet.h: present but cannot be compiled" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: check for missing prerequisite headers?" >&5
-+echo "$as_me: WARNING: arpa/inet.h: check for missing prerequisite headers?" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: see the Autoconf documentation" >&5
-+echo "$as_me: WARNING: arpa/inet.h: see the Autoconf documentation" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: section \"Present But Cannot Be Compiled\"" >&5
-+echo "$as_me: WARNING: arpa/inet.h: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: proceeding with the preprocessor's result" >&5
-+echo "$as_me: WARNING: arpa/inet.h: proceeding with the preprocessor's result" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: arpa/inet.h: in the future, the compiler will take precedence" >&5
-+echo "$as_me: WARNING: arpa/inet.h: in the future, the compiler will take precedence" >&2;}
-+ (
-+ cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists. ##
-+## ------------------------------------------ ##
-+_ASBOX
-+ ) |
-+ sed "s/^/$as_me: WARNING: /" >&2
-+ ;;
-+esac
-+echo "$as_me:$LINENO: checking for arpa/inet.h" >&5
-+echo $ECHO_N "checking for arpa/inet.h... $ECHO_C" >&6
-+if test "${ac_cv_header_arpa_inet_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_cv_header_arpa_inet_h=$ac_header_preproc
- fi
--if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-+echo "$as_me:$LINENO: result: $ac_cv_header_arpa_inet_h" >&5
-+echo "${ECHO_T}$ac_cv_header_arpa_inet_h" >&6
-+
-+fi
-+if test $ac_cv_header_arpa_inet_h = yes; then
- :
- else
-- echo "$ac_t""no" 1>&6
--{ echo "configure: error: "fcntl.h not found"" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: \"arpa/inet.h not found\"" >&5
-+echo "$as_me: error: \"arpa/inet.h not found\"" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
-
--ac_safe=`echo "sys/poll.h" | sed 'y%./+-%__p_%'`
--echo $ac_n "checking for sys/poll.h""... $ac_c" 1>&6
--echo "configure:1305: checking for sys/poll.h" >&5
--if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+
-+if test "${ac_cv_header_fcntl_h+set}" = set; then
-+ echo "$as_me:$LINENO: checking for fcntl.h" >&5
-+echo $ECHO_N "checking for fcntl.h... $ECHO_C" >&6
-+if test "${ac_cv_header_fcntl_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_header_fcntl_h" >&5
-+echo "${ECHO_T}$ac_cv_header_fcntl_h" >&6
-+else
-+ # Is the header compilable?
-+echo "$as_me:$LINENO: checking fcntl.h usability" >&5
-+echo $ECHO_N "checking fcntl.h usability... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+#include <fcntl.h>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_header_compiler=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+# Is the header present?
-+echo "$as_me:$LINENO: checking fcntl.h presence" >&5
-+echo $ECHO_N "checking fcntl.h presence... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <fcntl.h>
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
- else
-- cat > conftest.$ac_ext <<EOF
--#line 1310 "configure"
--#include "confdefs.h"
-+ ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-+ ac_header_preproc=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_header_preproc=no
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+ yes:no: )
-+ { echo "$as_me:$LINENO: WARNING: fcntl.h: accepted by the compiler, rejected by the preprocessor!" >&5
-+echo "$as_me: WARNING: fcntl.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: fcntl.h: proceeding with the compiler's result" >&5
-+echo "$as_me: WARNING: fcntl.h: proceeding with the compiler's result" >&2;}
-+ ac_header_preproc=yes
-+ ;;
-+ no:yes:* )
-+ { echo "$as_me:$LINENO: WARNING: fcntl.h: present but cannot be compiled" >&5
-+echo "$as_me: WARNING: fcntl.h: present but cannot be compiled" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: fcntl.h: check for missing prerequisite headers?" >&5
-+echo "$as_me: WARNING: fcntl.h: check for missing prerequisite headers?" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: fcntl.h: see the Autoconf documentation" >&5
-+echo "$as_me: WARNING: fcntl.h: see the Autoconf documentation" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: fcntl.h: section \"Present But Cannot Be Compiled\"" >&5
-+echo "$as_me: WARNING: fcntl.h: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: fcntl.h: proceeding with the preprocessor's result" >&5
-+echo "$as_me: WARNING: fcntl.h: proceeding with the preprocessor's result" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: fcntl.h: in the future, the compiler will take precedence" >&5
-+echo "$as_me: WARNING: fcntl.h: in the future, the compiler will take precedence" >&2;}
-+ (
-+ cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists. ##
-+## ------------------------------------------ ##
-+_ASBOX
-+ ) |
-+ sed "s/^/$as_me: WARNING: /" >&2
-+ ;;
-+esac
-+echo "$as_me:$LINENO: checking for fcntl.h" >&5
-+echo $ECHO_N "checking for fcntl.h... $ECHO_C" >&6
-+if test "${ac_cv_header_fcntl_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_cv_header_fcntl_h=$ac_header_preproc
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_header_fcntl_h" >&5
-+echo "${ECHO_T}$ac_cv_header_fcntl_h" >&6
-+
-+fi
-+if test $ac_cv_header_fcntl_h = yes; then
-+ :
-+else
-+ { { echo "$as_me:$LINENO: error: \"fcntl.h not found\"" >&5
-+echo "$as_me: error: \"fcntl.h not found\"" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+
-+
-+if test "${ac_cv_header_sys_poll_h+set}" = set; then
-+ echo "$as_me:$LINENO: checking for sys/poll.h" >&5
-+echo $ECHO_N "checking for sys/poll.h... $ECHO_C" >&6
-+if test "${ac_cv_header_sys_poll_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_header_sys_poll_h" >&5
-+echo "${ECHO_T}$ac_cv_header_sys_poll_h" >&6
-+else
-+ # Is the header compilable?
-+echo "$as_me:$LINENO: checking sys/poll.h usability" >&5
-+echo $ECHO_N "checking sys/poll.h usability... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+#include <sys/poll.h>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_header_compiler=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+# Is the header present?
-+echo "$as_me:$LINENO: checking sys/poll.h presence" >&5
-+echo $ECHO_N "checking sys/poll.h presence... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
- #include <sys/poll.h>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1315: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=yes"
--else
-- echo "$ac_err" >&5
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=no"
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
- fi
--rm -f conftest*
-+if test -z "$ac_cpp_err"; then
-+ ac_header_preproc=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_header_preproc=no
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+ yes:no: )
-+ { echo "$as_me:$LINENO: WARNING: sys/poll.h: accepted by the compiler, rejected by the preprocessor!" >&5
-+echo "$as_me: WARNING: sys/poll.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/poll.h: proceeding with the compiler's result" >&5
-+echo "$as_me: WARNING: sys/poll.h: proceeding with the compiler's result" >&2;}
-+ ac_header_preproc=yes
-+ ;;
-+ no:yes:* )
-+ { echo "$as_me:$LINENO: WARNING: sys/poll.h: present but cannot be compiled" >&5
-+echo "$as_me: WARNING: sys/poll.h: present but cannot be compiled" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/poll.h: check for missing prerequisite headers?" >&5
-+echo "$as_me: WARNING: sys/poll.h: check for missing prerequisite headers?" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/poll.h: see the Autoconf documentation" >&5
-+echo "$as_me: WARNING: sys/poll.h: see the Autoconf documentation" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/poll.h: section \"Present But Cannot Be Compiled\"" >&5
-+echo "$as_me: WARNING: sys/poll.h: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/poll.h: proceeding with the preprocessor's result" >&5
-+echo "$as_me: WARNING: sys/poll.h: proceeding with the preprocessor's result" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/poll.h: in the future, the compiler will take precedence" >&5
-+echo "$as_me: WARNING: sys/poll.h: in the future, the compiler will take precedence" >&2;}
-+ (
-+ cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists. ##
-+## ------------------------------------------ ##
-+_ASBOX
-+ ) |
-+ sed "s/^/$as_me: WARNING: /" >&2
-+ ;;
-+esac
-+echo "$as_me:$LINENO: checking for sys/poll.h" >&5
-+echo $ECHO_N "checking for sys/poll.h... $ECHO_C" >&6
-+if test "${ac_cv_header_sys_poll_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_cv_header_sys_poll_h=$ac_header_preproc
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_header_sys_poll_h" >&5
-+echo "${ECHO_T}$ac_cv_header_sys_poll_h" >&6
-+
- fi
--if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-+if test $ac_cv_header_sys_poll_h = yes; then
- :
- else
-- echo "$ac_t""no" 1>&6
--{ echo "configure: error: "sys/poll.h not found"" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: \"sys/poll.h not found\"" >&5
-+echo "$as_me: error: \"sys/poll.h not found\"" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+
-+
-+if test "${ac_cv_header_sys_mman_h+set}" = set; then
-+ echo "$as_me:$LINENO: checking for sys/mman.h" >&5
-+echo $ECHO_N "checking for sys/mman.h... $ECHO_C" >&6
-+if test "${ac_cv_header_sys_mman_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_header_sys_mman_h" >&5
-+echo "${ECHO_T}$ac_cv_header_sys_mman_h" >&6
-+else
-+ # Is the header compilable?
-+echo "$as_me:$LINENO: checking sys/mman.h usability" >&5
-+echo $ECHO_N "checking sys/mman.h usability... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+#include <sys/mman.h>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_header_compiler=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+# Is the header present?
-+echo "$as_me:$LINENO: checking sys/mman.h presence" >&5
-+echo $ECHO_N "checking sys/mman.h presence... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <sys/mman.h>
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
- fi
-+if test -z "$ac_cpp_err"; then
-+ ac_header_preproc=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-
-+ ac_header_preproc=no
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+ yes:no: )
-+ { echo "$as_me:$LINENO: WARNING: sys/mman.h: accepted by the compiler, rejected by the preprocessor!" >&5
-+echo "$as_me: WARNING: sys/mman.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/mman.h: proceeding with the compiler's result" >&5
-+echo "$as_me: WARNING: sys/mman.h: proceeding with the compiler's result" >&2;}
-+ ac_header_preproc=yes
-+ ;;
-+ no:yes:* )
-+ { echo "$as_me:$LINENO: WARNING: sys/mman.h: present but cannot be compiled" >&5
-+echo "$as_me: WARNING: sys/mman.h: present but cannot be compiled" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/mman.h: check for missing prerequisite headers?" >&5
-+echo "$as_me: WARNING: sys/mman.h: check for missing prerequisite headers?" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/mman.h: see the Autoconf documentation" >&5
-+echo "$as_me: WARNING: sys/mman.h: see the Autoconf documentation" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/mman.h: section \"Present But Cannot Be Compiled\"" >&5
-+echo "$as_me: WARNING: sys/mman.h: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/mman.h: proceeding with the preprocessor's result" >&5
-+echo "$as_me: WARNING: sys/mman.h: proceeding with the preprocessor's result" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: sys/mman.h: in the future, the compiler will take precedence" >&5
-+echo "$as_me: WARNING: sys/mman.h: in the future, the compiler will take precedence" >&2;}
-+ (
-+ cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists. ##
-+## ------------------------------------------ ##
-+_ASBOX
-+ ) |
-+ sed "s/^/$as_me: WARNING: /" >&2
-+ ;;
-+esac
-+echo "$as_me:$LINENO: checking for sys/mman.h" >&5
-+echo $ECHO_N "checking for sys/mman.h... $ECHO_C" >&6
-+if test "${ac_cv_header_sys_mman_h+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_cv_header_sys_mman_h=$ac_header_preproc
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_header_sys_mman_h" >&5
-+echo "${ECHO_T}$ac_cv_header_sys_mman_h" >&6
-
--for ac_hdr in unistd.h
--do
--ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
--echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:1342: checking for $ac_hdr" >&5
--if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
--else
-- cat > conftest.$ac_ext <<EOF
--#line 1347 "configure"
--#include "confdefs.h"
--#include <$ac_hdr>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1352: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=yes"
--else
-- echo "$ac_err" >&5
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_header_$ac_safe=no"
- fi
--rm -f conftest*
-+if test $ac_cv_header_sys_mman_h = yes; then
-+ :
-+else
-+ { { echo "$as_me:$LINENO: error: \"sys/mman.h not found\"" >&5
-+echo "$as_me: error: \"sys/mman.h not found\"" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+
-+
-+
-+for ac_header in unistd.h
-+do
-+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-+if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-+if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+fi
-+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+else
-+ # Is the header compilable?
-+echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_header_compiler=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+# Is the header present?
-+echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <$ac_header>
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
- fi
--if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-- cat >> confdefs.h <<EOF
--#define $ac_tr_hdr 1
--EOF
--
-+if test -z "$ac_cpp_err"; then
-+ ac_header_preproc=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_header_preproc=no
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+ yes:no: )
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-+ ac_header_preproc=yes
-+ ;;
-+ no:yes:* )
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-+ (
-+ cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists. ##
-+## ------------------------------------------ ##
-+_ASBOX
-+ ) |
-+ sed "s/^/$as_me: WARNING: /" >&2
-+ ;;
-+esac
-+echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-+if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- echo "$ac_t""no" 1>&6
-+ eval "$as_ac_Header=\$ac_header_preproc"
- fi
-+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+
-+fi
-+if test `eval echo '${'$as_ac_Header'}'` = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
-+fi
-+
- done
-
-
--for ac_func in strcspn strdup strerror strspn strtol
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+for ac_func in strcspn strdup strerror strspn strtol mmap strcasecmp \
-+ strncasecmp strtol
- do
--echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
--echo "configure:1382: checking for $ac_func" >&5
--if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
--else
-- cat > conftest.$ac_ext <<EOF
--#line 1387 "configure"
--#include "confdefs.h"
-+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-+echo "$as_me:$LINENO: checking for $ac_func" >&5
-+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-+if eval "test \"\${$as_ac_var+set}\" = set"; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
-+#define $ac_func innocuous_$ac_func
-+
- /* System header to define __stub macros and hopefully few prototypes,
-- which can conflict with char $ac_func(); below. */
--#include <assert.h>
--/* Override any gcc2 internal prototype to avoid an error. */
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
--char $ac_func();
-+ which can conflict with char $ac_func (); below.
-+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+ <limits.h> exists even on freestanding compilers. */
-
--int main() {
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-
-+#undef $ac_func
-+
-+/* Override any gcc2 internal prototype to avoid an error. */
-+#ifdef __cplusplus
-+extern "C"
-+{
-+#endif
-+/* We use char because int might match the return type of a gcc2
-+ builtin and then its argument prototype would still apply. */
-+char $ac_func ();
- /* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
- #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
- choke me
- #else
--$ac_func();
-+char (*f) () = $ac_func;
-+#endif
-+#ifdef __cplusplus
-+}
- #endif
-
--; return 0; }
--EOF
--if { (eval echo configure:1410: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-- rm -rf conftest*
-- eval "ac_cv_func_$ac_func=yes"
--else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_func_$ac_func=no"
-+int
-+main ()
-+{
-+return f != $ac_func;
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ eval "$as_ac_var=yes"
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+eval "$as_ac_var=no"
-+fi
-+rm -f conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+fi
-+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-+if test `eval echo '${'$as_ac_var'}'` = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-+_ACEOF
-+
-+else
-+ { { echo "$as_me:$LINENO: error: \"Required function not found\"" >&5
-+echo "$as_me: error: \"Required function not found\"" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
--rm -f conftest*
-+done
-+
-+
-+
-+
-+ ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+ echo "$as_me:$LINENO: checking how many arguments gethostbyname_r() takes" >&5
-+echo $ECHO_N "checking how many arguments gethostbyname_r() takes... $ECHO_C" >&6
-+
-+ if test "${ac_cv_func_which_gethostbyname_r+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+
-+
-+
-+ac_cv_func_which_gethostbyname_r=unknown
-+
-+#
-+# ONE ARGUMENT (sanity check)
-+#
-+
-+# This should fail, as there is no variant of gethostbyname_r() that takes
-+# a single argument. If it actually compiles, then we can assume that
-+# netdb.h is not declaring the function, and the compiler is thereby
-+# assuming an implicit prototype. In which case, we're out of luck.
-+#
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <netdb.h>
-+int
-+main ()
-+{
-+
-+ char *name = "www.gnu.org";
-+ (void)gethostbyname_r(name) /* ; */
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_func_which_gethostbyname_r=no
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
- fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+#
-+# SIX ARGUMENTS
-+# (e.g. Linux)
-+#
-+
-+if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
-
--if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-- cat >> confdefs.h <<EOF
--#define $ac_tr_func 1
--EOF
--
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <netdb.h>
-+int
-+main ()
-+{
-+
-+ char *name = "www.gnu.org";
-+ struct hostent ret, *retp;
-+ char buf[1024];
-+ int buflen = 1024;
-+ int my_h_errno;
-+ (void)gethostbyname_r(name, &ret, buf, buflen, &retp, &my_h_errno) /* ; */
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_func_which_gethostbyname_r=six
- else
-- echo "$ac_t""no" 1>&6
--{ echo "configure: error: "Required function not found"" 1>&2; exit 1; }
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
- fi
--done
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+fi
-+
-+#
-+# FIVE ARGUMENTS
-+# (e.g. Solaris)
-+#
-+
-+if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
-+
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <netdb.h>
-+int
-+main ()
-+{
-+
-+ char *name = "www.gnu.org";
-+ struct hostent ret;
-+ char buf[1024];
-+ int buflen = 1024;
-+ int my_h_errno;
-+ (void)gethostbyname_r(name, &ret, buf, buflen, &my_h_errno) /* ; */
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_func_which_gethostbyname_r=five
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+fi
-+
-+#
-+# THREE ARGUMENTS
-+# (e.g. AIX, HP-UX, Tru64)
-+#
-+
-+if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
-+
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <netdb.h>
-+int
-+main ()
-+{
-+
-+ char *name = "www.gnu.org";
-+ struct hostent ret;
-+ struct hostent_data data;
-+ (void)gethostbyname_r(name, &ret, &data) /* ; */
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_func_which_gethostbyname_r=three
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+fi
-+
-+
-+
-+fi
-+
-+case "$ac_cv_func_which_gethostbyname_r" in
-+ three)
-+ echo "$as_me:$LINENO: result: three" >&5
-+echo "${ECHO_T}three" >&6
-+ cat >>confdefs.h <<\_ACEOF
-+#define HAVE_FUNC_GETHOSTBYNAME_R_3 1
-+_ACEOF
-+
-+ ;;
-+
-+ five)
-+ echo "$as_me:$LINENO: result: five" >&5
-+echo "${ECHO_T}five" >&6
-+ cat >>confdefs.h <<\_ACEOF
-+#define HAVE_FUNC_GETHOSTBYNAME_R_5 1
-+_ACEOF
-+
-+ ;;
-+
-+ six)
-+ echo "$as_me:$LINENO: result: six" >&5
-+echo "${ECHO_T}six" >&6
-+ cat >>confdefs.h <<\_ACEOF
-+#define HAVE_FUNC_GETHOSTBYNAME_R_6 1
-+_ACEOF
-+
-+ ;;
-+
-+ no)
-+ echo "$as_me:$LINENO: result: cannot find function declaration in netdb.h" >&5
-+echo "${ECHO_T}cannot find function declaration in netdb.h" >&6
-+ ;;
-+
-+ unknown)
-+ echo "$as_me:$LINENO: result: can't tell" >&5
-+echo "${ECHO_T}can't tell" >&6
-+ ;;
-+
-+ *)
-+ { { echo "$as_me:$LINENO: error: internal error" >&5
-+echo "$as_me: error: internal error" >&2;}
-+ { (exit 1); exit 1; }; }
-+ ;;
-+esac
-+
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+
-
-
- OLDLIBS="${LIBS}"
- LIBS=
- CONNECTLIB=
- for LIB in c socket; do
-- echo $ac_n "checking for connect in -l"${LIB}"""... $ac_c" 1>&6
--echo "configure:1441: checking for connect in -l"${LIB}"" >&5
--ac_lib_var=`echo "${LIB}"'_'connect | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+ as_ac_Lib=`echo "ac_cv_lib_"${LIB}"''_connect" | $as_tr_sh`
-+echo "$as_me:$LINENO: checking for connect in -l\"${LIB}\"" >&5
-+echo $ECHO_N "checking for connect in -l\"${LIB}\"... $ECHO_C" >&6
-+if eval "test \"\${$as_ac_Lib+set}\" = set"; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- ac_save_LIBS="$LIBS"
-+ ac_check_lib_save_LIBS=$LIBS
- LIBS="-l"${LIB}" $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1449 "configure"
--#include "confdefs.h"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
- /* Override any gcc2 internal prototype to avoid an error. */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
- /* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
--char connect();
--
--int main() {
--connect()
--; return 0; }
--EOF
--if { (eval echo configure:1460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-- rm -rf conftest*
-- eval "ac_cv_lib_$ac_lib_var=yes"
--else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
-+ builtin and then its argument prototype would still apply. */
-+char connect ();
-+int
-+main ()
-+{
-+connect ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ eval "$as_ac_Lib=yes"
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+eval "$as_ac_Lib=no"
-+fi
-+rm -f conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+LIBS=$ac_check_lib_save_LIBS
-+fi
-+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Lib'}'`" >&5
-+echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
-+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
-
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
--
- CONNECTLIB="${LIB}"
- break
--
--else
-- echo "$ac_t""no" 1>&6
-+
- fi
-
- done
- LIBS="${OLDLIBS} -l${CONNECTLIB}"
- if test "${CONNECTLIB}" = ""; then
-- { echo "configure: error: 'Could not find library containing connect()'" 1>&2; exit 1; }
--fi
-+ { { echo "$as_me:$LINENO: error: 'Could not find library containing connect()'" >&5
-+echo "$as_me: error: 'Could not find library containing connect()'" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+echo "$as_me:$LINENO: checking for socket" >&5
-+echo $ECHO_N "checking for socket... $ECHO_C" >&6
-+if test "${ac_cv_func_socket+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+/* Define socket to an innocuous variant, in case <limits.h> declares socket.
-+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
-+#define socket innocuous_socket
-
--echo $ac_n "checking for socket""... $ac_c" 1>&6
--echo "configure:1490: checking for socket" >&5
--if eval "test \"`echo '$''{'ac_cv_func_socket'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
--else
-- cat > conftest.$ac_ext <<EOF
--#line 1495 "configure"
--#include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
-- which can conflict with char socket(); below. */
--#include <assert.h>
--/* Override any gcc2 internal prototype to avoid an error. */
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
--char socket();
-+ which can conflict with char socket (); below.
-+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+ <limits.h> exists even on freestanding compilers. */
-
--int main() {
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-
-+#undef socket
-+
-+/* Override any gcc2 internal prototype to avoid an error. */
-+#ifdef __cplusplus
-+extern "C"
-+{
-+#endif
-+/* We use char because int might match the return type of a gcc2
-+ builtin and then its argument prototype would still apply. */
-+char socket ();
- /* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
- #if defined (__stub_socket) || defined (__stub___socket)
- choke me
- #else
--socket();
-+char (*f) () = socket;
-+#endif
-+#ifdef __cplusplus
-+}
- #endif
-
--; return 0; }
--EOF
--if { (eval echo configure:1518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-- rm -rf conftest*
-- eval "ac_cv_func_socket=yes"
--else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_func_socket=no"
--fi
--rm -f conftest*
--fi
--
--if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-+int
-+main ()
-+{
-+return f != socket;
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_func_socket=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_func_socket=no
-+fi
-+rm -f conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_func_socket" >&5
-+echo "${ECHO_T}$ac_cv_func_socket" >&6
-+if test $ac_cv_func_socket = yes; then
- :
- else
-- echo "$ac_t""no" 1>&6
-
-- echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
--echo "configure:1537: checking for socket in -lsocket" >&5
--ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+
-+echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
-+echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6
-+if test "${ac_cv_lib_socket_socket+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- ac_save_LIBS="$LIBS"
-+ ac_check_lib_save_LIBS=$LIBS
- LIBS="-lsocket $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1545 "configure"
--#include "confdefs.h"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
- /* Override any gcc2 internal prototype to avoid an error. */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
- /* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
--char socket();
--
--int main() {
--socket()
--; return 0; }
--EOF
--if { (eval echo configure:1556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-- rm -rf conftest*
-- eval "ac_cv_lib_$ac_lib_var=yes"
--else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
--
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-- ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-- cat >> confdefs.h <<EOF
--#define $ac_tr_lib 1
--EOF
-+ builtin and then its argument prototype would still apply. */
-+char socket ();
-+int
-+main ()
-+{
-+socket ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_lib_socket_socket=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_socket_socket=no
-+fi
-+rm -f conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+LIBS=$ac_check_lib_save_LIBS
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
-+echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6
-+if test $ac_cv_lib_socket_socket = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define HAVE_LIBSOCKET 1
-+_ACEOF
-
- LIBS="-lsocket $LIBS"
-
- else
-- echo "$ac_t""no" 1>&6
--{ echo "configure: error: "socket function not found"" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: \"socket function not found\"" >&5
-+echo "$as_me: error: \"socket function not found\"" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
- fi
-
-
--echo $ac_n "checking for inet_aton""... $ac_c" 1>&6
--echo "configure:1588: checking for inet_aton" >&5
--if eval "test \"`echo '$''{'ac_cv_func_inet_aton'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+echo "$as_me:$LINENO: checking for inet_aton" >&5
-+echo $ECHO_N "checking for inet_aton... $ECHO_C" >&6
-+if test "${ac_cv_func_inet_aton+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- cat > conftest.$ac_ext <<EOF
--#line 1593 "configure"
--#include "confdefs.h"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+/* Define inet_aton to an innocuous variant, in case <limits.h> declares inet_aton.
-+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
-+#define inet_aton innocuous_inet_aton
-+
- /* System header to define __stub macros and hopefully few prototypes,
-- which can conflict with char inet_aton(); below. */
--#include <assert.h>
--/* Override any gcc2 internal prototype to avoid an error. */
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
--char inet_aton();
-+ which can conflict with char inet_aton (); below.
-+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+ <limits.h> exists even on freestanding compilers. */
-
--int main() {
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-
-+#undef inet_aton
-+
-+/* Override any gcc2 internal prototype to avoid an error. */
-+#ifdef __cplusplus
-+extern "C"
-+{
-+#endif
-+/* We use char because int might match the return type of a gcc2
-+ builtin and then its argument prototype would still apply. */
-+char inet_aton ();
- /* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
- #if defined (__stub_inet_aton) || defined (__stub___inet_aton)
- choke me
- #else
--inet_aton();
-+char (*f) () = inet_aton;
-+#endif
-+#ifdef __cplusplus
-+}
- #endif
-
--; return 0; }
--EOF
--if { (eval echo configure:1616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-- rm -rf conftest*
-- eval "ac_cv_func_inet_aton=yes"
--else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_func_inet_aton=no"
--fi
--rm -f conftest*
--fi
--
--if eval "test \"`echo '$ac_cv_func_'inet_aton`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-- cat >> confdefs.h <<\EOF
-+int
-+main ()
-+{
-+return f != inet_aton;
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_func_inet_aton=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_func_inet_aton=no
-+fi
-+rm -f conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_func_inet_aton" >&5
-+echo "${ECHO_T}$ac_cv_func_inet_aton" >&6
-+if test $ac_cv_func_inet_aton = yes; then
-+ cat >>confdefs.h <<\_ACEOF
- #define HAVE_INET_ATON 1
--EOF
-+_ACEOF
-
- else
-- echo "$ac_t""no" 1>&6
-
-- echo $ac_n "checking for inet_addr""... $ac_c" 1>&6
--echo "configure:1638: checking for inet_addr" >&5
--if eval "test \"`echo '$''{'ac_cv_func_inet_addr'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
--else
-- cat > conftest.$ac_ext <<EOF
--#line 1643 "configure"
--#include "confdefs.h"
-+ echo "$as_me:$LINENO: checking for inet_addr" >&5
-+echo $ECHO_N "checking for inet_addr... $ECHO_C" >&6
-+if test "${ac_cv_func_inet_addr+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+/* Define inet_addr to an innocuous variant, in case <limits.h> declares inet_addr.
-+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
-+#define inet_addr innocuous_inet_addr
-+
- /* System header to define __stub macros and hopefully few prototypes,
-- which can conflict with char inet_addr(); below. */
--#include <assert.h>
--/* Override any gcc2 internal prototype to avoid an error. */
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
--char inet_addr();
-+ which can conflict with char inet_addr (); below.
-+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+ <limits.h> exists even on freestanding compilers. */
-
--int main() {
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+
-+#undef inet_addr
-
-+/* Override any gcc2 internal prototype to avoid an error. */
-+#ifdef __cplusplus
-+extern "C"
-+{
-+#endif
-+/* We use char because int might match the return type of a gcc2
-+ builtin and then its argument prototype would still apply. */
-+char inet_addr ();
- /* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
- #if defined (__stub_inet_addr) || defined (__stub___inet_addr)
- choke me
- #else
--inet_addr();
-+char (*f) () = inet_addr;
-+#endif
-+#ifdef __cplusplus
-+}
- #endif
-
--; return 0; }
--EOF
--if { (eval echo configure:1666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-- rm -rf conftest*
-- eval "ac_cv_func_inet_addr=yes"
--else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_func_inet_addr=no"
--fi
--rm -f conftest*
--fi
--
--if eval "test \"`echo '$ac_cv_func_'inet_addr`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-- cat >> confdefs.h <<\EOF
-+int
-+main ()
-+{
-+return f != inet_addr;
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_func_inet_addr=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_func_inet_addr=no
-+fi
-+rm -f conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_func_inet_addr" >&5
-+echo "${ECHO_T}$ac_cv_func_inet_addr" >&6
-+if test $ac_cv_func_inet_addr = yes; then
-+ cat >>confdefs.h <<\_ACEOF
- #define HAVE_INET_ADDR 1
--EOF
-+_ACEOF
-
- else
-- echo "$ac_t""no" 1>&6
-
-- echo $ac_n "checking for inet_addr in -lnsl""... $ac_c" 1>&6
--echo "configure:1688: checking for inet_addr in -lnsl" >&5
--ac_lib_var=`echo nsl'_'inet_addr | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+ echo "$as_me:$LINENO: checking for inet_addr in -lnsl" >&5
-+echo $ECHO_N "checking for inet_addr in -lnsl... $ECHO_C" >&6
-+if test "${ac_cv_lib_nsl_inet_addr+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- ac_save_LIBS="$LIBS"
--LIBS="-lnsl $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1696 "configure"
--#include "confdefs.h"
--/* Override any gcc2 internal prototype to avoid an error. */
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
--char inet_addr();
--
--int main() {
--inet_addr()
--; return 0; }
--EOF
--if { (eval echo configure:1707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-- rm -rf conftest*
-- eval "ac_cv_lib_$ac_lib_var=yes"
--else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
-+ ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lnsl $LIBS"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-- cat >> confdefs.h <<\EOF
-+/* Override any gcc2 internal prototype to avoid an error. */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
-+/* We use char because int might match the return type of a gcc2
-+ builtin and then its argument prototype would still apply. */
-+char inet_addr ();
-+int
-+main ()
-+{
-+inet_addr ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_lib_nsl_inet_addr=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_nsl_inet_addr=no
-+fi
-+rm -f conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+LIBS=$ac_check_lib_save_LIBS
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_inet_addr" >&5
-+echo "${ECHO_T}$ac_cv_lib_nsl_inet_addr" >&6
-+if test $ac_cv_lib_nsl_inet_addr = yes; then
-+ cat >>confdefs.h <<\_ACEOF
- #define HAVE_INET_ADDR 1
--EOF
-+_ACEOF
-
-- LIBS="${LIBS} -lnsl"
-+ LIBS="${LIBS} -lnsl"
- else
-- echo "$ac_t""no" 1>&6
-
-- { echo "configure: error: "Neither inet_aton or inet_addr present"" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: \"Neither inet_aton or inet_addr present\"" >&5
-+echo "$as_me: error: \"Neither inet_aton or inet_addr present\"" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
- fi
-
- fi
-
-
--echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
--echo "configure:1739: checking for gethostbyname" >&5
--if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+echo "$as_me:$LINENO: checking for gethostbyname" >&5
-+echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
-+if test "${ac_cv_func_gethostbyname+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- cat > conftest.$ac_ext <<EOF
--#line 1744 "configure"
--#include "confdefs.h"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+/* Define gethostbyname to an innocuous variant, in case <limits.h> declares gethostbyname.
-+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
-+#define gethostbyname innocuous_gethostbyname
-+
- /* System header to define __stub macros and hopefully few prototypes,
-- which can conflict with char gethostbyname(); below. */
--#include <assert.h>
--/* Override any gcc2 internal prototype to avoid an error. */
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
--char gethostbyname();
-+ which can conflict with char gethostbyname (); below.
-+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+ <limits.h> exists even on freestanding compilers. */
-
--int main() {
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-
-+#undef gethostbyname
-+
-+/* Override any gcc2 internal prototype to avoid an error. */
-+#ifdef __cplusplus
-+extern "C"
-+{
-+#endif
-+/* We use char because int might match the return type of a gcc2
-+ builtin and then its argument prototype would still apply. */
-+char gethostbyname ();
- /* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
- #if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
- choke me
- #else
--gethostbyname();
-+char (*f) () = gethostbyname;
-+#endif
-+#ifdef __cplusplus
-+}
- #endif
-
--; return 0; }
--EOF
--if { (eval echo configure:1767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-- rm -rf conftest*
-- eval "ac_cv_func_gethostbyname=yes"
--else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_func_gethostbyname=no"
--fi
--rm -f conftest*
--fi
--
--if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-- cat >> confdefs.h <<\EOF
-+int
-+main ()
-+{
-+return f != gethostbyname;
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_func_gethostbyname=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_func_gethostbyname=no
-+fi
-+rm -f conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
-+echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
-+if test $ac_cv_func_gethostbyname = yes; then
-+ cat >>confdefs.h <<\_ACEOF
- #define HAVE_GETHOSTBYNAME 1
--EOF
-+_ACEOF
-
- else
-- echo "$ac_t""no" 1>&6
-
-- echo $ac_n "checking for gethostbyname in -lxnet""... $ac_c" 1>&6
--echo "configure:1789: checking for gethostbyname in -lxnet" >&5
--ac_lib_var=`echo xnet'_'gethostbyname | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+ echo "$as_me:$LINENO: checking for gethostbyname in -lxnet" >&5
-+echo $ECHO_N "checking for gethostbyname in -lxnet... $ECHO_C" >&6
-+if test "${ac_cv_lib_xnet_gethostbyname+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- ac_save_LIBS="$LIBS"
-+ ac_check_lib_save_LIBS=$LIBS
- LIBS="-lxnet $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1797 "configure"
--#include "confdefs.h"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
- /* Override any gcc2 internal prototype to avoid an error. */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
- /* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
--char gethostbyname();
--
--int main() {
--gethostbyname()
--; return 0; }
--EOF
--if { (eval echo configure:1808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-- rm -rf conftest*
-- eval "ac_cv_lib_$ac_lib_var=yes"
--else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
--
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-- cat >> confdefs.h <<\EOF
-+ builtin and then its argument prototype would still apply. */
-+char gethostbyname ();
-+int
-+main ()
-+{
-+gethostbyname ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_lib_xnet_gethostbyname=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_xnet_gethostbyname=no
-+fi
-+rm -f conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+LIBS=$ac_check_lib_save_LIBS
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_lib_xnet_gethostbyname" >&5
-+echo "${ECHO_T}$ac_cv_lib_xnet_gethostbyname" >&6
-+if test $ac_cv_lib_xnet_gethostbyname = yes; then
-+ cat >>confdefs.h <<\_ACEOF
- #define HAVE_GETHOSTBYNAME 1
--EOF
-+_ACEOF
-
- else
-- echo "$ac_t""no" 1>&6
-
-- { echo "configure: error: "gethostbyname not found, name lookups in " \
-- "tsocks and inspectsocks disabled"" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: \"gethostbyname not found, name lookups in \" \
-+ \"tsocks and inspectsocks disabled\"" >&5
-+echo "$as_me: error: \"gethostbyname not found, name lookups in \" \
-+ \"tsocks and inspectsocks disabled\"" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
- fi
-
-
- SIMPLELIBS=${LIBS}
- LIBS=
-
--echo $ac_n "checking for dlsym in -ldl""... $ac_c" 1>&6
--echo "configure:1841: checking for dlsym in -ldl" >&5
--ac_lib_var=`echo dl'_'dlsym | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+
-+echo "$as_me:$LINENO: checking for dlsym in -ldl" >&5
-+echo $ECHO_N "checking for dlsym in -ldl... $ECHO_C" >&6
-+if test "${ac_cv_lib_dl_dlsym+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-- ac_save_LIBS="$LIBS"
-+ ac_check_lib_save_LIBS=$LIBS
- LIBS="-ldl $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1849 "configure"
--#include "confdefs.h"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
- /* Override any gcc2 internal prototype to avoid an error. */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
- /* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
--char dlsym();
--
--int main() {
--dlsym()
--; return 0; }
--EOF
--if { (eval echo configure:1860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-- rm -rf conftest*
-- eval "ac_cv_lib_$ac_lib_var=yes"
--else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-- rm -rf conftest*
-- eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
--
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-- echo "$ac_t""yes" 1>&6
-- ac_tr_lib=HAVE_LIB`echo dl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-- cat >> confdefs.h <<EOF
--#define $ac_tr_lib 1
--EOF
-+ builtin and then its argument prototype would still apply. */
-+char dlsym ();
-+int
-+main ()
-+{
-+dlsym ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+ (eval $ac_link) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_lib_dl_dlsym=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_dl_dlsym=no
-+fi
-+rm -f conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+LIBS=$ac_check_lib_save_LIBS
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlsym" >&5
-+echo "${ECHO_T}$ac_cv_lib_dl_dlsym" >&6
-+if test $ac_cv_lib_dl_dlsym = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define HAVE_LIBDL 1
-+_ACEOF
-
- LIBS="-ldl $LIBS"
-
- else
-- echo "$ac_t""no" 1>&6
--{ echo "configure: error: "libdl is required"" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: \"libdl is required\"" >&5
-+echo "$as_me: error: \"libdl is required\"" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
-
--echo $ac_n "checking "for RTLD_NEXT from dlfcn.h"""... $ac_c" 1>&6
--echo "configure:1890: checking "for RTLD_NEXT from dlfcn.h"" >&5
--cat > conftest.$ac_ext <<EOF
--#line 1892 "configure"
--#include "confdefs.h"
-+echo "$as_me:$LINENO: checking for RTLD_NEXT from dlfcn.h" >&5
-+echo $ECHO_N "checking for RTLD_NEXT from dlfcn.h... $ECHO_C" >&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-
- #include <dlfcn.h>
- #ifdef RTLD_NEXT
- yes
- #endif
-
--EOF
-+_ACEOF
- if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-- egrep "yes" >/dev/null 2>&1; then
-- rm -rf conftest*
--
-- echo "$ac_t""yes" 1>&6
-+ $EGREP "yes" >/dev/null 2>&1; then
-+
-+ echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6
-
- else
-- rm -rf conftest*
--
-- echo "$ac_t""no" 1>&6
-- echo $ac_n "checking "for RTLD_NEXT from dlfcn.h with _GNU_SOURCE"""... $ac_c" 1>&6
--echo "configure:1912: checking "for RTLD_NEXT from dlfcn.h with _GNU_SOURCE"" >&5
-- cat > conftest.$ac_ext <<EOF
--#line 1914 "configure"
--#include "confdefs.h"
-+
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+ echo "$as_me:$LINENO: checking for RTLD_NEXT from dlfcn.h with _GNU_SOURCE" >&5
-+echo $ECHO_N "checking for RTLD_NEXT from dlfcn.h with _GNU_SOURCE... $ECHO_C" >&6
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-
- #define _GNU_SOURCE
- #include <dlfcn.h>
- #ifdef RTLD_NEXT
- yes
- #endif
--
--EOF
-+
-+_ACEOF
- if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-- egrep "yes" >/dev/null 2>&1; then
-- rm -rf conftest*
--
-- echo "$ac_t""yes" 1>&6
-- cat >> confdefs.h <<\EOF
-+ $EGREP "yes" >/dev/null 2>&1; then
-+
-+ echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6
-+ cat >>confdefs.h <<\_ACEOF
- #define USE_GNU_SOURCE 1
--EOF
-+_ACEOF
-+
-
--
- else
-- rm -rf conftest*
--
-- echo "$ac_t""no" 1>&6
-- cat >> confdefs.h <<\EOF
-+
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+ cat >>confdefs.h <<\_ACEOF
- #define USE_OLD_DLSYM 1
--EOF
-+_ACEOF
-
- oldmethod="yes"
--
-+
- fi
- rm -f conftest*
--
-+
-
- fi
- rm -f conftest*
-
-
- if test "${enable_socksdns}" = "yes"; then
-- cat >> confdefs.h <<\EOF
-+ cat >>confdefs.h <<\_ACEOF
- #define USE_SOCKS_DNS 1
--EOF
-+_ACEOF
-+
-+fi
-
-+echo "$as_me:$LINENO: checking whether to enable tordns" >&5
-+echo $ECHO_N "checking whether to enable tordns... $ECHO_C" >&6
-+if test "x${enable_tordns}" = "x"; then
-+ cat >>confdefs.h <<\_ACEOF
-+#define USE_TOR_DNS 1
-+_ACEOF
-+
-+ DEADPOOL_O="\${DEADPOOL}.o"
-+ echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6
-+else
-+ DEADPOOL_O=""
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
-
-+
- if test "x${enable_envconf}" = "x"; then
-- cat >> confdefs.h <<\EOF
-+ cat >>confdefs.h <<\_ACEOF
- #define ALLOW_ENV_CONFIG 1
--EOF
-+_ACEOF
-
- fi
-
- if test "${enable_oldmethod}" = "yes"; then
-- cat >> confdefs.h <<\EOF
-+ cat >>confdefs.h <<\_ACEOF
- #define USE_OLD_DLSYM 1
--EOF
-+_ACEOF
-
- oldmethod="yes"
- fi
-
- if test "x${enable_debug}" = "x"; then
-- cat >> confdefs.h <<\EOF
-+ cat >>confdefs.h <<\_ACEOF
- #define ALLOW_MSG_OUTPUT 1
--EOF
-+_ACEOF
-
- fi
-
--if test "x${enable_hostnames}" = "x"; then
-- cat >> confdefs.h <<\EOF
-+if test "x${enable_hostnames}" = "xyes"; then
-+ cat >>confdefs.h <<\_ACEOF
- #define HOSTNAMES 1
--EOF
-+_ACEOF
-
- fi
-
- if test "${enable_socksdns}" = "yes" -a \
-- "x${enable_hostnames}" = "x" ; then
-- { echo "configure: error: "--enable-socksdns is not valid without --disable-hostnames"" 1>&2; exit 1; }
-+ "x${enable_hostnames}" = "xyes" ; then
-+ { { echo "$as_me:$LINENO: error: \"--enable-socksdns is not valid with --enable-hostnames\"" >&5
-+echo "$as_me: error: \"--enable-socksdns is not valid with --enable-hostnames\"" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+if test "x${enable_tordns}" = "x" -a \
-+ "x${enable_hostnames}" = "xyes" ; then
-+ { { echo "$as_me:$LINENO: error: \"--enable-tordns is not valid with --enable-hostnames\"" >&5
-+echo "$as_me: error: \"--enable-tordns is not valid with --enable-hostnames\"" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
--if test "${oldmethod}" = "yes"; then
--
-+if test "${oldmethod}" = "yes"; then
-+
- # Extract the first word of "find", so it can be a program name with args.
- set dummy find; ac_word=$2
--echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1998: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_FIND+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- if test -n "$FIND"; then
- ac_cv_prog_FIND="$FIND" # Let the user override the test.
- else
-- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
-- ac_dummy="$PATH"
-- for ac_dir in $ac_dummy; do
-- test -z "$ac_dir" && ac_dir=.
-- if test -f $ac_dir/$ac_word; then
-- ac_cv_prog_FIND="find"
-- break
-- fi
-- done
-- IFS="$ac_save_ifs"
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_FIND="find"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
- fi
- fi
--FIND="$ac_cv_prog_FIND"
-+FIND=$ac_cv_prog_FIND
- if test -n "$FIND"; then
-- echo "$ac_t""$FIND" 1>&6
-+ echo "$as_me:$LINENO: result: $FIND" >&5
-+echo "${ECHO_T}$FIND" >&6
- else
-- echo "$ac_t""no" 1>&6
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
-
- if test "${FIND}" = ""; then
-- { echo "configure: error: 'find not found in path'" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: 'find not found in path'" >&5
-+echo "$as_me: error: 'find not found in path'" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
- # Extract the first word of "tail", so it can be a program name with args.
- set dummy tail; ac_word=$2
--echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:2031: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_TAIL'+set}'`\" = set"; then
-- echo $ac_n "(cached) $ac_c" 1>&6
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_TAIL+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- if test -n "$TAIL"; then
- ac_cv_prog_TAIL="$TAIL" # Let the user override the test.
- else
-- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
-- ac_dummy="$PATH"
-- for ac_dir in $ac_dummy; do
-- test -z "$ac_dir" && ac_dir=.
-- if test -f $ac_dir/$ac_word; then
-- ac_cv_prog_TAIL="tail"
-- break
-- fi
-- done
-- IFS="$ac_save_ifs"
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_TAIL="tail"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
- fi
- fi
--TAIL="$ac_cv_prog_TAIL"
-+TAIL=$ac_cv_prog_TAIL
- if test -n "$TAIL"; then
-- echo "$ac_t""$TAIL" 1>&6
-+ echo "$as_me:$LINENO: result: $TAIL" >&5
-+echo "${ECHO_T}$TAIL" >&6
- else
-- echo "$ac_t""no" 1>&6
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
-
- if test "${TAIL}" = ""; then
-- { echo "configure: error: 'tail not found in path'" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: 'tail not found in path'" >&5
-+echo "$as_me: error: 'tail not found in path'" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
-- echo $ac_n "checking "location of lib${CONNECTLIB}.so"""... $ac_c" 1>&6
--echo "configure:2062: checking "location of lib${CONNECTLIB}.so"" >&5
-+ echo "$as_me:$LINENO: checking location of lib${CONNECTLIB}.so" >&5
-+echo $ECHO_N "checking location of lib${CONNECTLIB}.so... $ECHO_C" >&6
- LIBCONNECT=
- for DIR in '/lib' '/usr/lib'; do
- if test "${LIBCONNECT}" = ""; then
- LIBCONNECT=`$FIND $DIR -name "lib${CONNECTLIB}.so.?" 2>/dev/null | $TAIL -1`
- fi
- done
-
-- cat >> confdefs.h <<EOF
-+ cat >>confdefs.h <<_ACEOF
- #define LIBCONNECT "${LIBCONNECT}"
--EOF
-+_ACEOF
-
- if test "${LIBCONNECT}" = ""; then
-- { echo "configure: error: "not found!"" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: \"not found!\"" >&5
-+echo "$as_me: error: \"not found!\"" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
-- echo "$ac_t""$LIBCONNECT" 1>&6
-+ echo "$as_me:$LINENO: result: $LIBCONNECT" >&5
-+echo "${ECHO_T}$LIBCONNECT" >&6
-
-- echo $ac_n "checking "location of libc.so"""... $ac_c" 1>&6
--echo "configure:2081: checking "location of libc.so"" >&5
-+ echo "$as_me:$LINENO: checking location of libc.so" >&5
-+echo $ECHO_N "checking location of libc.so... $ECHO_C" >&6
- LIBC=
- for DIR in '/lib' '/usr/lib'; do
- if test "${LIBC}" = ""; then
- LIBC=`$FIND $DIR -name "libc.so.?" 2>/dev/null | $TAIL -1`
- fi
- done
-
-- cat >> confdefs.h <<EOF
-+ cat >>confdefs.h <<_ACEOF
- #define LIBC "${LIBC}"
--EOF
-+_ACEOF
-
- if test "${LIBC}" = ""; then
-- { echo "configure: error: "not found!"" 1>&2; exit 1; }
-+ { { echo "$as_me:$LINENO: error: \"not found!\"" >&5
-+echo "$as_me: error: \"not found!\"" >&2;}
-+ { (exit 1); exit 1; }; }
- fi
-
-- echo "$ac_t""$LIBC" 1>&6
-+ echo "$as_me:$LINENO: result: $LIBC" >&5
-+echo "${ECHO_T}$LIBC" >&6
- fi
-
--echo $ac_n "checking for correct select prototype""... $ac_c" 1>&6
--echo "configure:2101: checking for correct select prototype" >&5
-+echo "$as_me:$LINENO: checking for correct select prototype" >&5
-+echo $ECHO_N "checking for correct select prototype... $ECHO_C" >&6
- PROTO=
--for testproto in 'int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout'
-+for testproto in 'int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout'
- do
- if test "${PROTO}" = ""; then
-- cat > conftest.$ac_ext <<EOF
--#line 2107 "configure"
--#include "confdefs.h"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-
- #include <sys/time.h>
- #include <sys/types.h>
- #include <unistd.h>
- int select($testproto);
--
--int main() {
-
--; return 0; }
--EOF
--if { (eval echo configure:2119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-- rm -rf conftest*
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
- PROTO="$testproto";
- else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
- fi
--rm -f conftest*
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- if test "${PROTO}" = ""; then
-- { echo "configure: error: "no match found!"" 1>&2; exit 1; }
--fi
--echo "$ac_t""select(${PROTO})" 1>&6
--cat >> confdefs.h <<EOF
-+ { { echo "$as_me:$LINENO: error: \"no match found!\"" >&5
-+echo "$as_me: error: \"no match found!\"" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+echo "$as_me:$LINENO: result: select(${PROTO})" >&5
-+echo "${ECHO_T}select(${PROTO})" >&6
-+cat >>confdefs.h <<_ACEOF
- #define SELECT_SIGNATURE ${PROTO}
--EOF
-+_ACEOF
-
-
--echo $ac_n "checking for correct connect prototype""... $ac_c" 1>&6
--echo "configure:2139: checking for correct connect prototype" >&5
-+echo "$as_me:$LINENO: checking for correct connect prototype" >&5
-+echo $ECHO_N "checking for correct connect prototype... $ECHO_C" >&6
- PROTO=
- PROTO1='int __fd, const struct sockaddr * __addr, int len'
- PROTO2='int __fd, const struct sockaddr_in * __addr, socklen_t __len'
- PROTO3='int __fd, struct sockaddr * __addr, int __len'
- PROTO4='int __fd, const struct sockaddr * __addr, socklen_t __len'
- for testproto in "${PROTO1}" \
- "${PROTO2}" \
- "${PROTO3}" \
-- "${PROTO4}"
-+ "${PROTO4}"
- do
- if test "${PROTO}" = ""; then
-- cat > conftest.$ac_ext <<EOF
--#line 2152 "configure"
--#include "confdefs.h"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-
- #include <sys/socket.h>
- int connect($testproto);
--
--int main() {
-
--; return 0; }
--EOF
--if { (eval echo configure:2162: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-- rm -rf conftest*
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
- PROTO="$testproto";
- else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
- fi
--rm -f conftest*
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- if test "${PROTO}" = ""; then
-- { echo "configure: error: "no match found!"" 1>&2; exit 1; }
--fi
--echo "$ac_t""connect(${PROTO})" 1>&6
--cat >> confdefs.h <<EOF
-+ { { echo "$as_me:$LINENO: error: \"no match found!\"" >&5
-+echo "$as_me: error: \"no match found!\"" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+echo "$as_me:$LINENO: result: connect(${PROTO})" >&5
-+echo "${ECHO_T}connect(${PROTO})" >&6
-+cat >>confdefs.h <<_ACEOF
- #define CONNECT_SIGNATURE ${PROTO}
--EOF
-+_ACEOF
-
-
- SOCKETARG="struct sockaddr *"
- case "${PROTO}" in
- *sockaddr_in*)
- SOCKETARG="struct sockaddr_in *"
- ;;
- esac
--cat >> confdefs.h <<EOF
-+cat >>confdefs.h <<_ACEOF
- #define CONNECT_SOCKARG ${SOCKETARG}
--EOF
-+_ACEOF
-
-
--echo $ac_n "checking for correct close prototype""... $ac_c" 1>&6
--echo "configure:2193: checking for correct close prototype" >&5
-+echo "$as_me:$LINENO: checking for correct close prototype" >&5
-+echo $ECHO_N "checking for correct close prototype... $ECHO_C" >&6
- PROTO=
- PROTO1='int fd'
--for testproto in "${PROTO1}"
-+for testproto in "${PROTO1}"
- do
- if test "${PROTO}" = ""; then
-- cat > conftest.$ac_ext <<EOF
--#line 2200 "configure"
--#include "confdefs.h"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-
- #include <stdlib.h>
- int close($testproto);
--
--int main() {
-
--; return 0; }
--EOF
--if { (eval echo configure:2210: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-- rm -rf conftest*
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
- PROTO="$testproto";
- else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
- fi
--rm -f conftest*
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- if test "${PROTO}" = ""; then
-- { echo "configure: error: "no match found!"" 1>&2; exit 1; }
--fi
--echo "$ac_t""close(${PROTO})" 1>&6
--cat >> confdefs.h <<EOF
-+ { { echo "$as_me:$LINENO: error: \"no match found!\"" >&5
-+echo "$as_me: error: \"no match found!\"" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+echo "$as_me:$LINENO: result: close(${PROTO})" >&5
-+echo "${ECHO_T}close(${PROTO})" >&6
-+cat >>confdefs.h <<_ACEOF
- #define CLOSE_SIGNATURE ${PROTO}
--EOF
-+_ACEOF
-
-
--echo $ac_n "checking for correct poll prototype""... $ac_c" 1>&6
--echo "configure:2230: checking for correct poll prototype" >&5
-+echo "$as_me:$LINENO: checking for correct poll prototype" >&5
-+echo $ECHO_N "checking for correct poll prototype... $ECHO_C" >&6
- PROTO=
--for testproto in 'struct pollfd *ufds, unsigned long nfds, int timeout'
-+for testproto in 'struct pollfd *ufds, unsigned long nfds, int timeout'
- do
- if test "${PROTO}" = ""; then
-- cat > conftest.$ac_ext <<EOF
--#line 2236 "configure"
--#include "confdefs.h"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-
- #include <sys/poll.h>
- int poll($testproto);
--
--int main() {
-
--; return 0; }
--EOF
--if { (eval echo configure:2246: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-- rm -rf conftest*
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+ (eval $ac_compile) 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
- PROTO="$testproto";
- else
-- echo "configure: failed program was:" >&5
-- cat conftest.$ac_ext >&5
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
- fi
--rm -f conftest*
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- if test "${PROTO}" = ""; then
-- { echo "configure: error: "no match found!"" 1>&2; exit 1; }
--fi
--echo "$ac_t""poll(${PROTO})" 1>&6
--cat >> confdefs.h <<EOF
-+ { { echo "$as_me:$LINENO: error: \"no match found!\"" >&5
-+echo "$as_me: error: \"no match found!\"" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+echo "$as_me:$LINENO: result: poll(${PROTO})" >&5
-+echo "${ECHO_T}poll(${PROTO})" >&6
-+cat >>confdefs.h <<_ACEOF
- #define POLL_SIGNATURE ${PROTO}
--EOF
-+_ACEOF
-+
-+
-+PROTO="const char *name"
-+cat >>confdefs.h <<_ACEOF
-+#define GETHOSTBYNAME_SIGNATURE ${PROTO}
-+_ACEOF
-+
-+
-+PROTO="const char *node, const char *service, void *hints, void *res"
-+cat >>confdefs.h <<_ACEOF
-+#define GETADDRINFO_SIGNATURE ${PROTO}
-+_ACEOF
-+
-+
-+PROTO="const char *name, int af, int flags, int *error_num"
-+cat >>confdefs.h <<_ACEOF
-+#define GETIPNODEBYNAME_SIGNATURE ${PROTO}
-+_ACEOF
-
-
- SPECIALLIBS=${LIBS}
-
- LIBS=${SIMPLELIBS}
-
--trap '' 1 2 15
--cat > confcache <<\EOF
-+ ac_config_files="$ac_config_files Makefile"
-+cat >confcache <<\_ACEOF
- # This file is a shell script that caches the results of configure
- # tests run on this system so they can be shared between configure
--# scripts and configure runs. It is not useful on other systems.
--# If it contains results you don't want to keep, you may remove or edit it.
-+# scripts and configure runs, see configure's option --config-cache.
-+# It is not useful on other systems. If it contains results you don't
-+# want to keep, you may remove or edit it.
- #
--# By default, configure uses ./config.cache as the cache file,
--# creating it if it does not exist already. You can give configure
--# the --cache-file=FILE option to use a different cache file; that is
--# what configure does when it calls configure scripts in
--# subdirectories, so they share the cache.
--# Giving --cache-file=/dev/null disables caching, for debugging configure.
--# config.status only pays attention to the cache file if you give it the
--# --recheck option to rerun configure.
-+# config.status only pays attention to the cache file if you give it
-+# the --recheck option to rerun configure.
- #
--EOF
-+# `ac_cv_env_foo' variables (set or unset) will be overridden when
-+# loading this file, other *unset* `ac_cv_foo' will be assigned the
-+# following values.
-+
-+_ACEOF
-+
- # The following way of writing the cache mishandles newlines in values,
- # but we know of no workaround that is simple, portable, and efficient.
- # So, don't put newlines in cache variables' values.
- # Ultrix sh set writes to stderr and can't be redirected directly,
- # and sets the high bit in the cache file unless we assign to the vars.
--(set) 2>&1 |
-- case `(ac_space=' '; set | grep ac_space) 2>&1` in
-- *ac_space=\ *)
-- # `set' does not quote correctly, so add quotes (double-quote substitution
-- # turns \\\\ into \\, and sed turns \\ into \).
-- sed -n \
-- -e "s/'/'\\\\''/g" \
-- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-- ;;
-- *)
-- # `set' quotes correctly as required by POSIX, so do not add quotes.
-- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-- ;;
-- esac >> confcache
--if cmp -s $cache_file confcache; then
-- :
--else
-+{
-+ (set) 2>&1 |
-+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
-+ *ac_space=\ *)
-+ # `set' does not quote correctly, so add quotes (double-quote
-+ # substitution turns \\\\ into \\, and sed turns \\ into \).
-+ sed -n \
-+ "s/'/'\\\\''/g;
-+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-+ ;;
-+ *)
-+ # `set' quotes correctly as required by POSIX, so do not add quotes.
-+ sed -n \
-+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
-+ ;;
-+ esac;
-+} |
-+ sed '
-+ t clear
-+ : clear
-+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-+ t end
-+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-+ : end' >>confcache
-+if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
-- echo "updating cache $cache_file"
-- cat confcache > $cache_file
-+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
-+ cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
- fi
- rm -f confcache
-
--trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
--
- test "x$prefix" = xNONE && prefix=$ac_default_prefix
- # Let make expand exec_prefix.
- test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
--# Any assignment to VPATH causes Sun make to only execute
--# the first set of double-colon rules, so remove it if not needed.
--# If there is a colon in the path, we need to keep it.
-+# VPATH may cause trouble with some makes, so we remove $(srcdir),
-+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-+# trailing colons and then remove the whole line if VPATH becomes empty
-+# (actually we leave an empty line to preserve line numbers).
- if test "x$srcdir" = x.; then
-- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
-+s/:*\$(srcdir):*/:/;
-+s/:*\${srcdir}:*/:/;
-+s/:*@srcdir@:*/:/;
-+s/^\([^=]*=[ ]*\):*/\1/;
-+s/:*$//;
-+s/^[^=]*=[ ]*$//;
-+}'
- fi
-
--trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
--
- DEFS=-DHAVE_CONFIG_H
-
--# Without the "./", some shells look in PATH for config.status.
--: ${CONFIG_STATUS=./config.status}
-+ac_libobjs=
-+ac_ltlibobjs=
-+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-+ # 1. Remove the extension, and $U if already installed.
-+ ac_i=`echo "$ac_i" |
-+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
-+ # 2. Add them.
-+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
-+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-+done
-+LIBOBJS=$ac_libobjs
-
--echo creating $CONFIG_STATUS
--rm -f $CONFIG_STATUS
--cat > $CONFIG_STATUS <<EOF
--#! /bin/sh
--# Generated automatically by configure.
-+LTLIBOBJS=$ac_ltlibobjs
-+
-+
-+
-+: ${CONFIG_STATUS=./config.status}
-+ac_clean_files_save=$ac_clean_files
-+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-+echo "$as_me: creating $CONFIG_STATUS" >&6;}
-+cat >$CONFIG_STATUS <<_ACEOF
-+#! $SHELL
-+# Generated by $as_me.
- # Run this file to recreate the current configuration.
--# This directory was configured as follows,
--# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
--#
--# $0 $ac_configure_args
--#
- # Compiler output produced by configure, useful for debugging
--# configure, is in ./config.log if it exists.
-+# configure, is in config.log if it exists.
-
--ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
--for ac_option
-+debug=false
-+ac_cs_recheck=false
-+ac_cs_silent=false
-+SHELL=\${CONFIG_SHELL-$SHELL}
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+## --------------------- ##
-+## M4sh Initialization. ##
-+## --------------------- ##
-+
-+# Be Bourne compatible
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-+ emulate sh
-+ NULLCMD=:
-+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '${1+"$@"}'='"$@"'
-+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-+ set -o posix
-+fi
-+DUALCASE=1; export DUALCASE # for MKS sh
-+
-+# Support unset when possible.
-+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-+ as_unset=unset
-+else
-+ as_unset=false
-+fi
-+
-+
-+# Work around bugs in pre-3.0 UWIN ksh.
-+$as_unset ENV MAIL MAILPATH
-+PS1='$ '
-+PS2='> '
-+PS4='+ '
-+
-+# NLS nuisances.
-+for as_var in \
-+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-+ LC_TELEPHONE LC_TIME
-+do
-+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-+ eval $as_var=C; export $as_var
-+ else
-+ $as_unset $as_var
-+ fi
-+done
-+
-+# Required to use basename.
-+if expr a : '\(a\)' >/dev/null 2>&1; then
-+ as_expr=expr
-+else
-+ as_expr=false
-+fi
-+
-+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
-+ as_basename=basename
-+else
-+ as_basename=false
-+fi
-+
-+
-+# Name of the executable.
-+as_me=`$as_basename "$0" ||
-+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-+ X"$0" : 'X\(//\)$' \| \
-+ X"$0" : 'X\(/\)$' \| \
-+ . : '\(.\)' 2>/dev/null ||
-+echo X/"$0" |
-+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-+ /^X\/\(\/\/\)$/{ s//\1/; q; }
-+ /^X\/\(\/\).*/{ s//\1/; q; }
-+ s/.*/./; q'`
-+
-+
-+# PATH needs CR, and LINENO needs CR and PATH.
-+# Avoid depending upon Character Ranges.
-+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-+as_cr_digits='0123456789'
-+as_cr_alnum=$as_cr_Letters$as_cr_digits
-+
-+# The user is always right.
-+if test "${PATH_SEPARATOR+set}" != set; then
-+ echo "#! /bin/sh" >conf$$.sh
-+ echo "exit 0" >>conf$$.sh
-+ chmod +x conf$$.sh
-+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-+ PATH_SEPARATOR=';'
-+ else
-+ PATH_SEPARATOR=:
-+ fi
-+ rm -f conf$$.sh
-+fi
-+
-+
-+ as_lineno_1=$LINENO
-+ as_lineno_2=$LINENO
-+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-+ test "x$as_lineno_1" != "x$as_lineno_2" &&
-+ test "x$as_lineno_3" = "x$as_lineno_2" || {
-+ # Find who we are. Look in the path if we contain no path at all
-+ # relative or not.
-+ case $0 in
-+ *[\\/]* ) as_myself=$0 ;;
-+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-+done
-+
-+ ;;
-+ esac
-+ # We did not find ourselves, most probably we were run as `sh COMMAND'
-+ # in which case we are not to be found in the path.
-+ if test "x$as_myself" = x; then
-+ as_myself=$0
-+ fi
-+ if test ! -f "$as_myself"; then
-+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
-+ { (exit 1); exit 1; }; }
-+ fi
-+ case $CONFIG_SHELL in
-+ '')
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
- do
-- case "\$ac_option" in
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for as_base in sh bash ksh sh5; do
-+ case $as_dir in
-+ /*)
-+ if ("$as_dir/$as_base" -c '
-+ as_lineno_1=$LINENO
-+ as_lineno_2=$LINENO
-+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-+ test "x$as_lineno_1" != "x$as_lineno_2" &&
-+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
-+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-+ CONFIG_SHELL=$as_dir/$as_base
-+ export CONFIG_SHELL
-+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-+ fi;;
-+ esac
-+ done
-+done
-+;;
-+ esac
-+
-+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-+ # uniformly replaced by the line number. The first 'sed' inserts a
-+ # line-number line before each line; the second 'sed' does the real
-+ # work. The second script uses 'N' to pair each line-number line
-+ # with the numbered line, and appends trailing '-' during
-+ # substitution so that $LINENO is not a special case at line end.
-+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
-+ sed '=' <$as_myself |
-+ sed '
-+ N
-+ s,$,-,
-+ : loop
-+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
-+ t loop
-+ s,-$,,
-+ s,^['$as_cr_digits']*\n,,
-+ ' >$as_me.lineno &&
-+ chmod +x $as_me.lineno ||
-+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
-+ { (exit 1); exit 1; }; }
-+
-+ # Don't try to exec as it changes $[0], causing all sort of problems
-+ # (the dirname of $[0] is not the place where we might find the
-+ # original and so on. Autoconf is especially sensible to this).
-+ . ./$as_me.lineno
-+ # Exit status is that of the last command.
-+ exit
-+}
-+
-+
-+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-+ *c*,-n*) ECHO_N= ECHO_C='
-+' ECHO_T=' ' ;;
-+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-+esac
-+
-+if expr a : '\(a\)' >/dev/null 2>&1; then
-+ as_expr=expr
-+else
-+ as_expr=false
-+fi
-+
-+rm -f conf$$ conf$$.exe conf$$.file
-+echo >conf$$.file
-+if ln -s conf$$.file conf$$ 2>/dev/null; then
-+ # We could just check for DJGPP; but this test a) works b) is more generic
-+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-+ if test -f conf$$.exe; then
-+ # Don't use ln at all; we don't have any links
-+ as_ln_s='cp -p'
-+ else
-+ as_ln_s='ln -s'
-+ fi
-+elif ln conf$$.file conf$$ 2>/dev/null; then
-+ as_ln_s=ln
-+else
-+ as_ln_s='cp -p'
-+fi
-+rm -f conf$$ conf$$.exe conf$$.file
-+
-+if mkdir -p . 2>/dev/null; then
-+ as_mkdir_p=:
-+else
-+ test -d ./-p && rmdir ./-p
-+ as_mkdir_p=false
-+fi
-+
-+as_executable_p="test -f"
-+
-+# Sed expression to map a string onto a valid CPP name.
-+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-+
-+# Sed expression to map a string onto a valid variable name.
-+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-+
-+
-+# IFS
-+# We need space, tab and new line, in precisely that order.
-+as_nl='
-+'
-+IFS=" $as_nl"
-+
-+# CDPATH.
-+$as_unset CDPATH
-+
-+exec 6>&1
-+
-+# Open the log real soon, to keep \$[0] and so on meaningful, and to
-+# report actual input values of CONFIG_FILES etc. instead of their
-+# values after options handling. Logging --version etc. is OK.
-+exec 5>>config.log
-+{
-+ echo
-+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-+## Running $as_me. ##
-+_ASBOX
-+} >&5
-+cat >&5 <<_CSEOF
-+
-+This file was extended by $as_me, which was
-+generated by GNU Autoconf 2.59. Invocation command line was
-+
-+ CONFIG_FILES = $CONFIG_FILES
-+ CONFIG_HEADERS = $CONFIG_HEADERS
-+ CONFIG_LINKS = $CONFIG_LINKS
-+ CONFIG_COMMANDS = $CONFIG_COMMANDS
-+ $ $0 $@
-+
-+_CSEOF
-+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-+echo >&5
-+_ACEOF
-+
-+# Files that config.status was made for.
-+if test -n "$ac_config_files"; then
-+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-+fi
-+
-+if test -n "$ac_config_headers"; then
-+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-+fi
-+
-+if test -n "$ac_config_links"; then
-+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-+fi
-+
-+if test -n "$ac_config_commands"; then
-+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-+fi
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+
-+ac_cs_usage="\
-+\`$as_me' instantiates files from templates according to the
-+current configuration.
-+
-+Usage: $0 [OPTIONS] [FILE]...
-+
-+ -h, --help print this help, then exit
-+ -V, --version print version number, then exit
-+ -q, --quiet do not print progress messages
-+ -d, --debug don't remove temporary files
-+ --recheck update $as_me by reconfiguring in the same conditions
-+ --file=FILE[:TEMPLATE]
-+ instantiate the configuration file FILE
-+ --header=FILE[:TEMPLATE]
-+ instantiate the configuration header FILE
-+
-+Configuration files:
-+$config_files
-+
-+Configuration headers:
-+$config_headers
-+
-+Report bugs to <bug-autoconf(a)gnu.org>."
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<_ACEOF
-+ac_cs_version="\\
-+config.status
-+configured by $0, generated by GNU Autoconf 2.59,
-+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-+
-+Copyright (C) 2003 Free Software Foundation, Inc.
-+This config.status script is free software; the Free Software Foundation
-+gives unlimited permission to copy, distribute and modify it."
-+srcdir=$srcdir
-+INSTALL="$INSTALL"
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+# If no file are specified by the user, then we need to provide default
-+# value. By we need to know if files were specified by the user.
-+ac_need_defaults=:
-+while test $# != 0
-+do
-+ case $1 in
-+ --*=*)
-+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
-+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
-+ ac_shift=:
-+ ;;
-+ -*)
-+ ac_option=$1
-+ ac_optarg=$2
-+ ac_shift=shift
-+ ;;
-+ *) # This is not an option, so the user has probably given explicit
-+ # arguments.
-+ ac_option=$1
-+ ac_need_defaults=false;;
-+ esac
-+
-+ case $ac_option in
-+ # Handling of the options.
-+_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
-- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-- echo "$CONFIG_STATUS generated by autoconf version 2.13"
-- exit 0 ;;
-- -help | --help | --hel | --he | --h)
-- echo "\$ac_cs_usage"; exit 0 ;;
-- *) echo "\$ac_cs_usage"; exit 1 ;;
-+ ac_cs_recheck=: ;;
-+ --version | --vers* | -V )
-+ echo "$ac_cs_version"; exit 0 ;;
-+ --he | --h)
-+ # Conflict between --help and --header
-+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
-+Try \`$0 --help' for more information." >&5
-+echo "$as_me: error: ambiguous option: $1
-+Try \`$0 --help' for more information." >&2;}
-+ { (exit 1); exit 1; }; };;
-+ --help | --hel | -h )
-+ echo "$ac_cs_usage"; exit 0 ;;
-+ --debug | --d* | -d )
-+ debug=: ;;
-+ --file | --fil | --fi | --f )
-+ $ac_shift
-+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
-+ ac_need_defaults=false;;
-+ --header | --heade | --head | --hea )
-+ $ac_shift
-+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
-+ ac_need_defaults=false;;
-+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
-+ ac_cs_silent=: ;;
-+
-+ # This is an error.
-+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-+Try \`$0 --help' for more information." >&5
-+echo "$as_me: error: unrecognized option: $1
-+Try \`$0 --help' for more information." >&2;}
-+ { (exit 1); exit 1; }; } ;;
-+
-+ *) ac_config_targets="$ac_config_targets $1" ;;
-+
- esac
-+ shift
- done
-
--ac_given_srcdir=$srcdir
--ac_given_INSTALL="$INSTALL"
-+ac_configure_extra_args=
-+
-+if $ac_cs_silent; then
-+ exec 6>/dev/null
-+ ac_configure_extra_args="$ac_configure_extra_args --silent"
-+fi
-+
-+_ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF
-+if \$ac_cs_recheck; then
-+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-+fi
-+
-+_ACEOF
-+
-+
-+
-
--trap 'rm -fr `echo "Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
--EOF
--cat >> $CONFIG_STATUS <<EOF
--
--# Protect against being on the right side of a sed subst in config.status.
--sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
-- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
--$ac_vpsub
--$extrasub
--s%@SHELL@%$SHELL%g
--s%@CFLAGS@%$CFLAGS%g
--s%@CPPFLAGS@%$CPPFLAGS%g
--s%@CXXFLAGS@%$CXXFLAGS%g
--s%@FFLAGS@%$FFLAGS%g
--s%@DEFS@%$DEFS%g
--s%@LDFLAGS@%$LDFLAGS%g
--s%@LIBS@%$LIBS%g
--s%@exec_prefix@%$exec_prefix%g
--s%@prefix@%$prefix%g
--s%@program_transform_name@%$program_transform_name%g
--s%@bindir@%$bindir%g
--s%@sbindir@%$sbindir%g
--s%@libexecdir@%$libexecdir%g
--s%@datadir@%$datadir%g
--s%@sysconfdir@%$sysconfdir%g
--s%@sharedstatedir@%$sharedstatedir%g
--s%@localstatedir@%$localstatedir%g
--s%@libdir@%$libdir%g
--s%@includedir@%$includedir%g
--s%@oldincludedir@%$oldincludedir%g
--s%@infodir@%$infodir%g
--s%@mandir@%$mandir%g
--s%@host@%$host%g
--s%@host_alias@%$host_alias%g
--s%@host_cpu@%$host_cpu%g
--s%@host_vendor@%$host_vendor%g
--s%@host_os@%$host_os%g
--s%@CC@%$CC%g
--s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
--s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
--s%@INSTALL_DATA@%$INSTALL_DATA%g
--s%@LN_S@%$LN_S%g
--s%@CPP@%$CPP%g
--s%@FIND@%$FIND%g
--s%@TAIL@%$TAIL%g
--s%@SPECIALLIBS@%$SPECIALLIBS%g
-
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+for ac_config_target in $ac_config_targets
-+do
-+ case "$ac_config_target" in
-+ # Handling of arguments.
-+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-+ { (exit 1); exit 1; }; };;
-+ esac
-+done
-+
-+# If the user did not use the arguments to specify the items to instantiate,
-+# then the envvar interface is used. Set only those that are not.
-+# We use the long form for the default assignment because of an extremely
-+# bizarre bug on SunOS 4.1.3.
-+if $ac_need_defaults; then
-+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-+fi
-+
-+# Have a temporary directory for convenience. Make it in the build tree
-+# simply because there is no reason to put it here, and in addition,
-+# creating and moving files from /tmp can sometimes cause problems.
-+# Create a temporary directory, and hook for its removal unless debugging.
-+$debug ||
-+{
-+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
-+ trap '{ (exit 1); exit 1; }' 1 2 13 15
-+}
-+
-+# Create a (secure) tmp directory for tmp files.
-+
-+{
-+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
-+ test -n "$tmp" && test -d "$tmp"
-+} ||
-+{
-+ tmp=./confstat$$-$RANDOM
-+ (umask 077 && mkdir $tmp)
-+} ||
-+{
-+ echo "$me: cannot create a temporary directory in ." >&2
-+ { (exit 1); exit 1; }
-+}
-+
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<_ACEOF
-+
-+#
-+# CONFIG_FILES section.
-+#
-+
-+# No need to generate the scripts if there are no CONFIG_FILES.
-+# This happens for instance when ./config.status config.h
-+if test -n "\$CONFIG_FILES"; then
-+ # Protect against being on the right side of a sed subst in config.status.
-+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
-+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-+s,@SHELL@,$SHELL,;t t
-+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-+s,@exec_prefix@,$exec_prefix,;t t
-+s,@prefix@,$prefix,;t t
-+s,@program_transform_name@,$program_transform_name,;t t
-+s,@bindir@,$bindir,;t t
-+s,@sbindir@,$sbindir,;t t
-+s,@libexecdir@,$libexecdir,;t t
-+s,@datadir@,$datadir,;t t
-+s,@sysconfdir@,$sysconfdir,;t t
-+s,@sharedstatedir@,$sharedstatedir,;t t
-+s,@localstatedir@,$localstatedir,;t t
-+s,@libdir@,$libdir,;t t
-+s,@includedir@,$includedir,;t t
-+s,@oldincludedir@,$oldincludedir,;t t
-+s,@infodir@,$infodir,;t t
-+s,@mandir@,$mandir,;t t
-+s,@build_alias@,$build_alias,;t t
-+s,@host_alias@,$host_alias,;t t
-+s,@target_alias@,$target_alias,;t t
-+s,@DEFS@,$DEFS,;t t
-+s,@ECHO_C@,$ECHO_C,;t t
-+s,@ECHO_N@,$ECHO_N,;t t
-+s,@ECHO_T@,$ECHO_T,;t t
-+s,@LIBS@,$LIBS,;t t
-+s,@build@,$build,;t t
-+s,@build_cpu@,$build_cpu,;t t
-+s,@build_vendor@,$build_vendor,;t t
-+s,@build_os@,$build_os,;t t
-+s,@host@,$host,;t t
-+s,@host_cpu@,$host_cpu,;t t
-+s,@host_vendor@,$host_vendor,;t t
-+s,@host_os@,$host_os,;t t
-+s,@CC@,$CC,;t t
-+s,@CFLAGS@,$CFLAGS,;t t
-+s,@LDFLAGS@,$LDFLAGS,;t t
-+s,@CPPFLAGS@,$CPPFLAGS,;t t
-+s,@ac_ct_CC@,$ac_ct_CC,;t t
-+s,@EXEEXT@,$EXEEXT,;t t
-+s,@OBJEXT@,$OBJEXT,;t t
-+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-+s,@LN_S@,$LN_S,;t t
-+s,@CPP@,$CPP,;t t
-+s,@EGREP@,$EGREP,;t t
-+s,@DEADPOOL_O@,$DEADPOOL_O,;t t
-+s,@FIND@,$FIND,;t t
-+s,@TAIL@,$TAIL,;t t
-+s,@SPECIALLIBS@,$SPECIALLIBS,;t t
-+s,@LIBOBJS@,$LIBOBJS,;t t
-+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
- CEOF
--EOF
-
--cat >> $CONFIG_STATUS <<\EOF
-+_ACEOF
-
--# Split the substitutions into bite-sized pieces for seds with
--# small command number limits, like on Digital OSF/1 and HP-UX.
--ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
--ac_file=1 # Number of current file.
--ac_beg=1 # First line for current file.
--ac_end=$ac_max_sed_cmds # Line after last line for current file.
--ac_more_lines=:
--ac_sed_cmds=""
--while $ac_more_lines; do
-- if test $ac_beg -gt 1; then
-- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
-- else
-- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
-- fi
-- if test ! -s conftest.s$ac_file; then
-- ac_more_lines=false
-- rm -f conftest.s$ac_file
-- else
-- if test -z "$ac_sed_cmds"; then
-- ac_sed_cmds="sed -f conftest.s$ac_file"
-+ cat >>$CONFIG_STATUS <<\_ACEOF
-+ # Split the substitutions into bite-sized pieces for seds with
-+ # small command number limits, like on Digital OSF/1 and HP-UX.
-+ ac_max_sed_lines=48
-+ ac_sed_frag=1 # Number of current file.
-+ ac_beg=1 # First line for current file.
-+ ac_end=$ac_max_sed_lines # Line after last line for current file.
-+ ac_more_lines=:
-+ ac_sed_cmds=
-+ while $ac_more_lines; do
-+ if test $ac_beg -gt 1; then
-+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-+ else
-+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-+ fi
-+ if test ! -s $tmp/subs.frag; then
-+ ac_more_lines=false
- else
-- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
-+ # The purpose of the label and of the branching condition is to
-+ # speed up the sed processing (if there are no `@' at all, there
-+ # is no need to browse any of the substitutions).
-+ # These are the two extra sed commands mentioned above.
-+ (echo ':t
-+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
-+ if test -z "$ac_sed_cmds"; then
-+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
-+ else
-+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
-+ fi
-+ ac_sed_frag=`expr $ac_sed_frag + 1`
-+ ac_beg=$ac_end
-+ ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
-- ac_file=`expr $ac_file + 1`
-- ac_beg=$ac_end
-- ac_end=`expr $ac_end + $ac_max_sed_cmds`
-+ done
-+ if test -z "$ac_sed_cmds"; then
-+ ac_sed_cmds=cat
- fi
--done
--if test -z "$ac_sed_cmds"; then
-- ac_sed_cmds=cat
--fi
--EOF
--
--cat >> $CONFIG_STATUS <<EOF
-+fi # test -n "$CONFIG_FILES"
-
--CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
--EOF
--cat >> $CONFIG_STATUS <<\EOF
--for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-+_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-- case "$ac_file" in
-- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-- *) ac_file_in="${ac_file}.in" ;;
-+ case $ac_file in
-+ - | *:- | *:-:* ) # input from stdin
-+ cat >$tmp/stdin
-+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-+ * ) ac_file_in=$ac_file.in ;;
- esac
-
-- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
--
-- # Remove last slash and all that follows it. Not all systems have dirname.
-- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-- # The file is in a subdirectory.
-- test ! -d "$ac_dir" && mkdir "$ac_dir"
-- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
-- # A "../" for each directory in $ac_dir_suffix.
-- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
-- else
-- ac_dir_suffix= ac_dots=
-- fi
--
-- case "$ac_given_srcdir" in
-- .) srcdir=.
-- if test -z "$ac_dots"; then top_srcdir=.
-- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
-- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
-+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
-+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$ac_file" : 'X\(//\)[^/]' \| \
-+ X"$ac_file" : 'X\(//\)$' \| \
-+ X"$ac_file" : 'X\(/\)' \| \
-+ . : '\(.\)' 2>/dev/null ||
-+echo X"$ac_file" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-+ /^X\(\/\/\)$/{ s//\1/; q; }
-+ /^X\(\/\).*/{ s//\1/; q; }
-+ s/.*/./; q'`
-+ { if $as_mkdir_p; then
-+ mkdir -p "$ac_dir"
-+ else
-+ as_dir="$ac_dir"
-+ as_dirs=
-+ while test ! -d "$as_dir"; do
-+ as_dirs="$as_dir $as_dirs"
-+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
-+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$as_dir" : 'X\(//\)[^/]' \| \
-+ X"$as_dir" : 'X\(//\)$' \| \
-+ X"$as_dir" : 'X\(/\)' \| \
-+ . : '\(.\)' 2>/dev/null ||
-+echo X"$as_dir" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-+ /^X\(\/\/\)$/{ s//\1/; q; }
-+ /^X\(\/\).*/{ s//\1/; q; }
-+ s/.*/./; q'`
-+ done
-+ test ! -n "$as_dirs" || mkdir $as_dirs
-+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-+ { (exit 1); exit 1; }; }; }
-+
-+ ac_builddir=.
-+
-+if test "$ac_dir" != .; then
-+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-+ # A "../" for each directory in $ac_dir_suffix.
-+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-+else
-+ ac_dir_suffix= ac_top_builddir=
-+fi
-+
-+case $srcdir in
-+ .) # No --srcdir option. We are building in place.
-+ ac_srcdir=.
-+ if test -z "$ac_top_builddir"; then
-+ ac_top_srcdir=.
-+ else
-+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-+ fi ;;
-+ [\\/]* | ?:[\\/]* ) # Absolute path.
-+ ac_srcdir=$srcdir$ac_dir_suffix;
-+ ac_top_srcdir=$srcdir ;;
- *) # Relative path.
-- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
-- top_srcdir="$ac_dots$ac_given_srcdir" ;;
-- esac
-+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
-+esac
-+
-+# Do not use `cd foo && pwd` to compute absolute paths, because
-+# the directories may not exist.
-+case `pwd` in
-+.) ac_abs_builddir="$ac_dir";;
-+*)
-+ case "$ac_dir" in
-+ .) ac_abs_builddir=`pwd`;;
-+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
-+ esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_top_builddir=${ac_top_builddir}.;;
-+*)
-+ case ${ac_top_builddir}. in
-+ .) ac_abs_top_builddir=$ac_abs_builddir;;
-+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-+ esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_srcdir=$ac_srcdir;;
-+*)
-+ case $ac_srcdir in
-+ .) ac_abs_srcdir=$ac_abs_builddir;;
-+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-+ esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_top_srcdir=$ac_top_srcdir;;
-+*)
-+ case $ac_top_srcdir in
-+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
-+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-+ esac;;
-+esac
-
-- case "$ac_given_INSTALL" in
-- [/$]*) INSTALL="$ac_given_INSTALL" ;;
-- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
-- esac
-
-- echo creating "$ac_file"
-- rm -f "$ac_file"
-- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
-- case "$ac_file" in
-- *Makefile*) ac_comsub="1i\\
--# $configure_input" ;;
-- *) ac_comsub= ;;
-+ case $INSTALL in
-+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
-- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-- sed -e "$ac_comsub
--s%@configure_input@%$configure_input%g
--s%@srcdir@%$srcdir%g
--s%@top_srcdir@%$top_srcdir%g
--s%@INSTALL@%$INSTALL%g
--" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
--fi; done
--rm -f conftest.s*
-+ # Let's still pretend it is `configure' which instantiates (i.e., don't
-+ # use $as_me), people would be surprised to read:
-+ # /* config.h. Generated by config.status. */
-+ if test x"$ac_file" = x-; then
-+ configure_input=
-+ else
-+ configure_input="$ac_file. "
-+ fi
-+ configure_input=$configure_input"Generated from `echo $ac_file_in |
-+ sed 's,.*/,,'` by configure."
-+
-+ # First look for the input files in the build tree, otherwise in the
-+ # src tree.
-+ ac_file_inputs=`IFS=:
-+ for f in $ac_file_in; do
-+ case $f in
-+ -) echo $tmp/stdin ;;
-+ [\\/$]*)
-+ # Absolute (can't be DOS-style, as IFS=:)
-+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-+echo "$as_me: error: cannot find input file: $f" >&2;}
-+ { (exit 1); exit 1; }; }
-+ echo "$f";;
-+ *) # Relative
-+ if test -f "$f"; then
-+ # Build tree
-+ echo "$f"
-+ elif test -f "$srcdir/$f"; then
-+ # Source tree
-+ echo "$srcdir/$f"
-+ else
-+ # /dev/null tree
-+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-+echo "$as_me: error: cannot find input file: $f" >&2;}
-+ { (exit 1); exit 1; }; }
-+ fi;;
-+ esac
-+ done` || { (exit 1); exit 1; }
-+
-+ if test x"$ac_file" != x-; then
-+ { echo "$as_me:$LINENO: creating $ac_file" >&5
-+echo "$as_me: creating $ac_file" >&6;}
-+ rm -f "$ac_file"
-+ fi
-+_ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF
-+ sed "$ac_vpsub
-+$extrasub
-+_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+:t
-+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-+s,@configure_input@,$configure_input,;t t
-+s,@srcdir@,$ac_srcdir,;t t
-+s,@abs_srcdir@,$ac_abs_srcdir,;t t
-+s,@top_srcdir@,$ac_top_srcdir,;t t
-+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-+s,@builddir@,$ac_builddir,;t t
-+s,@abs_builddir@,$ac_abs_builddir,;t t
-+s,@top_builddir@,$ac_top_builddir,;t t
-+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-+s,@INSTALL@,$ac_INSTALL,;t t
-+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
-+ rm -f $tmp/stdin
-+ if test x"$ac_file" != x-; then
-+ mv $tmp/out $ac_file
-+ else
-+ cat $tmp/out
-+ rm -f $tmp/out
-+ fi
-+
-+done
-+_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+
-+#
-+# CONFIG_HEADER section.
-+#
-
- # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
- # NAME is the cpp macro being defined and VALUE is the value it is being given.
- #
- # ac_d sets the value in "#define NAME VALUE" lines.
--ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
--ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
--ac_dC='\3'
--ac_dD='%g'
--# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
--ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
--ac_uB='\([ ]\)%\1#\2define\3'
-+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-+ac_dB='[ ].*$,\1#\2'
-+ac_dC=' '
-+ac_dD=',;t'
-+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-+ac_uB='$,\1#\2define\3'
- ac_uC=' '
--ac_uD='\4%g'
--# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
--ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
--ac_eB='$%\1#\2define\3'
--ac_eC=' '
--ac_eD='%g'
--
--if test "${CONFIG_HEADERS+set}" != set; then
--EOF
--cat >> $CONFIG_STATUS <<EOF
-- CONFIG_HEADERS="config.h"
--EOF
--cat >> $CONFIG_STATUS <<\EOF
--fi
--for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
-+ac_uD=',;t'
-+
-+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-- case "$ac_file" in
-- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-- *) ac_file_in="${ac_file}.in" ;;
-+ case $ac_file in
-+ - | *:- | *:-:* ) # input from stdin
-+ cat >$tmp/stdin
-+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-+ * ) ac_file_in=$ac_file.in ;;
- esac
-
-- echo creating $ac_file
-+ test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-+echo "$as_me: creating $ac_file" >&6;}
-
-- rm -f conftest.frag conftest.in conftest.out
-- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-- cat $ac_file_inputs > conftest.in
--
--EOF
--
--# Transform confdefs.h into a sed script conftest.vals that substitutes
--# the proper values into config.h.in to produce config.h. And first:
--# Protect against being on the right side of a sed subst in config.status.
--# Protect against being in an unquoted here document in config.status.
--rm -f conftest.vals
--cat > conftest.hdr <<\EOF
--s/[\\&%]/\\&/g
--s%[\\$`]%\\&%g
--s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
--s%ac_d%ac_u%gp
--s%ac_u%ac_e%gp
--EOF
--sed -n -f conftest.hdr confdefs.h > conftest.vals
--rm -f conftest.hdr
-+ # First look for the input files in the build tree, otherwise in the
-+ # src tree.
-+ ac_file_inputs=`IFS=:
-+ for f in $ac_file_in; do
-+ case $f in
-+ -) echo $tmp/stdin ;;
-+ [\\/$]*)
-+ # Absolute (can't be DOS-style, as IFS=:)
-+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-+echo "$as_me: error: cannot find input file: $f" >&2;}
-+ { (exit 1); exit 1; }; }
-+ # Do quote $f, to prevent DOS paths from being IFS'd.
-+ echo "$f";;
-+ *) # Relative
-+ if test -f "$f"; then
-+ # Build tree
-+ echo "$f"
-+ elif test -f "$srcdir/$f"; then
-+ # Source tree
-+ echo "$srcdir/$f"
-+ else
-+ # /dev/null tree
-+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-+echo "$as_me: error: cannot find input file: $f" >&2;}
-+ { (exit 1); exit 1; }; }
-+ fi;;
-+ esac
-+ done` || { (exit 1); exit 1; }
-+ # Remove the trailing spaces.
-+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-+
-+_ACEOF
-+
-+# Transform confdefs.h into two sed scripts, `conftest.defines' and
-+# `conftest.undefs', that substitutes the proper values into
-+# config.h.in to produce config.h. The first handles `#define'
-+# templates, and the second `#undef' templates.
-+# And first: Protect against being on the right side of a sed subst in
-+# config.status. Protect against being in an unquoted here document
-+# in config.status.
-+rm -f conftest.defines conftest.undefs
-+# Using a here document instead of a string reduces the quoting nightmare.
-+# Putting comments in sed scripts is not portable.
-+#
-+# `end' is used to avoid that the second main sed command (meant for
-+# 0-ary CPP macros) applies to n-ary macro definitions.
-+# See the Autoconf documentation for `clear'.
-+cat >confdef2sed.sed <<\_ACEOF
-+s/[\\&,]/\\&/g
-+s,[\\$`],\\&,g
-+t clear
-+: clear
-+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-+t end
-+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-+: end
-+_ACEOF
-+# If some macros were called several times there might be several times
-+# the same #defines, which is useless. Nevertheless, we may not want to
-+# sort them, since we want the *last* AC-DEFINE to be honored.
-+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-+rm -f confdef2sed.sed
-
- # This sed command replaces #undef with comments. This is necessary, for
- # example, in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
--cat >> conftest.vals <<\EOF
--s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
--EOF
--
--# Break up conftest.vals because some shells have a limit on
--# the size of here documents, and old seds have small limits too.
--
-+cat >>conftest.undefs <<\_ACEOF
-+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-+_ACEOF
-+
-+# Break up conftest.defines because some shells have a limit on the size
-+# of here documents, and old seds have small limits too (100 cmds).
-+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-+echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-+echo ' :' >>$CONFIG_STATUS
- rm -f conftest.tail
--while :
-+while grep . conftest.defines >/dev/null
- do
-- ac_lines=`grep -c . conftest.vals`
-- # grep -c gives empty output for an empty file on some AIX systems.
-- if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
-- # Write a limited-size here document to conftest.frag.
-- echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
-- sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
-+ # Write a limited-size here document to $tmp/defines.sed.
-+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
-+ # Speed up: don't consider the non `#define' lines.
-+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
-+ # Work around the forget-to-reset-the-flag bug.
-+ echo 't clr' >>$CONFIG_STATUS
-+ echo ': clr' >>$CONFIG_STATUS
-+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
-- sed -f conftest.frag conftest.in > conftest.out
-- rm -f conftest.in
-- mv conftest.out conftest.in
--' >> $CONFIG_STATUS
-- sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
-- rm -f conftest.vals
-- mv conftest.tail conftest.vals
--done
--rm -f conftest.vals
--
--cat >> $CONFIG_STATUS <<\EOF
-- rm -f conftest.frag conftest.h
-- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
-- cat conftest.in >> conftest.h
-- rm -f conftest.in
-- if cmp -s $ac_file conftest.h 2>/dev/null; then
-- echo "$ac_file is unchanged"
-- rm -f conftest.h
-- else
-- # Remove last slash and all that follows it. Not all systems have dirname.
-- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-- # The file is in a subdirectory.
-- test ! -d "$ac_dir" && mkdir "$ac_dir"
-- fi
-- rm -f $ac_file
-- mv conftest.h $ac_file
-+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
-+ rm -f $tmp/in
-+ mv $tmp/out $tmp/in
-+' >>$CONFIG_STATUS
-+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
-+ rm -f conftest.defines
-+ mv conftest.tail conftest.defines
-+done
-+rm -f conftest.defines
-+echo ' fi # grep' >>$CONFIG_STATUS
-+echo >>$CONFIG_STATUS
-+
-+# Break up conftest.undefs because some shells have a limit on the size
-+# of here documents, and old seds have small limits too (100 cmds).
-+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-+rm -f conftest.tail
-+while grep . conftest.undefs >/dev/null
-+do
-+ # Write a limited-size here document to $tmp/undefs.sed.
-+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
-+ # Speed up: don't consider the non `#undef'
-+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
-+ # Work around the forget-to-reset-the-flag bug.
-+ echo 't clr' >>$CONFIG_STATUS
-+ echo ': clr' >>$CONFIG_STATUS
-+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
-+ echo 'CEOF
-+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
-+ rm -f $tmp/in
-+ mv $tmp/out $tmp/in
-+' >>$CONFIG_STATUS
-+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
-+ rm -f conftest.undefs
-+ mv conftest.tail conftest.undefs
-+done
-+rm -f conftest.undefs
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+ # Let's still pretend it is `configure' which instantiates (i.e., don't
-+ # use $as_me), people would be surprised to read:
-+ # /* config.h. Generated by config.status. */
-+ if test x"$ac_file" = x-; then
-+ echo "/* Generated by configure. */" >$tmp/config.h
-+ else
-+ echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
--fi; done
-+ cat $tmp/in >>$tmp/config.h
-+ rm -f $tmp/in
-+ if test x"$ac_file" != x-; then
-+ if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
-+ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-+echo "$as_me: $ac_file is unchanged" >&6;}
-+ else
-+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$ac_file" : 'X\(//\)[^/]' \| \
-+ X"$ac_file" : 'X\(//\)$' \| \
-+ X"$ac_file" : 'X\(/\)' \| \
-+ . : '\(.\)' 2>/dev/null ||
-+echo X"$ac_file" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-+ /^X\(\/\/\)$/{ s//\1/; q; }
-+ /^X\(\/\).*/{ s//\1/; q; }
-+ s/.*/./; q'`
-+ { if $as_mkdir_p; then
-+ mkdir -p "$ac_dir"
-+ else
-+ as_dir="$ac_dir"
-+ as_dirs=
-+ while test ! -d "$as_dir"; do
-+ as_dirs="$as_dir $as_dirs"
-+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
-+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$as_dir" : 'X\(//\)[^/]' \| \
-+ X"$as_dir" : 'X\(//\)$' \| \
-+ X"$as_dir" : 'X\(/\)' \| \
-+ . : '\(.\)' 2>/dev/null ||
-+echo X"$as_dir" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-+ /^X\(\/\/\)$/{ s//\1/; q; }
-+ /^X\(\/\).*/{ s//\1/; q; }
-+ s/.*/./; q'`
-+ done
-+ test ! -n "$as_dirs" || mkdir $as_dirs
-+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-+ { (exit 1); exit 1; }; }; }
-
--EOF
--cat >> $CONFIG_STATUS <<EOF
-+ rm -f $ac_file
-+ mv $tmp/config.h $ac_file
-+ fi
-+ else
-+ cat $tmp/config.h
-+ rm -f $tmp/config.h
-+ fi
-+done
-+_ACEOF
-
--EOF
--cat >> $CONFIG_STATUS <<\EOF
-+cat >>$CONFIG_STATUS <<\_ACEOF
-
--exit 0
--EOF
-+{ (exit 0); exit 0; }
-+_ACEOF
- chmod +x $CONFIG_STATUS
--rm -fr confdefs* $ac_clean_files
--test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-+ac_clean_files=$ac_clean_files_save
-+
-+
-+# configure is writing to config.log, and then calls config.status.
-+# config.status does its own redirection, appending to config.log.
-+# Unfortunately, on DOS this fails, as config.log is still kept open
-+# by configure, so config.status won't be able to write to it; its
-+# output is simply discarded. So we exec the FD to /dev/null,
-+# effectively closing config.log, so it can be properly (re)opened and
-+# appended to by config.status. When coming back to configure, we
-+# need to make the FD available again.
-+if test "$no_create" != yes; then
-+ ac_cs_success=:
-+ ac_config_status_args=
-+ test "$silent" = yes &&
-+ ac_config_status_args="$ac_config_status_args --quiet"
-+ exec 5>/dev/null
-+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-+ exec 5>>config.log
-+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-+ # would make configure fail if this is the last instruction.
-+ $ac_cs_success || { (exit 1); exit 1; }
-+fi
-
-diff -rN -U 5 tsocks-1.8/configure.in tsocks/configure.in
---- tsocks-1.8/configure.in 2002-07-16 10:51:03.000000000 +1200
-+++ tsocks/configure.in 2005-10-02 21:52:00.000000000 +1300
-@@ -11,17 +11,19 @@
- dnl /etc/ld.so.preload file
- test "$libdir" = "\${exec_prefix}/lib" && libdir="/lib"
-
- dnl Arguments we allow
- AC_ARG_ENABLE(socksdns,
--[ --enable-socksdns force dns lookups to use tcp ])
-+[ --enable-socksdns force dns lookups to use tcp ])
-+AC_ARG_ENABLE(tordns,
-+[ --disable-tordns don't override name lookup calls to use SOCKS ])
- AC_ARG_ENABLE(debug,
- [ --disable-debug disable ALL error messages from tsocks ])
- AC_ARG_ENABLE(oldmethod,
--[ --enable-oldmethod use the old method to override connect ])
-+[ --enable-oldmethod use the old method to override connect ])
- AC_ARG_ENABLE(hostnames,
--[ --disable-hostnames disable hostname lookups for socks servers ])
-+[ --enable-hostnames enable hostname lookups for socks servers ])
- AC_ARG_ENABLE(envconf,
- [ --disable-envconf do not allow TSOCKS_CONF_FILE to specify configuration file ])
- AC_ARG_WITH(conf,
- [ --with-conf=<file> location of configuration file (/etc/tsocks.conf default)],[
- if test "${withval}" = "yes" ; then
-@@ -43,11 +45,11 @@
- AC_PROG_CC
- AC_PROG_INSTALL
- AC_PROG_LN_S
-
- dnl Check if the C compiler accepts -Wall
--AC_MSG_CHECKING("if the C compiler accepts -Wall")
-+AC_MSG_CHECKING(if the C compiler accepts -Wall)
- OLDCFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Wall"
- AC_TRY_COMPILE(,,AC_MSG_RESULT(yes),[
- CFLAGS="$OLDCFLAGS"
- AC_MSG_RESULT(no)])
-@@ -68,16 +70,23 @@
- AC_CHECK_HEADER(fcntl.h,,AC_MSG_ERROR("fcntl.h not found"))
-
- dnl Check for the poll header
- AC_CHECK_HEADER(sys/poll.h,,AC_MSG_ERROR("sys/poll.h not found"))
-
-+dnl Check for the mmap header
-+AC_CHECK_HEADER(sys/mman.h,,AC_MSG_ERROR("sys/mman.h not found"))
-+
- dnl Other headers we're interested in
- AC_CHECK_HEADERS(unistd.h)
-
- dnl Checks for library functions.
--AC_CHECK_FUNCS(strcspn strdup strerror strspn strtol,,[
-- AC_MSG_ERROR("Required function not found")])
-+AC_CHECK_FUNCS(strcspn strdup strerror strspn strtol mmap strcasecmp \
-+ strncasecmp strtol,,[AC_MSG_ERROR("Required function not found")])
-+
-+dnl Find which version of gethostbyname_r we should be using (actually this
-+dnl isn't used right now).
-+AX_FUNC_WHICH_GETHOSTBYNAME_R
-
- dnl First find the library that contains connect() (obviously
- dnl the most important library for us). Once we've found it
- dnl we chuck it on the end of LIBS, that lib may end up there
- dnl more than once (since we do our search with an empty libs
-@@ -123,22 +132,22 @@
- dnl Checks for libraries.
- dnl Replace `main' with a function in -ldl:
- AC_CHECK_LIB(dl, dlsym,,AC_MSG_ERROR("libdl is required"))
-
- dnl If we're using gcc here define _GNU_SOURCE
--AC_MSG_CHECKING("for RTLD_NEXT from dlfcn.h")
-+AC_MSG_CHECKING(for RTLD_NEXT from dlfcn.h)
- AC_EGREP_CPP(yes,
- [
- #include <dlfcn.h>
- #ifdef RTLD_NEXT
- yes
- #endif
- ], [
- AC_MSG_RESULT(yes)
- ], [
- AC_MSG_RESULT(no)
-- AC_MSG_CHECKING("for RTLD_NEXT from dlfcn.h with _GNU_SOURCE")
-+ AC_MSG_CHECKING(for RTLD_NEXT from dlfcn.h with _GNU_SOURCE)
- AC_EGREP_CPP(yes,
- [
- #define _GNU_SOURCE
- #include <dlfcn.h>
- #ifdef RTLD_NEXT
-@@ -156,10 +165,21 @@
-
- if test "${enable_socksdns}" = "yes"; then
- AC_DEFINE(USE_SOCKS_DNS)
- fi
-
-+AC_MSG_CHECKING(whether to enable tordns)
-+if test "x${enable_tordns}" = "x"; then
-+ AC_DEFINE(USE_TOR_DNS)
-+ DEADPOOL_O="\${DEADPOOL}.o"
-+ AC_MSG_RESULT(yes)
-+else
-+ DEADPOOL_O=""
-+ AC_MSG_RESULT(no)
-+fi
-+AC_SUBST(DEADPOOL_O)
-+
- if test "x${enable_envconf}" = "x"; then
- AC_DEFINE(ALLOW_ENV_CONFIG)
- fi
-
- if test "${enable_oldmethod}" = "yes"; then
-@@ -169,17 +189,22 @@
-
- if test "x${enable_debug}" = "x"; then
- AC_DEFINE(ALLOW_MSG_OUTPUT)
- fi
-
--if test "x${enable_hostnames}" = "x"; then
-+if test "x${enable_hostnames}" = "xyes"; then
- AC_DEFINE(HOSTNAMES)
- fi
-
- if test "${enable_socksdns}" = "yes" -a \
-- "x${enable_hostnames}" = "x" ; then
-- AC_MSG_ERROR("--enable-socksdns is not valid without --disable-hostnames")
-+ "x${enable_hostnames}" = "xyes" ; then
-+ AC_MSG_ERROR("--enable-socksdns is not valid with --enable-hostnames")
-+fi
-+
-+if test "x${enable_tordns}" = "x" -a \
-+ "x${enable_hostnames}" = "xyes" ; then
-+ AC_MSG_ERROR("--enable-tordns is not valid with --enable-hostnames")
- fi
-
- dnl If we have to use the old method of overriding connect (i.e no
- dnl RTLD_NEXT) we need to know the location of the library that
- dnl contains connect(), select(), poll() and close()
-@@ -201,11 +226,11 @@
- if test "${TAIL}" = ""; then
- AC_MSG_ERROR('tail not found in path')
- fi
-
- dnl Now find the library we need
-- AC_MSG_CHECKING("location of lib${CONNECTLIB}.so")
-+ AC_MSG_CHECKING(location of lib${CONNECTLIB}.so)
- LIBCONNECT=
- for DIR in '/lib' '/usr/lib'; do
- if test "${LIBCONNECT}" = ""; then
- LIBCONNECT=`$FIND $DIR -name "lib${CONNECTLIB}.so.?" 2>/dev/null | $TAIL -1`
- fi
-@@ -217,11 +242,11 @@
- fi
-
- AC_MSG_RESULT($LIBCONNECT)
-
- dnl close() should be in libc, find it
-- AC_MSG_CHECKING("location of libc.so")
-+ AC_MSG_CHECKING(location of libc.so)
- LIBC=
- for DIR in '/lib' '/usr/lib'; do
- if test "${LIBC}" = ""; then
- LIBC=`$FIND $DIR -name "libc.so.?" 2>/dev/null | $TAIL -1`
- fi
-@@ -325,10 +350,22 @@
- AC_MSG_ERROR("no match found!")
- fi
- AC_MSG_RESULT([poll(${PROTO})])
- AC_DEFINE_UNQUOTED(POLL_SIGNATURE, [${PROTO}])
-
-+dnl Emit signature for gethostbyname
-+PROTO="const char *name"
-+AC_DEFINE_UNQUOTED(GETHOSTBYNAME_SIGNATURE, [${PROTO}])
-+
-+dnl Emit signature for getaddrinfo
-+PROTO="const char *node, const char *service, void *hints, void *res"
-+AC_DEFINE_UNQUOTED(GETADDRINFO_SIGNATURE, [${PROTO}])
-+
-+dnl Emit signature for getipnodebyname
-+PROTO="const char *name, int af, int flags, int *error_num"
-+AC_DEFINE_UNQUOTED(GETIPNODEBYNAME_SIGNATURE, [${PROTO}])
-+
- dnl Output the special librarys (libdl etc needed for tsocks)
- SPECIALLIBS=${LIBS}
- AC_SUBST(SPECIALLIBS)
- LIBS=${SIMPLELIBS}
-
-diff -rN -U 5 tsocks-1.8/dead_pool.c tsocks/dead_pool.c
---- tsocks-1.8/dead_pool.c 1970-01-01 12:00:00.000000000 +1200
-+++ tsocks/dead_pool.c 2005-10-01 21:26:53.000000000 +1200
-@@ -0,0 +1,541 @@
-+#include <stdio.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-+#include <netdb.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <sys/mman.h>
-+#include "common.h"
-+#include "dead_pool.h"
-+
-+int store_pool_entry(dead_pool *pool, char *hostname, struct in_addr *addr);
-+void get_next_dead_address(dead_pool *pool, uint32_t *result);
-+
-+static int
-+do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
-+ uint32_t *result_addr);
-+
-+/* Compares the last strlen(s2) characters of s1 with s2. Returns as for
-+ strcasecmp. */
-+static int
-+strcasecmpend(const char *s1, const char *s2)
-+{
-+ size_t n1 = strlen(s1), n2 = strlen(s2);
-+ if (n2>n1) /* then they can't be the same; figure out which is bigger */
-+ return strcasecmp(s1,s2);
-+ else
-+ return strncasecmp(s1+(n1-n2), s2, n2);
-+}
-+
-+dead_pool *
-+init_pool(int pool_size, struct in_addr deadrange_base,
-+ struct in_addr deadrange_mask, char *sockshost, uint16_t socksport)
-+{
-+ int i, deadrange_bits, deadrange_width, deadrange_size;
-+ struct in_addr socks_server;
-+ dead_pool *newpool = NULL;
-+
-+ /* Count bits in netmask and determine deadrange width. */
-+ deadrange_bits = count_netmask_bits(deadrange_mask.s_addr);
-+ if(deadrange_bits == -1) {
-+ show_msg(MSGERR, "init_pool: invalid netmask for deadrange\n");
-+ return NULL;
-+ }
-+ deadrange_width = 32 - deadrange_bits;
-+
-+ show_msg(MSGDEBUG, "deadrange width is %d bits\n", deadrange_width);
-+
-+ /* Now work out how many IPs are available in the deadrange and check
-+ that this number makes sense. If the deadpool is bigger than the
-+ deadrange we shrink the pool. */
-+
-+ for(i=0, deadrange_size = 1; i < deadrange_width; i++) {
-+ deadrange_size *= 2;
-+ }
-+
-+ if(deadrange_size < pool_size) {
-+ show_msg(MSGWARN, "tordns cache size was %d, but deadrange size is %d: "
-+ "shrinking pool size to %d entries\n", pool_size,
-+ deadrange_size, deadrange_size);
-+ pool_size = deadrange_size;
-+ }
-+ if(pool_size < 1) {
-+ show_msg(MSGERR, "tordns cache size is 0, disabling tordns\n");
-+ return NULL;
-+ }
-+
-+ /* Allocate space for the dead_pool structure */
-+ newpool = (dead_pool *) mmap(0, sizeof(dead_pool),
-+ PROT_READ | PROT_WRITE,
-+ MAP_SHARED | MAP_ANONYMOUS, -1, 0);
-+ if(!newpool) {
-+ show_msg(MSGERR, "init_pool: unable to mmap deadpool "
-+ "(tried to map %d bytes)\n", sizeof(dead_pool));
-+ return NULL;
-+ }
-+
-+ /* Initialize the dead_pool structure */
-+#ifdef HAVE_INET_ATON
-+ inet_aton(sockshost, &socks_server);
-+#elif defined(HAVE_INET_ADDR)
-+ socks_server.s_addr = inet_addr(sockshost);
-+#endif
-+ newpool->sockshost = ntohl(socks_server.s_addr);
-+ newpool->socksport = socksport;
-+ newpool->deadrange_base = ntohl(deadrange_base.s_addr);
-+ newpool->deadrange_mask = ntohl(deadrange_mask.s_addr);
-+ newpool->deadrange_size = deadrange_size;
-+ newpool->write_pos = 0;
-+ newpool->dead_pos = 0;
-+ newpool->n_entries = pool_size;
-+
-+ /* Allocate space for the entries */
-+ newpool->entries = (pool_ent *) mmap(0, newpool->n_entries * sizeof(pool_ent),
-+ PROT_READ | PROT_WRITE,
-+ MAP_SHARED | MAP_ANONYMOUS, -1, 0);
-+ if(!newpool->entries) {
-+ munmap((void *)newpool, sizeof(dead_pool));
-+ show_msg(MSGERR, "init_pool: unable to mmap deadpool entries "
-+ "(tried to map %d bytes)\n",
-+ newpool->n_entries * sizeof(pool_ent));
-+ return NULL;
-+ }
-+
-+ /* Initialize the entries */
-+ for(i=0; i < newpool->n_entries; i++) {
-+ newpool->entries[i].ip = -1;
-+ newpool->entries[i].name[0] = '\0';
-+ }
-+
-+ return newpool;
-+}
-+
-+int
-+is_dead_address(dead_pool *pool, uint32_t addr)
-+{
-+ uint32_t haddr = ntohl(addr);
-+ if(pool == NULL) {
-+ return 0;
-+ }
-+ return (pool->deadrange_base == (haddr & pool->deadrange_mask));
-+}
-+
-+void
-+get_next_dead_address(dead_pool *pool, uint32_t *result)
-+{
-+ *result = htonl(pool->deadrange_base + pool->dead_pos++);
-+ if(pool->dead_pos >= pool->deadrange_size) {
-+ pool->dead_pos = 0;
-+ }
-+}
-+
-+int
-+store_pool_entry(dead_pool *pool, char *hostname, struct in_addr *addr)
-+{
-+ int position = pool->write_pos;
-+ int oldpos;
-+ int rc;
-+ uint32_t intaddr;
-+
-+ show_msg(MSGDEBUG, "store_pool_entry: storing '%s'\n", hostname);
-+ show_msg(MSGDEBUG, "store_pool_entry: write pos is: %d\n", pool->write_pos);
-+
-+ /* Check to see if name already exists in pool */
-+ oldpos = search_pool_for_name(pool, hostname);
-+ if(oldpos != -1){
-+ show_msg(MSGDEBUG, "store_pool_entry: not storing (entry exists)\n");
-+ addr->s_addr = pool->entries[oldpos].ip;
-+ return oldpos;
-+ }
-+
-+ /* If this is a .onion host, then we return a bogus ip from our deadpool,
-+ otherwise we try to resolve it and store the 'real' IP */
-+ if(strcasecmpend(hostname, ".onion") == 0) {
-+ get_next_dead_address(pool, &pool->entries[position].ip);
-+ } else {
-+ rc = do_resolve(hostname, pool->sockshost, pool->socksport, &intaddr);
-+ if(rc != 0) {
-+ show_msg(MSGWARN, "failed to resolve: %s\n", hostname);
-+ return -1;
-+ }
-+ if(is_dead_address(pool, intaddr)) {
-+ show_msg(MSGERR, "resolved %s -> %d (deadpool address) IGNORED\n");
-+ return -1;
-+ }
-+ pool->entries[position].ip = intaddr;
-+ }
-+
-+ strncpy(pool->entries[position].name, hostname, 255);
-+ pool->entries[position].name[255] = '\0';
-+ pool->write_pos++;
-+ if(pool->write_pos >= pool->n_entries) {
-+ pool->write_pos = 0;
-+ }
-+ addr->s_addr = pool->entries[position].ip;
-+
-+ show_msg(MSGDEBUG, "store_pool_entry: stored entry in slot '%d'\n", position);
-+
-+ return position;
-+}
-+
-+int
-+search_pool_for_name(dead_pool *pool, const char *name)
-+{
-+ int i;
-+ for(i=0; i < pool->n_entries; i++){
-+ if(strcmp(name, pool->entries[i].name) == 0){
-+ return i;
-+ }
-+ }
-+ return -1;
-+}
-+
-+char *
-+get_pool_entry(dead_pool *pool, struct in_addr *addr)
-+{
-+ int i;
-+ uint32_t intaddr = addr->s_addr;
-+
-+ if(pool == NULL) {
-+ return NULL;
-+ }
-+
-+ show_msg(MSGDEBUG, "get_pool_entry: searching for: %s\n", inet_ntoa(*addr));
-+ for(i=0; i<pool->n_entries; i++) {
-+ if(intaddr == pool->entries[i].ip) {
-+ show_msg(MSGDEBUG, "get_pool_entry: found: %s\n", pool->entries[i].name);
-+ return pool->entries[i].name;
-+ }
-+ }
-+ show_msg(MSGDEBUG, "get_pool_entry: address not found\n");
-+
-+ return NULL;
-+}
-+
-+static int
-+build_socks4a_resolve_request(char **out,
-+ const char *username,
-+ const char *hostname)
-+{
-+ size_t len;
-+ uint16_t port = htons(0); /* port: 0. */
-+ uint32_t addr = htonl(0x00000001u); /* addr: 0.0.0.1 */
-+
-+ len = 8 + strlen(username) + 1 + strlen(hostname) + 1;
-+ *out = malloc(len);
-+ (*out)[0] = 4; /* SOCKS version 4 */
-+ (*out)[1] = '\xF0'; /* Command: resolve. */
-+
-+ memcpy((*out)+2, &port, sizeof(port));
-+ memcpy((*out)+4, &addr, sizeof(addr));
-+ strcpy((*out)+8, username);
-+ strcpy((*out)+8+strlen(username)+1, hostname);
-+
-+ return len;
-+}
-+
-+#define RESPONSE_LEN 8
-+
-+static int
-+parse_socks4a_resolve_response(const char *response, size_t len,
-+ uint32_t *addr_out)
-+{
-+ uint8_t status;
-+ uint16_t port;
-+
-+ if (len < RESPONSE_LEN) {
-+ show_msg(MSGWARN,"Truncated socks response.\n");
-+ return -1;
-+ }
-+ if (((uint8_t)response[0])!=0) { /* version: 0 */
-+ show_msg(MSGWARN,"Nonzero version in socks response: bad format.\n");
-+ return -1;
-+ }
-+ status = (uint8_t)response[1];
-+
-+ memcpy(&port, response+2, sizeof(port));
-+ if (port!=0) { /* port: 0 */
-+ show_msg(MSGWARN,"Nonzero port in socks response: bad format.\n");
-+ return -1;
-+ }
-+ if (status != 90) {
-+ show_msg(MSGWARN,"Bad status: socks request failed.\n");
-+ return -1;
-+ }
-+
-+ memcpy(addr_out, response+4, sizeof(*addr_out));
-+
-+ return 0;
-+}
-+
-+static int
-+do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
-+ uint32_t *result_addr)
-+{
-+ int s;
-+ struct sockaddr_in socksaddr;
-+ char *req, *cp;
-+ int r, len;
-+ char response_buf[RESPONSE_LEN];
-+
-+ show_msg(MSGDEBUG, "do_resolve: resolving %s\n", hostname);
-+
-+ s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
-+ if (s<0) {
-+ show_msg(MSGWARN, "do_resolve: problem creating socket\n");
-+ return -1;
-+ }
-+
-+ memset(&socksaddr, 0, sizeof(socksaddr));
-+ socksaddr.sin_family = AF_INET;
-+ socksaddr.sin_port = htons(socksport);
-+ socksaddr.sin_addr.s_addr = htonl(sockshost);
-+ if (realconnect(s, (struct sockaddr*)&socksaddr, sizeof(socksaddr))) {
-+ show_msg(MSGWARN, "do_resolve: error connecting to SOCKS server\n");
-+ return -1;
-+ }
-+
-+ if ((len = build_socks4a_resolve_request(&req, "", hostname))<0) {
-+ show_msg(MSGWARN, "do_resolve: error generating SOCKS request\n");
-+ return -1;
-+ }
-+
-+ cp = req;
-+ while (len) {
-+ r = send(s, cp, len, 0);
-+ if (r<0) {
-+ show_msg(MSGWARN, "do_resolve: error sending SOCKS request\n");
-+ free(req);
-+ return -1;
-+ }
-+ len -= r;
-+ cp += r;
-+ }
-+ free(req);
-+
-+ len = 0;
-+ while (len < RESPONSE_LEN) {
-+ r = recv(s, response_buf+len, RESPONSE_LEN-len, 0);
-+ if (r==0) {
-+ show_msg(MSGWARN, "do_resolve: EOF while reading SOCKS response\n");
-+ return -1;
-+ }
-+ if (r<0) {
-+ show_msg(MSGWARN, "do_resolve: error reading SOCKS response\n");
-+ return -1;
-+ }
-+ len += r;
-+ }
-+
-+ realclose(s);
-+
-+ if (parse_socks4a_resolve_response(response_buf, RESPONSE_LEN, result_addr) < 0){
-+ show_msg(MSGWARN, "do_resolve: error parsing SOCKS response\n");
-+ return -1;
-+ }
-+
-+ show_msg(MSGDEBUG, "do_resolve: success\n");
-+
-+ return 0;
-+}
-+
-+struct hostent *
-+our_gethostbyname(dead_pool *pool, const char *name)
-+{
-+ int pos;
-+ static struct in_addr addr;
-+ static struct hostent he;
-+ static char *addrs[2];
-+
-+ show_msg(MSGDEBUG, "our_gethostbyname: '%s' requested\n", name);
-+
-+ pos = store_pool_entry(pool,(char *) name, &addr);
-+ if(pos == -1) {
-+ h_errno = HOST_NOT_FOUND;
-+ return NULL;
-+ }
-+
-+ addrs[0] = (char *)&addr;
-+ addrs[1] = NULL;
-+
-+ he.h_name = pool->entries[pos].name;
-+ he.h_aliases = NULL;
-+ he.h_length = 4;
-+ he.h_addrtype = AF_INET;
-+ he.h_addr_list = addrs;
-+
-+ show_msg(MSGDEBUG, "our_gethostbyname: resolved '%s' to: '%s'\n",
-+ name, inet_ntoa(*((struct in_addr *)he.h_addr)));
-+
-+ return &he;
-+}
-+
-+static struct hostent *
-+alloc_hostent(int af)
-+{
-+ struct hostent *he = NULL;
-+ char **addr_list = NULL;
-+ void *addr = NULL;
-+ char **aliases = NULL;
-+
-+ if(af != AF_INET && af != AF_INET6) {
-+ return NULL;
-+ }
-+
-+ /* Since the memory we allocate here will be free'd by freehostent and
-+ that function is opaque to us, it's likely that we'll leak a little
-+ bit of memory here. */
-+
-+ he = malloc(sizeof(struct hostent));
-+ addr_list = malloc(2 * sizeof(char *));
-+ if(af == AF_INET6) {
-+ addr = malloc(sizeof(struct in6_addr));
-+ } else {
-+ addr = malloc(sizeof(struct in_addr));
-+ }
-+ aliases = malloc(sizeof(char *));
-+
-+ if(he == NULL || addr_list == NULL || addr == NULL || aliases == NULL) {
-+ if(he)
-+ free(he);
-+ if(addr_list)
-+ free(addr_list);
-+ if(addr)
-+ free(addr);
-+ if(aliases)
-+ free(aliases);
-+ }
-+
-+ he->h_name = NULL;
-+ he->h_addr_list = addr_list;
-+ he->h_addr_list[0] = addr;
-+ he->h_addr_list[1] = NULL;
-+ he->h_aliases = aliases;
-+ he->h_aliases[0] = NULL;
-+ he->h_length = af == AF_INET ? 4 : 16;
-+ he->h_addrtype = af;
-+
-+ return he;
-+}
-+
-+/* On Linux, there's no freehostent() anymore; we might as well implement
-+ this ourselves. */
-+
-+static void
-+free_hostent(struct hostent *he)
-+{
-+ int i;
-+ if(he->h_name) {
-+ free(he->h_name);
-+ }
-+ if(he->h_aliases) {
-+ for(i=0; he->h_aliases[i] != NULL; i++) {
-+ free(he->h_aliases[i]);
-+ }
-+ free(he->h_aliases);
-+ }
-+ if(he->h_addr_list) {
-+ free(he->h_addr_list);
-+ }
-+ free(he);
-+}
-+
-+int
-+our_getaddrinfo(dead_pool *pool, const char *node, const char *service,
-+ void *hints, void *res)
-+{
-+ int pos;
-+ struct in_addr addr;
-+ char *ipstr;
-+ int ret;
-+
-+ /* If "node" looks like a dotted-decimal ip address, then just call
-+ the real getaddrinfo; otherwise we'll need to get an address from
-+ our pool. */
-+
-+ /* TODO: work out what to do with AF_INET6 requests */
-+
-+#ifdef HAVE_INET_ATON
-+ if(inet_aton(node, &addr) == 0) {
-+#elif defined(HAVE_INET_ADDR)
-+ /* If we're stuck with inet_addr, then getaddrinfo() won't work
-+ properly with 255.255.255.255 (= -1). There's not much we can
-+ do about this */
-+ in_addr_t is_valid;
-+ is_valid = inet_addr(node);
-+ if(is_valid == -1) {
-+#endif
-+ pos = store_pool_entry(pool, (char *) node, &addr);
-+ if(pos == -1) {
-+ return EAI_NONAME;
-+ } else {
-+ ipstr = strdup(inet_ntoa(addr));
-+ ret = realgetaddrinfo(ipstr, service, hints, res);
-+ free(ipstr);
-+ }
-+ } else {
-+ ret = realgetaddrinfo(node, service, hints, res);
-+ }
-+
-+ return ret;
-+}
-+
-+struct hostent *
-+our_getipnodebyname(dead_pool *pool, const char *name, int af, int flags,
-+ int *error_num)
-+{
-+ int pos;
-+ struct hostent *he = NULL;
-+ int want_4in6 = 0;
-+ char addr_convert_buf[80];
-+ struct in_addr pool_addr;
-+
-+ if(af == AF_INET6) {
-+ /* Caller has requested an AF_INET6 address, and is not prepared to
-+ accept IPv4-mapped IPV6 addresses. There's nothing we can do to
-+ service their request. */
-+ if((flags & AI_V4MAPPED) == 0) {
-+ show_msg(MSGWARN, "getipnodebyname: asked for V6 addresses only, "
-+ "but tsocks can't handle that\n");
-+ *error_num = NO_RECOVERY;
-+ return NULL;
-+ } else {
-+ want_4in6 = 1;
-+ }
-+ }
-+
-+ pos = store_pool_entry(pool, (char *)name, &pool_addr);
-+ if(pos == -1) {
-+ *error_num = HOST_NOT_FOUND;
-+ return NULL;
-+ }
-+
-+ he = alloc_hostent(af);
-+ if(he == NULL) {
-+ show_msg(MSGERR, "getipnodebyname: failed to allocate hostent\n");
-+ *error_num = NO_RECOVERY;
-+ return NULL;
-+ }
-+
-+ if(want_4in6) {
-+ /* Convert the ipv4 address in *addr to an IPv4 in IPv6 mapped
-+ address. TODO: inet_ntoa() is thread-safe on Solaris but might
-+ not be on other platforms. */
-+ strcpy(addr_convert_buf, "::FFFF:");
-+ strcpy(addr_convert_buf+7, inet_ntoa(pool_addr));
-+ if(inet_pton(AF_INET6, addr_convert_buf, he->h_addr_list[0]) != 1) {
-+ show_msg(MSGERR, "getipnodebyname: inet_pton() failed!\n");
-+ free_hostent(he);
-+ *error_num = NO_RECOVERY;
-+ return NULL;
-+ }
-+ } else {
-+ ((struct in_addr *) he->h_addr_list[0])->s_addr = pool_addr.s_addr;
-+ }
-+ he->h_name = strdup(name);
-+
-+ return he;
-+}
-+
-+
-diff -rN -U 5 tsocks-1.8/dead_pool.h tsocks/dead_pool.h
---- tsocks-1.8/dead_pool.h 1970-01-01 12:00:00.000000000 +1200
-+++ tsocks/dead_pool.h 2005-10-01 18:28:53.000000000 +1200
-@@ -0,0 +1,44 @@
-+#ifndef _DEAD_POOL_H
-+#define _DEAD_POOL_H
-+
-+#include <config.h>
-+
-+extern int (*realconnect)(CONNECT_SIGNATURE);
-+extern int (*realclose)(CLOSE_SIGNATURE);
-+extern int (*realgetaddrinfo)(GETADDRINFO_SIGNATURE);
-+
-+struct struct_pool_ent {
-+ unsigned int ip;
-+ char name[256];
-+};
-+
-+typedef struct struct_pool_ent pool_ent;
-+
-+struct struct_dead_pool {
-+ pool_ent *entries; /* Points to array of pool entries */
-+ int n_entries; /* Number of entries in the deadpool */
-+ unsigned int deadrange_base; /* Deadrange start IP in host byte order */
-+ unsigned int deadrange_mask; /* Deadrange netmask in host byte order */
-+ unsigned int deadrange_size; /* Number of IPs in the deadrange */
-+ unsigned int write_pos; /* Next position to use in the pool array */
-+ unsigned int dead_pos; /* Next 'unused' deadpool IP */
-+ uint32_t sockshost;
-+ uint16_t socksport;
-+ char pad[2];
-+};
-+
-+typedef struct struct_dead_pool dead_pool;
-+
-+dead_pool *init_pool(int deadpool_size, struct in_addr deadrange_base,
-+ struct in_addr deadrange_mask, char *sockshost, uint16_t socksport);
-+int is_dead_address(dead_pool *pool, uint32_t addr);
-+char *get_pool_entry(dead_pool *pool, struct in_addr *addr);
-+int search_pool_for_name(dead_pool *pool, const char *name);
-+struct hostent *our_gethostbyname(dead_pool *pool, const char *name);
-+int our_getaddrinfo(dead_pool *pool, const char *node, const char *service,
-+ void *hints, void *res);
-+struct hostent *our_getipnodebyname(dead_pool *pool, const char *name,
-+ int af, int flags, int *error_num);
-+
-+#endif /* _DEAD_POOL_H */
-+
-diff -rN -U 5 tsocks-1.8/INSTALL tsocks/INSTALL
---- tsocks-1.8/INSTALL 2002-05-18 14:12:30.000000000 +1200
-+++ tsocks/INSTALL 2005-10-02 15:49:59.000000000 +1300
-@@ -2,14 +2,19 @@
- -------------------------------
-
- 1. Unpack the archive (though if you're reading this you've already
- achieved that)
-
-- tar -zxvf tsocks-<version>.tar.gx
-+ tar -zxvf tsocks-<version>.tar.gz
-+ OR
-+ tar -jxvf tsocks-<version>.tar.bz
-
- 2. Run ./configure, options which might be of interest (and that are
- specific to tsocks include):
-+ --disable-tordns This option disables tordns, which causes
-+ names to be looked up in a way designed to
-+ work well with Tor.
- --enable-socksdns This option causes tsocks to intercept
- DNS lookups and attempt to force them
- to use TCP instead of UDP and thus
- be proxied through the socks server. This
- is not a very elegant thing to do and
-@@ -24,14 +29,14 @@
- address of the connect() method tsocks
- overrides, instead it loads a reference
- to the libc shared library and then uses
- dlsym(). Again this is not very elegant
- and shouldn't be required.
-- --disable-hostnames This disables DNS lookups on names
-+ --enable-hostnames This enables DNS lookups on names
- provided as socks servers in the config
-- file. This option is necessary
-- if socks dns is enabled since tsocks
-+ file. This option is not compatible with
-+ tordns or socks dns, since tsocks
- can't send a socks dns request to resolve
- the location of the socks server.
- --with-conf=<filename> You can specify the location of the tsocks
- configuration file using this option, it
- defaults to '/etc/tsocks.conf'
-diff -rN -U 5 tsocks-1.8/Makefile.in tsocks/Makefile.in
---- tsocks-1.8/Makefile.in 2002-03-16 23:12:40.000000000 +1300
-+++ tsocks/Makefile.in 2005-10-02 21:58:35.000000000 +1300
-@@ -17,15 +17,17 @@
- INSPECT = inspectsocks
- SAVE = saveme
- LIB_NAME = libtsocks
- COMMON = common
- PARSER = parser
-+DEADPOOL = dead_pool
- VALIDATECONF = validateconf
- SCRIPT = tsocks
- SHLIB_MAJOR = 1
- SHLIB_MINOR = 8
- SHLIB = ${LIB_NAME}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
-+DEADPOOL_O = @DEADPOOL_O@
-
- INSTALL = @INSTALL@
- INSTALL_DATA = @INSTALL_DATA@
- CFLAGS = @CFLAGS@
- INCLUDES = -I.
-@@ -47,12 +49,12 @@
- ${SHCC} ${CFLAGS} ${INCLUDES} -o ${INSPECT} ${INSPECT}.c ${COMMON}.o ${LIBS}
-
- ${SAVE}: ${SAVE}.c
- ${SHCC} ${CFLAGS} ${INCLUDES} -static -o ${SAVE} ${SAVE}.c
-
--${SHLIB}: ${OBJS} ${COMMON}.o ${PARSER}.o
-- ${SHCC} ${CFLAGS} ${INCLUDES} -nostdlib -shared -o ${SHLIB} ${OBJS} ${COMMON}.o ${PARSER}.o ${DYNLIB_FLAGS} ${SPECIALLIBS} ${LIBS}
-+${SHLIB}: ${OBJS} ${COMMON}.o ${PARSER}.o ${DEADPOOL_O}
-+ ${SHCC} ${CFLAGS} ${INCLUDES} -nostdlib -shared -o ${SHLIB} ${OBJS} ${COMMON}.o ${PARSER}.o ${DEADPOOL_O} ${DYNLIB_FLAGS} ${SPECIALLIBS} ${LIBS}
- ln -sf ${SHLIB} ${LIB_NAME}.so
-
- %.so: %.c
- ${SHCC} ${CFLAGS} ${INCLUDES} -c ${CC_SWITCHES} $< -o $@
-
-@@ -81,6 +83,9 @@
-
- clean:
- -rm -f *.so *.so.* *.o *~ ${TARGETS}
-
- distclean: clean
-- -rm -f config.cache config.log config.h Makefile
-+ -rm -f config.cache config.log config.h Makefile \
-+ aclocal.m4 config.status
-+ -rm -rf autom4te.cache
-+
-diff -rN -U 5 tsocks-1.8/parser.c tsocks/parser.c
---- tsocks-1.8/parser.c 2002-03-14 01:34:22.000000000 +1300
-+++ tsocks/parser.c 2005-10-01 21:56:10.000000000 +1200
-@@ -27,10 +27,13 @@
- static int handle_reaches(struct parsedfile *, int, char *);
- static int handle_server(struct parsedfile *, int, char *);
- static int handle_type(struct parsedfile *config, int, char *);
- static int handle_port(struct parsedfile *config, int, char *);
- static int handle_local(struct parsedfile *, int, char *);
-+static int handle_tordns_enabled(struct parsedfile *, int, char *);
-+static int handle_tordns_deadpool_range(struct parsedfile *, int, char *);
-+static int handle_tordns_cache_size(struct parsedfile *, int, char *);
- static int handle_defuser(struct parsedfile *, int, char *);
- static int handle_defpass(struct parsedfile *, int, char *);
- static int make_netent(char *value, struct netent **ent);
-
- int read_config (char *filename, struct parsedfile *config) {
-@@ -41,13 +44,17 @@
- struct serverent *server;
-
- /* Clear out the structure */
- memset(config, 0x0, sizeof(*config));
-
-- /* Initialization */
-+ /* Initialization */
- currentcontext = &(config->defaultserver);
-
-+ /* Tordns defaults */
-+ config->tordns_cache_size = 256;
-+ config->tordns_enabled = 1;
-+
- /* If a filename wasn't provided, use the default */
- if (filename == NULL) {
- strncpy(line, CONF_FILE, sizeof(line) - 1);
- /* Insure null termination */
- line[sizeof(line) - 1] = (char) 0;
-@@ -56,11 +63,11 @@
-
- /* Read the configuration file */
- if ((conf = fopen(filename, "r")) == NULL) {
- show_msg(MSGERR, "Could not open socks configuration file "
- "(%s), assuming all networks local\n", filename);
-- handle_local(config, 0, "0.0.0.0/0.0.0.0");
-+ handle_local(config, 0, "0.0.0.0/0.0.0.0");
- rc = 1; /* Severe errors reading configuration */
- }
- else {
- memset(&(config->defaultserver), 0x0, sizeof(config->defaultserver));
-
-@@ -82,13 +89,17 @@
- server = (config->paths);
- while (server != NULL) {
- check_server(server);
- server = server->next;
- }
--
- }
-
-+ /* Initialize tordns deadpool_range if not supplied */
-+ if(config->tordns_deadpool_range == NULL) {
-+ handle_tordns_deadpool_range(config, 0, "127.0.69.0/255.255.255.0");
-+ }
-+
- return(rc);
- }
-
- /* Check server entries (and establish defaults) */
- static int check_server(struct serverent *server) {
-@@ -150,11 +161,17 @@
- handle_defuser(config, lineno, words[2]);
- } else if (!strcmp(words[0], "default_pass")) {
- handle_defpass(config, lineno, words[2]);
- } else if (!strcmp(words[0], "local")) {
- handle_local(config, lineno, words[2]);
-- } else {
-+ } else if (!strcmp(words[0], "tordns_enable")) {
-+ handle_tordns_enabled(config, lineno, words[2]);
-+ } else if (!strcmp(words[0], "tordns_deadpool_range")) {
-+ handle_tordns_deadpool_range(config, lineno, words[2]);
-+ } else if (!strcmp(words[0], "tordns_cache_size")) {
-+ handle_tordns_cache_size(config, lineno, words[2]);
-+ } else {
- show_msg(MSGERR, "Invalid pair type (%s) specified "
- "on line %d in configuration file, "
- "\"%s\"\n", words[0], lineno,
- savedline);
- }
-@@ -416,10 +433,130 @@
- }
-
- return(0);
- }
-
-+static int handle_flag(char *value)
-+{
-+ if(!strcasecmp(value, "true") || !strcasecmp(value, "yes")
-+ || !strcmp(value, "1")) {
-+ return 1;
-+ } else if (!strcasecmp(value, "false") || !strcasecmp(value, "no")
-+ || !strcmp(value, "0")) {
-+ return 0;
-+ } else {
-+ return -1;
-+ }
-+}
-+
-+static int handle_tordns_enabled(struct parsedfile *config, int lineno,
-+ char *value)
-+{
-+ int val = handle_flag(value);
-+ if(val == -1) {
-+ show_msg(MSGERR, "Invalid value %s supplied for tordns_enabled at "
-+ "line %d in config file, IGNORED\n", value, lineno);
-+ } else {
-+ config->tordns_enabled = val;
-+ }
-+ return 0;
-+}
-+
-+static int handle_tordns_cache_size(struct parsedfile *config, int lineno,
-+ char *value)
-+{
-+ char *endptr;
-+ long size = strtol(value, &endptr, 10);
-+ if(*endptr != '\0') {
-+ show_msg(MSGERR, "Error parsing integer value for "
-+ "tordns_cache_size (%s), using default %d\n",
-+ value, config->tordns_cache_size);
-+ } else if(size < 128) {
-+ show_msg(MSGERR, "The value supplied for tordns_cache_size (%d) "
-+ "is too small (<128), using default %d\n", size,
-+ config->tordns_cache_size);
-+ } else if(size > 4096) {
-+ show_msg(MSGERR, "The value supplied for tordns_cache_range (%d) "
-+ "is too large (>4096), using default %d\n", size,
-+ config->tordns_cache_size);
-+ } else {
-+ config->tordns_cache_size = size;
-+ }
-+ return 0;
-+}
-+
-+static int handle_tordns_deadpool_range(struct parsedfile *config, int lineno,
-+ char *value)
-+{
-+ int rc;
-+ struct netent *ent;
-+
-+ if (config->tordns_deadpool_range != NULL) {
-+ show_msg(MSGERR, "Only one 'deadpool' entry permitted, found a "
-+ "second at line %d in configuration file.\n");
-+ return(0);
-+ }
-+
-+ if (currentcontext != &(config->defaultserver)) {
-+ show_msg(MSGERR, "Deadpool cannot be specified in path "
-+ "block at like %d in configuration file. "
-+ "(Path block started at line %d)\n",
-+ lineno, currentcontext->lineno);
-+ return(0);
-+ }
-+
-+ rc = make_netent(value, &ent);
-+ /* This is copied from handle_local and should probably be folded into
-+ a generic whinge() function or something */
-+ switch(rc) {
-+ case 1:
-+ show_msg(MSGERR, "The deadpool specification (%s) is not validly "
-+ "constructed on line %d in configuration "
-+ "file\n", value, lineno);
-+ return(0);
-+ break;
-+ case 2:
-+ show_msg(MSGERR, "IP for deadpool "
-+ "network specification (%s) is not valid on line "
-+ "%d in configuration file\n", value, lineno);
-+ return(0);
-+ break;
-+ case 3:
-+ show_msg(MSGERR, "SUBNET for "
-+ "deadpool network specification (%s) is not valid on "
-+ "line %d in configuration file\n", value,
-+ lineno);
-+ return(0);
-+ break;
-+ case 4:
-+ show_msg(MSGERR, "IP (%s) & ", inet_ntoa(ent->localip));
-+ show_msg(MSGERR, "SUBNET (%s) != IP on line %d in "
-+ "configuration file, ignored\n",
-+ inet_ntoa(ent->localnet), lineno);
-+ return(0);
-+ case 5:
-+ case 6:
-+ case 7:
-+ show_msg(MSGERR, "Port specification is invalid and "
-+ "not allowed in deadpool specification "
-+ "(%s) on line %d in configuration file\n",
-+ value, lineno);
-+ return(0);
-+ break;
-+ }
-+ if (ent->startport || ent->endport) {
-+ show_msg(MSGERR, "Port specification is "
-+ "not allowed in deadpool specification "
-+ "(%s) on line %d in configuration file\n",
-+ value, lineno);
-+ return(0);
-+ }
-+
-+ config->tordns_deadpool_range = ent;
-+ return 0;
-+}
-+
- static int handle_local(struct parsedfile *config, int lineno, char *value) {
- int rc;
- struct netent *ent;
-
- if (currentcontext != &(config->defaultserver)) {
-diff -rN -U 5 tsocks-1.8/parser.h tsocks/parser.h
---- tsocks-1.8/parser.h 2002-02-10 20:26:27.000000000 +1300
-+++ tsocks/parser.h 2005-10-01 18:40:35.000000000 +1200
-@@ -23,18 +23,22 @@
- struct netent {
- struct in_addr localip; /* Base IP of the network */
- struct in_addr localnet; /* Mask for the network */
- unsigned long startport; /* Range of ports for the */
- unsigned long endport; /* network */
-- struct netent *next; /* Pointer to next network entry */
-+ struct netent *next; /* Pointer to next network entry */
- };
-
- /* Structure representing a complete parsed file */
- struct parsedfile {
- struct netent *localnets;
- struct serverent defaultserver;
- struct serverent *paths;
-+ int tordns_enabled;
-+ int tordns_failopen;
-+ int tordns_cache_size;
-+ struct netent *tordns_deadpool_range;
- };
-
- /* Functions provided by parser module */
- int read_config(char *, struct parsedfile *);
- int is_local(struct parsedfile *, struct in_addr *);
-diff -rN -U 5 tsocks-1.8/README.TORDNS tsocks/README.TORDNS
---- tsocks-1.8/README.TORDNS 1970-01-01 12:00:00.000000000 +1200
-+++ tsocks/README.TORDNS 2005-10-02 15:47:16.000000000 +1300
-@@ -0,0 +1,187 @@
-+
-+TORDNS
-+======
-+
-+What is it?
-+-----------
-+
-+This patch modifies the tsocks library to use SOCKS for name resolution.
-+
-+
-+Why should I use it?
-+--------------------
-+
-+* It's easier.
-+
-+When using this patch you don't (always..) need to run 'tor-resolve' when
-+using 'torify' anymore. Also, 'torify' now works directly with SSH without
-+the need for connect scripts or other fiddling. [As long as SSH is not
-+installed suid root].
-+
-+* It allows you to use programs which are not SOCKS aware to connect to
-+.onion sites.
-+
-+For example, you can ssh directly to a .onion site, or use telnet / netcat
-+without hassle.
-+
-+
-+QUICK: what do I need to do to make it work?
-+--------------------------------------------
-+
-+Configuration instructions:
-+
-+1) Get the sources
-+
-+wget http://ftp1.sourceforge.net/tsocks/tsocks-1.8beta5.tar.gz
-+wget http://www.totalinfosecurity.com/patches/tor-tsocks/tordns-1.8b5.patch
-+
-+2) Unpack and apply the tsocks patch
-+
-+tar xzvf tsocks-1.8beta5.tar.gz
-+cd tsocks-1.8
-+patch -p1 < ../tordns-1.8b5.patch
-+
-+3) Configure, compile and install
-+
-+NOTE: The default 'configure' settings for tsocks have been changed by
-+this patch. The --disable-hostnames option (don't try to use DNS to look
-+up SOCKS servers) is now enabled by default. Also, tordns is enabled
-+by default.
-+
-+./configure
-+make
-+make install
-+
-+All the tordns config options have sane default values which you should
-+not need to change.
-+
-+
-+Why did I need to use 'tor-resolve' with 'torify' in the first place?
-+---------------------------------------------------------------------
-+
-+Because if you run "torify telnet bar.foo.com 31337", for example, then
-+you're leaking information about what sites you're visiting to DNS servers.
-+
-+The tor-resolve utility resolves names through tor using SOCKS, in a way
-+that shouldn't compromise your privacy.
-+
-+
-+What won't work with this?
-+--------------------------
-+
-+The 'tordns' feature for tsocks only works with applications using the
-+standard c library name lookup mechanisms.
-+
-+Some programs roll their own name lookup functions, for example, 'curl'
-+uses the 'adns' library, not the standard c library name lookup calls.
-+In this case, you'll still be leaking DNS requests.
-+
-+However, it seems that most programs which go to the trouble of implementing
-+asynchronous DNS requests or doing other tricky things have native SOCKS or
-+HTTP proxy support.
-+
-+Requests for reverse name lookups are not intercepted.
-+
-+Finally, the tsocks library is NOT thread-safe, with or without this patch.
-+You should not 'torify' multithreaded applications.
-+
-+
-+How does it work?
-+-----------------
-+
-+This patch adds interceptors for common name resolution calls to tsocks.
-+Specifically, the 'gethostbyname', 'getaddrinfo' and 'getipnodebyname' library
-+functions. (gethostbyname_r is not supported).
-+
-+When a call to one of these functions is intercepted, a SOCKS4A resolve
-+request is used to retrieve the relevant information, and the results are
-+cached.
-+
-+When the application calls 'connect', the cache is consulted and instead
-+of making a SOCKS5 request and supplying the IP address, we connect using
-+the name. This prevents those messages in the tor logs which look like:
-+
-+ Sep 23 10:12:20.901 [warn] fetch_from_buf_socks(): Your application (using s
-+ ocks5 on port 80) is giving Tor only an IP address. Applications that do DNS
-+ resolves themselves may leak information. Consider using Socks4A (e.g. via
-+ privoxy or socat) instead.
-+
-+There are special provisions for handling .onion sites. When a program asks
-+to resolve a name ending in '.onion', no name lookup is performed. A bogus IP
-+address is returned. The range of unused IP addresses to hand out is called the
-+"deadpool". This IP address doesn't mean anything in particular, and could be
-+considered a cookie associated with the name. When the application eventually
-+calls 'connect' with this bogus IP, the cache is consulted and the result is a
-+SOCKS5 request which includes the name of the .onion site.
-+
-+The default deadpool range is '127.0.69.0/255.255.255.0'. NOTE: if a resolve
-+request results in an IP from the deadpool range then the response is rejected,
-+and it appears to the application that the lookup failed.
-+
-+The lookup cache is kept in mmap'd memory and shared across fork() calls.
-+This is because some programs perform name lookups in a child process and
-+then invoke 'connect' in the parent as a kind of "poor man's async DNS".
-+
-+
-+Advanced configuration options
-+------------------------------
-+
-+The following options have been added to the tsocks configuration file:
-+
-+tordns_enable
-+
-+ The default value is 'true'. If you set it to 'false', tsocks should work
-+ just like it did without the tordns patch.
-+
-+
-+tordns_deadpool_range
-+
-+ The default value is '127.0.69.0/255.255.255.0'. This specifies what range
-+ of IP addresses will be handed to the application as "cookies" for .onion
-+ names. Of course, you should pick a block of addresses which you aren't
-+ going to ever need to actually connect to.
-+
-+
-+tordns_cache_size
-+
-+ This specifies the number of IP addresses looked up through socks to cache.
-+ The default value is 256. The default value is 256. Each entry consumes 260
-+ bytes of memory, so the default adds 66,560 bytes of overhead to each
-+ 'torified' process. NOTE: if the number of IP addresses in
-+ tordns_deadpool_range is less than the value specified for tordns_cache_size,
-+ then the cache will be shrunk to fit the deadpool range. This is to prevent
-+ duplicate deadpool addresses from ever appearing in the cache.
-+
-+
-+TODO
-+----
-+
-+* Think about how local names get resolved. Is it important? For example,
-+ if I 'telnet localhost' which using tordns, what should happen? Should
-+ we search through /etc/hosts ourselves or what?
-+
-+* What about the isc library calls like res_init and so on? How widely are
-+ they use? Does this present a more elegant way to implement this stuff?
-+
-+* Perhaps intercept res_query etc and try to do something appropriate.
-+
-+* It should be possible to make this thread-safe with --enable-threads.
-+
-+* validateconf needs to be updated to understand (and show information about)
-+ the tordns configuration options.
-+
-+* Perhaps intercept reverse name lookups?
-+
-+* In fact, one could modify tsocks further to play nicely with tor. For
-+ example, you could prevent nonlocal UDP traffic from being sent at all,
-+ and so on.
-+
-+
-+******************************************************
-+Questions or comments, please contact:
-+Blair Strang (bls(a)totalinfosecurity.com)
-+Caleb Anderson (caleb.anderson(a)totalinfosecurity.com)
-+Carl Purvis (carl.purvis(a)totalinfosecurity.com)
-+
-+Total Information Security Ltd.
-+http://www.totalinfosecurity.com/
-diff -rN -U 5 tsocks-1.8/tsocks.c tsocks/tsocks.c
---- tsocks-1.8/tsocks.c 2002-07-16 10:50:52.000000000 +1200
-+++ tsocks/tsocks.c 2005-10-01 22:01:48.000000000 +1200
-@@ -51,19 +51,26 @@
- #ifdef USE_SOCKS_DNS
- #include <resolv.h>
- #endif
- #include <parser.h>
- #include <tsocks.h>
-+#include "dead_pool.h"
-
- /* Global Declarations */
- #ifdef USE_SOCKS_DNS
- static int (*realresinit)(void);
- #endif
--static int (*realconnect)(CONNECT_SIGNATURE);
-+#ifdef USE_TOR_DNS
-+static dead_pool *pool = NULL;
-+static struct hostent *(*realgethostbyname)(GETHOSTBYNAME_SIGNATURE);
-+int (*realgetaddrinfo)(GETADDRINFO_SIGNATURE);
-+static struct hostent *(*realgetipnodebyname)(GETIPNODEBYNAME_SIGNATURE);
-+#endif
-+int (*realconnect)(CONNECT_SIGNATURE);
- static int (*realselect)(SELECT_SIGNATURE);
- static int (*realpoll)(POLL_SIGNATURE);
--static int (*realclose)(CLOSE_SIGNATURE);
-+int (*realclose)(CLOSE_SIGNATURE);
- static struct parsedfile *config;
- static struct connreq *requests = NULL;
- static int suid = 0;
- static char *conffile = NULL;
-
-@@ -74,10 +81,15 @@
- int poll(POLL_SIGNATURE);
- int close(CLOSE_SIGNATURE);
- #ifdef USE_SOCKS_DNS
- int res_init(void);
- #endif
-+#ifdef USE_TOR_DNS
-+struct hostent *gethostbyname(GETHOSTBYNAME_SIGNATURE);
-+int getaddrinfo(GETADDRINFO_SIGNATURE);
-+struct hostent *getipnodebyname(GETIPNODEBYNAME_SIGNATURE);
-+#endif
-
- /* Private Function Prototypes */
- static int get_config();
- static int get_environment();
- static int connect_server(struct connreq *conn);
-@@ -97,10 +109,14 @@
- static int recv_buffer(struct connreq *conn);
- static int read_socksv5_method(struct connreq *conn);
- static int read_socksv4_req(struct connreq *conn);
- static int read_socksv5_connect(struct connreq *conn);
- static int read_socksv5_auth(struct connreq *conn);
-+#ifdef USE_TOR_DNS
-+static int deadpool_init();
-+static int send_socksv4a_request(struct connreq *conn, const char *onion_host);
-+#endif
-
- void _init(void) {
- #ifdef USE_OLD_DLSYM
- void *lib;
- #endif
-@@ -118,24 +134,38 @@
- realpoll = dlsym(RTLD_NEXT, "poll");
- realclose = dlsym(RTLD_NEXT, "close");
- #ifdef USE_SOCKS_DNS
- realresinit = dlsym(RTLD_NEXT, "res_init");
- #endif
-+ #ifdef USE_TOR_DNS
-+ realgethostbyname = dlsym(RTLD_NEXT, "gethostbyname");
-+ realgetaddrinfo = dlsym(RTLD_NEXT, "getaddrinfo");
-+ realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
-+ #endif
- #else
- lib = dlopen(LIBCONNECT, RTLD_LAZY);
- realconnect = dlsym(lib, "connect");
- realselect = dlsym(lib, "select");
- realpoll = dlsym(lib, "poll");
- #ifdef USE_SOCKS_DNS
- realresinit = dlsym(lib, "res_init");
- #endif
-- dlclose(lib);
--
-+ #ifdef USE_TOR_DNS
-+ realgethostbyname = dlsym(lib, "gethostbyname");
-+ realgetaddrinfo = dlsym(lib, "getaddrinfo");
-+ realgetipnodebyname = dlsym(RTLD_NEXT, "getipnodebyname");
-+ #endif
-+ dlclose(lib);
- lib = dlopen(LIBC, RTLD_LAZY);
-- realclose = dlsym(lib, "close");
-+ realclose = dlsym(lib, "close");
- dlclose(lib);
- #endif
-+#ifdef USE_TOR_DNS
-+ /* Unfortunately, we can't do this lazily because otherwise our mmap'd
-+ area won't be shared across fork()s. */
-+ deadpool_init();
-+#endif
- }
-
- static int get_environment() {
- static int done = 0;
- int loglevel = MSGERR;
-@@ -181,12 +211,11 @@
- if (config->paths)
- show_msg(MSGDEBUG, "First lineno for first path is %d\n", config->paths->lineno);
-
- done = 1;
-
-- return(0);
--
-+ return(0);
- }
-
- int connect(CONNECT_SIGNATURE) {
- struct sockaddr_in *connaddr;
- struct sockaddr_in peer_address;
-@@ -271,16 +300,21 @@
- if (!getpeername(__fd, (struct sockaddr *) &peer_address, &namelen)) {
- show_msg(MSGDEBUG, "Socket is already connected, defering to "
- "real connect\n");
- return(realconnect(__fd, __addr, __len));
- }
--
-+
- show_msg(MSGDEBUG, "Got connection request for socket %d to "
- "%s\n", __fd, inet_ntoa(connaddr->sin_addr));
-
- /* If the address is local call realconnect */
-+#ifdef USE_TOR_DNS
-+ if (!(is_local(config, &(connaddr->sin_addr))) &&
-+ !is_dead_address(pool, connaddr->sin_addr.s_addr)) {
-+#else
- if (!(is_local(config, &(connaddr->sin_addr)))) {
-+#endif
- show_msg(MSGDEBUG, "Connection for socket %d is local\n", __fd);
- return(realconnect(__fd, __addr, __len));
- }
-
- /* Ok, so its not local, we need a path to the net */
-@@ -869,19 +903,74 @@
- return((rc ? errno : 0));
- }
-
- static int send_socks_request(struct connreq *conn) {
- int rc = 0;
--
-- if (conn->path->type == 4)
-- rc = send_socksv4_request(conn);
-- else
-- rc = send_socksv5_method(conn);
-
-+#ifdef USE_TOR_DNS
-+ if (conn->path->type == 4) {
-+ char *name = get_pool_entry(pool, &(conn->connaddr.sin_addr));
-+ if(name != NULL) {
-+ rc = send_socksv4a_request(conn,name);
-+ } else {
-+ rc = send_socksv4_request(conn);
-+ }
-+#else
-+ if (conn->path->type == 4) {
-+ rc = send_socksv4_request(conn);
-+#endif
-+ } else {
-+ rc = send_socksv5_method(conn);
-+ }
- return(rc);
- }
-
-+#ifdef USE_TOR_DNS
-+static int send_socksv4a_request(struct connreq *conn,const char *onion_host)
-+{
-+ struct passwd *user;
-+ struct sockreq *thisreq;
-+ int endOfUser;
-+ /* Determine the current username */
-+ user = getpwuid(getuid());
-+
-+ thisreq = (struct sockreq *) conn->buffer;
-+ endOfUser=sizeof(struct sockreq) +
-+ (user == NULL ? 0 : strlen(user->pw_name)) + 1;
-+
-+ /* Check the buffer has enough space for the request */
-+ /* and the user name */
-+ conn->datalen = endOfUser+
-+ (onion_host == NULL ? 0 : strlen(onion_host)) + 1;
-+ if (sizeof(conn->buffer) < conn->datalen) {
-+ show_msg(MSGERR, "The SOCKS username is too long");
-+ conn->state = FAILED;
-+ return(ECONNREFUSED);
-+ }
-+
-+ /* Create the request */
-+ thisreq->version = 4;
-+ thisreq->command = 1;
-+ thisreq->dstport = conn->connaddr.sin_port;
-+ thisreq->dstip = htonl(1);
-+
-+ /* Copy the username */
-+ strcpy((char *) thisreq + sizeof(struct sockreq),
-+ (user == NULL ? "" : user->pw_name));
-+
-+ /* Copy the onion host */
-+ strcpy((char *) thisreq + endOfUser,
-+ (onion_host == NULL ? "" : onion_host));
-+
-+ conn->datadone = 0;
-+ conn->state = SENDING;
-+ conn->nextstate = SENTV4REQ;
-+
-+ return(0);
-+}
-+#endif /* USE_TOR_DNS */
-+
- static int send_socksv4_request(struct connreq *conn) {
- struct passwd *user;
- struct sockreq *thisreq;
-
- /* Determine the current username */
-@@ -931,10 +1020,14 @@
-
- return(0);
- }
-
- static int send_socksv5_connect(struct connreq *conn) {
-+#ifdef USE_TOR_DNS
-+ int namelen = 0;
-+ char *name = NULL;
-+#endif
- char constring[] = { 0x05, /* Version 5 SOCKS */
- 0x01, /* Connect request */
- 0x00, /* Reserved */
- 0x01 }; /* IP Version 4 */
-
-@@ -942,14 +1035,42 @@
- conn->datadone = 0;
- conn->state = SENDING;
- conn->nextstate = SENTV5CONNECT;
- memcpy(conn->buffer, constring, sizeof(constring));
- conn->datalen = sizeof(constring);
-- memcpy(&conn->buffer[conn->datalen], &(conn->connaddr.sin_addr.s_addr),
-- sizeof(conn->connaddr.sin_addr.s_addr));
-- conn->datalen += sizeof(conn->connaddr.sin_addr.s_addr);
-- memcpy(&conn->buffer[conn->datalen], &(conn->connaddr.sin_port), sizeof(conn->connaddr.sin_port));
-+
-+#ifdef USE_TOR_DNS
-+ show_msg(MSGDEBUG, "send_socksv5_connect: looking for: %s\n",
-+ inet_ntoa(conn->connaddr.sin_addr));
-+
-+ name = get_pool_entry(pool, &(conn->connaddr.sin_addr));
-+ if(name != NULL) {
-+ namelen = strlen(name);
-+ if(namelen > 255) { /* "Can't happen" */
-+ name = NULL;
-+ }
-+ }
-+ if(name != NULL) {
-+ show_msg(MSGDEBUG, "send_socksv5_connect: found it!\n");
-+ /* Substitute the domain name from the pool into the SOCKS request. */
-+ conn->buffer[3] = 0x03; /* Change the ATYP field */
-+ conn->buffer[4] = namelen; /* Length of name */
-+ conn->datalen++;
-+ memcpy(&conn->buffer[conn->datalen], name, namelen);
-+ conn->datalen += namelen;
-+ } else {
-+ show_msg(MSGDEBUG, "send_socksv5_connect: ip address not found\n");
-+#endif
-+ /* Use the raw IP address */
-+ memcpy(&conn->buffer[conn->datalen], &(conn->connaddr.sin_addr.s_addr),
-+ sizeof(conn->connaddr.sin_addr.s_addr));
-+ conn->datalen += sizeof(conn->connaddr.sin_addr.s_addr);
-+#ifdef USE_TOR_DNS
-+ }
-+#endif
-+ memcpy(&conn->buffer[conn->datalen], &(conn->connaddr.sin_port),
-+ sizeof(conn->connaddr.sin_port));
- conn->datalen += sizeof(conn->connaddr.sin_port);
-
- return(0);
- }
-
-@@ -1175,24 +1296,56 @@
-
- return(rc);
- }
- #endif
-
--#if 0
-- /* Get the flags of the socket, (incase its non blocking */
-- if ((sockflags = fcntl(sockid, F_GETFL)) == -1) {
-- sockflags = 0;
-- }
-+#ifdef USE_TOR_DNS
-+static int deadpool_init()
-+{
-+ if(!pool) {
-+ get_environment();
-+ get_config();
-+ if(config->tordns_enabled) {
-+ pool = init_pool(
-+ config->tordns_cache_size,
-+ config->tordns_deadpool_range->localip,
-+ config->tordns_deadpool_range->localnet,
-+ config->defaultserver.address,
-+ config->defaultserver.port
-+ );
-+ if(!pool) {
-+ show_msg(MSGERR, "failed to initialize deadpool: tordns disabled\n");
-+ }
-+ }
-+ }
-+ return 0;
-+}
-+
-+struct hostent *gethostbyname(GETHOSTBYNAME_SIGNATURE)
-+{
-+ if(pool) {
-+ return our_gethostbyname(pool, name);
-+ } else {
-+ return realgethostbyname(name);
-+ }
-+}
-+
-+int getaddrinfo(GETADDRINFO_SIGNATURE)
-+{
-+ if(pool) {
-+ return our_getaddrinfo(pool, node, service, hints, res);
-+ } else {
-+ return realgetaddrinfo(node, service, hints, res);
-+ }
-+}
-+
-+struct hostent *getipnodebyname(GETIPNODEBYNAME_SIGNATURE)
-+{
-+ if(pool) {
-+ return our_getipnodebyname(pool, name, af, flags, error_num);
-+ } else {
-+ return realgetipnodebyname(name, af, flags, error_num);
-+ }
-+}
-
-- /* If the flags show the socket as blocking, set it to */
-- /* blocking for our connection to the socks server */
-- if ((sockflags & O_NONBLOCK) != 0) {
-- fcntl(sockid, F_SETFL, sockflags & (~(O_NONBLOCK)));
-- }
- #endif
--#if 0
-- /* If the socket was in non blocking mode, restore that */
-- if ((sockflags & O_NONBLOCK) != 0) {
-- fcntl(sockid, F_SETFL, sockflags);
-- }
--#endif
-
-diff -rN -U 5 tsocks-1.8/tsocks.conf.5 tsocks/tsocks.conf.5
---- tsocks-1.8/tsocks.conf.5 2002-05-18 14:13:08.000000000 +1200
-+++ tsocks/tsocks.conf.5 2005-10-01 21:41:50.000000000 +1200
-@@ -124,10 +124,33 @@
- 150.0.0.0:80-1024/255.0.0.0" indicates to tsocks that the SOCKS server
- specified in the current path block should be used to access any IPs in the
- range 150.0.0.0 to 150.255.255.255 when the connection request is for ports
- 80-1024.
-
-+.TP
-+.I tordns_enable
-+This enables the use of the 'tordns' feature in tsocks, which overrides the
-+standard C library name resolution calls to use SOCKS. The default value is
-+'true'.
-+
-+.TP
-+.I tordns_deadpool_range
-+Tor hidden sites do not have real IP addresses. This specifies what range of
-+IP addresses will be handed to the application as "cookies" for .onion names.
-+Of course, you should pick a block of addresses which you aren't going to ever
-+need to actually connect to. The default value is '127.0.69.0/255.255.255.0'.
-+
-+.TP
-+.I tordns_cache_size
-+This specifies the number of IP addresses looked up through SOCKS to cache.
-+The default value is 256. Each entry consumes 260 bytes of memory, so the
-+default adds 66,560 bytes of overhead to each 'torified' process. NOTE: if
-+the number of IP addresses in tordns_deadpool_range is less than the value
-+specified for tordns_cache_size, then the cache will be shrunk to fit the
-+deadpool range. This is to prevent duplicate deadpool addresses from ever
-+appearing in the cache.
-+
- .SH UTILITIES
- tsocks comes with two utilities that can be useful in creating and verifying
- the tsocks configuration file.
-
- .TP
-diff -rN -U 5 tsocks-1.8/tsocks.h tsocks/tsocks.h
---- tsocks-1.8/tsocks.h 2002-03-14 01:58:09.000000000 +1300
-+++ tsocks/tsocks.h 2005-09-24 01:38:12.000000000 +1200
-@@ -50,11 +50,11 @@
- int selectevents;
-
- /* Buffer for sending and receiving on the socket */
- int datalen;
- int datadone;
-- char buffer[1024];
-+ char buffer[2048];
-
- struct connreq *next;
- };
-
- /* Connection statuses */
-diff -rN -U 5 tsocks-1.8/validateconf.c tsocks/validateconf.c
---- tsocks-1.8/validateconf.c 2002-02-07 23:49:59.000000000 +1300
-+++ tsocks/validateconf.c 2005-10-01 19:38:08.000000000 +1200
-@@ -161,11 +161,24 @@
- printf("\n");
- server = server->next;
- }
- }
-
-- return;
-+#ifdef USE_TOR_DNS
-+ /* Show tordns configuration options */
-+ printf("=== TorDNS Configuration Options ===\n");
-+ printf("Tor DNS enabled: %s\n",
-+ config->tordns_enabled ? "yes" : "no");
-+ printf("Tor DNS deadpool range: %s/",
-+ inet_ntoa(config->tordns_deadpool_range->localip));
-+ printf("%s\n",
-+ inet_ntoa(config->tordns_deadpool_range->localnet));
-+ printf("Tor DNS cache size: %d\n", config->tordns_cache_size);
-+ printf("\n");
-+#endif
-+
-+ return;
- }
-
- void show_server(struct parsedfile *config, struct serverent *server, int def) {
- struct in_addr res;
- struct netent *net;
1
0

27 Feb '11
commit b67e014ad4fbfb03a7f44b3f75affef81c2bd5fa
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Sun Feb 27 12:47:57 2011 +0100
Accept empty start or end dates.
So far we required that either both start and end date are provided, or
none of them.
Now we also accept the two cases when only one of the two dates is
provided. If no end date is provided, we set it to today. If no start
date is provided, we set it to 90 days before the end date. This does
not affect the cases when both dates are provided (in which case we use
the provided dates), or when none are provided (in which case we use today
as the end date and today - 90 days as the start date).
---
.../ernie/web/GraphParameterChecker.java | 54 ++++++++-----------
1 files changed, 23 insertions(+), 31 deletions(-)
diff --git a/src/org/torproject/ernie/web/GraphParameterChecker.java b/src/org/torproject/ernie/web/GraphParameterChecker.java
index 20914a8..caeee06 100644
--- a/src/org/torproject/ernie/web/GraphParameterChecker.java
+++ b/src/org/torproject/ernie/web/GraphParameterChecker.java
@@ -92,50 +92,42 @@ public class GraphParameterChecker {
Map<String, String[]> recognizedGraphParameters =
new HashMap<String, String[]>();
- /* Parse start and end dates if supported by the graph type. If
- * neither start nor end date are given, set the default date range to
- * the past 90 days. */
+ /* Parse start and end dates if supported by the graph type. If no end
+ * date is provided, set it to today. If no start date is provided,
+ * set it to 90 days before the end date. Make sure that start date
+ * precedes end date. */
if (supportedGraphParameters.contains("start") ||
supportedGraphParameters.contains("end")) {
String[] startParameter = (String[]) requestParameters.get("start");
String[] endParameter = (String[]) requestParameters.get("end");
- if ((startParameter == null || startParameter.length < 1 ||
- startParameter[0].length() < 1) &&
- (endParameter == null || endParameter.length < 1 ||
- endParameter[0].length() < 1)) {
- /* If no start and end parameters are given, set default date
- * range to the past 90 days. */
- long now = System.currentTimeMillis();
- startParameter = new String[] {
- dateFormat.format(now - 90L * 24L * 60L * 60L * 1000L) };
- endParameter = new String[] { dateFormat.format(now) };
- } else if (startParameter != null && startParameter.length == 1 &&
- endParameter != null && endParameter.length == 1) {
- long startTimestamp = -1L, endTimestamp = -1L;
+ long endTimestamp = System.currentTimeMillis();
+ if (endParameter != null && endParameter.length > 0 &&
+ endParameter[0].length() > 0) {
try {
- startTimestamp = dateFormat.parse(startParameter[0]).getTime();
endTimestamp = dateFormat.parse(endParameter[0]).getTime();
} catch (ParseException e) {
return null;
}
- /* The parameters are dates. Good. Does end not precede start? */
- if (startTimestamp > endTimestamp) {
+ if (!endParameter[0].startsWith("20")) {
+ return null;
+ }
+ }
+ endParameter = new String[] { dateFormat.format(endTimestamp) };
+ long startTimestamp = endTimestamp - 90L * 24L * 60L * 60L * 1000L;
+ if (startParameter != null && startParameter.length > 0 &&
+ startParameter[0].length() > 0) {
+ try {
+ startTimestamp = dateFormat.parse(startParameter[0]).getTime();
+ } catch (ParseException e) {
return null;
}
- /* And while we're at it, make sure both parameters lie in this
- * century. */
- if (!startParameter[0].startsWith("20") ||
- !endParameter[0].startsWith("20")) {
+ if (!startParameter[0].startsWith("20")) {
return null;
}
- /* Looks like sane parameters. Re-format them to get a canonical
- * version, not something like 2010-1-1, 2010-01-1, etc. */
- startParameter = new String[] {
- dateFormat.format(startTimestamp) };
- endParameter = new String[] { dateFormat.format(endTimestamp) };
- } else {
- /* Either none or both of start and end need to be set. */
- return null;
+ }
+ startParameter = new String[] { dateFormat.format(startTimestamp) };
+ if (startTimestamp > endTimestamp) {
+ return null;
}
recognizedGraphParameters.put("start", startParameter);
recognizedGraphParameters.put("end", endParameter);
1
0

r24270: {website} update ppc to 0.2.1.30 packages too (website/trunk/include)
by Erinn Clark 27 Feb '11
by Erinn Clark 27 Feb '11
27 Feb '11
Author: erinn
Date: 2011-02-27 07:16:31 +0000 (Sun, 27 Feb 2011)
New Revision: 24270
Modified:
website/trunk/include/versions.wmi
Log:
update ppc to 0.2.1.30 packages too
Modified: website/trunk/include/versions.wmi
===================================================================
--- website/trunk/include/versions.wmi 2011-02-27 05:27:20 UTC (rev 24269)
+++ website/trunk/include/versions.wmi 2011-02-27 07:16:31 UTC (rev 24270)
@@ -10,13 +10,13 @@
<define-tag version-osx-x86-bundle-stable whitespace=delete>0.2.1.30</define-tag>
<define-tag version-osx-x86-bundle-alpha whitespace=delete>0.2.2.22-alpha</define-tag>
-<define-tag version-osx-ppc-bundle-stable whitespace=delete>0.2.1.29</define-tag>
+<define-tag version-osx-ppc-bundle-stable whitespace=delete>0.2.1.30</define-tag>
<define-tag version-osx-ppc-bundle-alpha whitespace=delete>0.2.2.22-alpha</define-tag>
<define-tag version-osx-x86-stable whitespace=delete>0.2.1.30</define-tag>
<define-tag version-osx-x86-alpha whitespace=delete>0.2.2.22-alpha</define-tag>
-<define-tag version-osx-ppc-stable whitespace=delete>0.2.1.29</define-tag>
+<define-tag version-osx-ppc-stable whitespace=delete>0.2.1.30</define-tag>
<define-tag version-osx-ppc-alpha whitespace=delete>0.2.2.22-alpha</define-tag>
<define-tag version-torbrowserbundle whitespace=delete>1.3.18</define-tag>
1
0

r24269: {website} update tor versions to newest stable 0.2.1.30 (website/trunk/include)
by Erinn Clark 27 Feb '11
by Erinn Clark 27 Feb '11
27 Feb '11
Author: erinn
Date: 2011-02-27 05:27:20 +0000 (Sun, 27 Feb 2011)
New Revision: 24269
Modified:
website/trunk/include/versions.wmi
Log:
update tor versions to newest stable 0.2.1.30
Modified: website/trunk/include/versions.wmi
===================================================================
--- website/trunk/include/versions.wmi 2011-02-27 01:01:15 UTC (rev 24268)
+++ website/trunk/include/versions.wmi 2011-02-27 05:27:20 UTC (rev 24269)
@@ -1,26 +1,26 @@
-<define-tag version-stable whitespace=delete>0.2.1.29</define-tag>
+<define-tag version-stable whitespace=delete>0.2.1.30</define-tag>
<define-tag version-alpha whitespace=delete>0.2.2.22-alpha</define-tag>
-<define-tag version-win32-stable whitespace=delete>0.2.1.29</define-tag>
+<define-tag version-win32-stable whitespace=delete>0.2.1.30</define-tag>
<define-tag version-win32-alpha whitespace=delete>0.2.2.22-alpha</define-tag>
-<define-tag version-win32-bundle-stable whitespace=delete>0.2.1.29</define-tag>
+<define-tag version-win32-bundle-stable whitespace=delete>0.2.1.30</define-tag>
<define-tag version-win32-bundle-alpha whitespace=delete>0.2.2.22-alpha</define-tag>
-<define-tag version-osx-x86-bundle-stable whitespace=delete>0.2.1.29</define-tag>
+<define-tag version-osx-x86-bundle-stable whitespace=delete>0.2.1.30</define-tag>
<define-tag version-osx-x86-bundle-alpha whitespace=delete>0.2.2.22-alpha</define-tag>
<define-tag version-osx-ppc-bundle-stable whitespace=delete>0.2.1.29</define-tag>
<define-tag version-osx-ppc-bundle-alpha whitespace=delete>0.2.2.22-alpha</define-tag>
-<define-tag version-osx-x86-stable whitespace=delete>0.2.1.29</define-tag>
+<define-tag version-osx-x86-stable whitespace=delete>0.2.1.30</define-tag>
<define-tag version-osx-x86-alpha whitespace=delete>0.2.2.22-alpha</define-tag>
<define-tag version-osx-ppc-stable whitespace=delete>0.2.1.29</define-tag>
<define-tag version-osx-ppc-alpha whitespace=delete>0.2.2.22-alpha</define-tag>
-<define-tag version-torbrowserbundle whitespace=delete>1.3.17</define-tag>
-<define-tag version-torbrowser-tor whitespace=delete>0.2.1.29</define-tag>
+<define-tag version-torbrowserbundle whitespace=delete>1.3.18</define-tag>
+<define-tag version-torbrowser-tor whitespace=delete>0.2.1.30</define-tag>
<define-tag version-torbrowser-tor-components whitespace=delete>libevent-1.4.13, zlib-1.2.3, openssl-0.9.8p</define-tag>
<define-tag version-torbrowser-firefox whitespace=delete>3.6.13</define-tag>
<define-tag version-torbrowser-torbutton whitespace=delete>1.2.5</define-tag>
1
0

r4522: Ignore DirPort if setting a bridge, wrt ticket #2431. (vidalia/trunk/src/vidalia/config)
by vidalia-svn@svn.torproject.org 27 Feb '11
by vidalia-svn@svn.torproject.org 27 Feb '11
27 Feb '11
Author: chiiph
Date: 2011-02-27 03:36:02 +0000 (Sun, 27 Feb 2011)
New Revision: 4522
Modified:
vidalia/trunk/src/vidalia/config/ServerPage.cpp
Log:
Ignore DirPort if setting a bridge, wrt ticket #2431.
Modified: vidalia/trunk/src/vidalia/config/ServerPage.cpp
===================================================================
--- vidalia/trunk/src/vidalia/config/ServerPage.cpp 2011-02-24 14:49:11 UTC (rev 4521)
+++ vidalia/trunk/src/vidalia/config/ServerPage.cpp 2011-02-27 03:36:02 UTC (rev 4522)
@@ -234,6 +234,9 @@
ui.chkPublishBridgeAddress->setVisible(bridgeEnabled);
ui.lblBridgeUsage->setVisible(bridgeEnabled
&& Vidalia::torControl()->isConnected());
+
+ ui.lineDirPort->setEnabled(!bridgeEnabled);
+ ui.chkMirrorDirectory->setEnabled(!bridgeEnabled);
}
/** Returns true if the user has changed their server settings since the
@@ -293,10 +296,14 @@
_settings->setPublishServerDescriptor(ui.chkPublishBridgeAddress->isChecked());
/* Save the rest of the server settings. */
- _settings->setDirectoryMirror(ui.chkMirrorDirectory->isChecked());
_settings->setNickname(ui.lineServerNickname->text());
_settings->setORPort(ui.lineServerPort->text().toUInt());
- _settings->setDirPort(ui.lineDirPort->text().toUInt());
+ if (!ui.rdoBridgeMode->isChecked()) {
+ _settings->setDirPort(ui.lineDirPort->text().toUInt());
+ _settings->setDirectoryMirror(ui.chkMirrorDirectory->isChecked());
+ } else {
+ _settings->setDirectoryMirror(false);
+ }
_settings->setContactInfo(ui.lineServerContact->text());
saveBandwidthLimits();
saveExitPolicies();
1
0

27 Feb '11
commit e1622f5efdb8ad46559772b72bab62fd39b0241c
Author: Erinn Clark <erinn(a)torproject.org>
Date: Sun Feb 27 03:21:58 2011 +0100
bump tbb windows to 1.3.18 for tor 0.2.1.30
---
README | 8 ++++++--
build-scripts/Makefile | 4 ++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/README b/README
index 7085c52..da25ca4 100644
--- a/README
+++ b/README
@@ -5,12 +5,12 @@ Included applications
---------------------
Vidalia 0.2.10 (with Qt 4.6.2)
-Tor 0.2.1.29 (with libevent-1.4.13, zlib-1.2.3 and openssl-0.9.8p)
+Tor 0.2.1.30 (with libevent-1.4.13, zlib-1.2.3 and openssl-0.9.8p)
Polipo 1.0.4.1
FirefoxPortable 3.6.13
\_ Firefox 3.6.13
\_ Torbutton 1.2.5
- \_ HTTPS Everywhere 0.9.9.development.2
+ \_ HTTPS Everywhere 0.9.9.development.3
PidginPortable 2.7.4
\_ Pidgin 2.7.5
\_ OTR 3.2
@@ -320,3 +320,7 @@ Changelog
1.3.17: Released 2011-01-16
Update Tor to 0.2.1.29
+
+1.3.18: Released 2011-02-25
+ Update Tor to 0.2.1.30
+ Update HTTPS-Everywhere to 0.9.9.development.3
diff --git a/build-scripts/Makefile b/build-scripts/Makefile
index e6d416f..5c4f69f 100644
--- a/build-scripts/Makefile
+++ b/build-scripts/Makefile
@@ -23,7 +23,7 @@ PIDGIN_VERSION=2.7.5
## Location of bundle components
VIDALIA=/e/build/vidalia-0.2.10
-TOR=/e/build/tor-0.2.1.29
+TOR=/e/build/tor-0.2.1.30
POLIPO=/e/build/polipo-1.0.4.1
FIREFOX_SRC=/e/build/FirefoxPortable-3.6.13
PIDGIN_SRC=/e/build/PidginPortable-2.7.5
@@ -49,7 +49,7 @@ DEST="Generic Bundle"
NAME="Tor Browser"
## Version and name of the compressed bundle (also used for source)
-VERSION=1.3.17
+VERSION=1.3.18
DEFAULT_COMPRESSED_BASENAME=tor-browser-
IM_COMPRESSED_BASENAME=tor-im-browser-
DEFAULT_COMPRESSED_NAME=$(DEFAULT_COMPRESSED_BASENAME)$(VERSION)
1
0

r24268: {projects} yatei has an ipv6 address too. (projects/misc-sysadmin)
by Andrew Lewman 27 Feb '11
by Andrew Lewman 27 Feb '11
27 Feb '11
Author: phobos
Date: 2011-02-27 01:01:15 +0000 (Sun, 27 Feb 2011)
New Revision: 24268
Modified:
projects/misc-sysadmin/namelist
Log:
yatei has an ipv6 address too.
Modified: projects/misc-sysadmin/namelist
===================================================================
--- projects/misc-sysadmin/namelist 2011-02-26 11:26:12 UTC (rev 24267)
+++ projects/misc-sysadmin/namelist 2011-02-27 01:01:15 UTC (rev 24268)
@@ -33,7 +33,7 @@
schmitzi - 2620:0:6b0:b:250:56ff:fe99:62
yatei - 38.229.70.37 - 16GB - metrics.torproject.org
yatei-ipmi - 38.229.70.38 - - mgt card
-yatei - IPv6 unassigned
+yatei - 2620:0:6b0:b:230:48ff:fef1:2017
serra - 74.95.122.146 - 8GB - backup server
porrum - 38.229.70.43 - 256MB - torbel.torproject.org
porrum - 2620:0:6b0:b:250:56ff:fe99:63
@@ -44,3 +44,4 @@
tui - 38.229.70.48 - 48GB - build server
tui-ipmi - 38.229.70.50 - - mgt card
tui - 2620:0:6b0:b:225:90ff:fe0e:30fb
+stenodon - 178.79.156.117 - 1GB - temporary visualization server
1
0

[gettor/master] Don't send delay alert of split package isn't available
by kaner@torproject.org 27 Feb '11
by kaner@torproject.org 27 Feb '11
27 Feb '11
commit b9e3cc38a6654edbd4de591082691abefdb17ff2
Author: Christian Fromme <kaner(a)strace.org>
Date: Sun Feb 27 00:07:44 2011 +0100
Don't send delay alert of split package isn't available
---
lib/gettor/responses.py | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/lib/gettor/responses.py b/lib/gettor/responses.py
index 3ef9139..4033a67 100644
--- a/lib/gettor/responses.py
+++ b/lib/gettor/responses.py
@@ -136,10 +136,6 @@ class Response:
# Did the user choose a package?
if self.reqInfo['package'] is None:
return self.sendPackageHelp()
- # Be a polite bot and send message that mail is on the way
- if self.config.DELAY_ALERT:
- if not self.sendDelayAlert():
- logging.error("Failed to sent delay alert.")
# Did the user request a split or normal package download?
if self.reqInfo['split']:
return self.sendSplitPackage()
@@ -179,6 +175,11 @@ class Response:
""" Send a message with an attachment to the user. The attachment is
chosen automatically from the selected self.reqInfo['package']
"""
+ # Be a polite bot and send message that mail is on the way
+ if self.config.DELAY_ALERT:
+ if not self.sendDelayAlert():
+ logging.error("Failed to sent delay alert.")
+
pack = self.reqInfo['package']
to = self.reqInfo['user']
if self.isBlacklistedForMessageType("sendPackage"):
@@ -231,11 +232,16 @@ class Response:
# Check if there's a split package for this available
pack = self.reqInfo['package']
split = self.config.PACKAGES[pack][1]
- if split and split is "unavailable":
+ if split is not None and split == "unavailable":
logging.error("User requested split package that isn't available")
# Inform the user
return self.sendTextEmail(getNoSplitAvailable(self.t))
+ # Be a polite bot and send message that mail is on the way
+ if self.config.DELAY_ALERT:
+ if not self.sendDelayAlert():
+ logging.error("Failed to sent delay alert.")
+
if self.isBlacklistedForMessageType("sendSplitPackage"):
# Don't send anything
return False
1
0