aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1998-11-20 15:52:48 +0000
committerEric S. Raymond <esr@thyrsus.com>1998-11-20 15:52:48 +0000
commitc8ecb908dde9760ac2ff55f73ffd02f1a0046f59 (patch)
tree838bf5742ee57de487e1afb0154cfd40cc96582d
parent85ea804517dc39280113a281a71397fdefe59d3c (diff)
downloadfetchmail-c8ecb908dde9760ac2ff55f73ffd02f1a0046f59.tar.gz
fetchmail-c8ecb908dde9760ac2ff55f73ffd02f1a0046f59.tar.bz2
fetchmail-c8ecb908dde9760ac2ff55f73ffd02f1a0046f59.zip
Added socks library support.
svn path=/trunk/; revision=2189
-rw-r--r--Makefile.in3
-rw-r--r--NEWS3
-rw-r--r--README7
-rw-r--r--acconfig.h4
-rw-r--r--configure.in36
-rw-r--r--fetchmail-FAQ.html10
-rw-r--r--fetchmail.c16
7 files changed, 71 insertions, 8 deletions
diff --git a/Makefile.in b/Makefile.in
index b4ec65f4..313dfa49 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -23,6 +23,7 @@ YACC = @YACC@
YACCFLAGS = -dt
CEFLAGS = @CEFLAGS@
+CPFLAGS = @CPFLAGS@
LDEFLAGS = @LDEFLAGS@
# How to invoke ranlib. This is only used by the `glob' subdirectory.
@@ -116,7 +117,7 @@ unmime: unmime.c base64.c rfc822.c xmalloc.c error.c memmove.c
$(CC) -DSTANDALONE -g -o $@ $^
.c.o:
- $(CC) $(defines) -c -I$(srcdir) -I. $(CEFLAGS) $(CFLAGS) $<
+ $(CC) $(defines) -c $(CPFLAGS) -I$(srcdir) -I. $(CEFLAGS) $(CFLAGS) $<
# For some losing Unix makes.
SHELL = /bin/sh
diff --git a/NEWS b/NEWS
index 93a635c4..a58d8988 100644
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,8 @@
fetchmail-4.6.7 ():
* Gerald Britton's patches to enable Hesiod support.
-* Postmater option fix from Bill Metzenthen <billm@melbpc.org.au>.
+* Postmaster option fix from Bill Metzenthen <billm@melbpc.org.au>.
+* Socks library support forom Guiseppe Guerini.
There are 248 people on fetchmail-friends and 306 on fetchmail-announce.
diff --git a/README b/README
index 6ccea907..e93ac10d 100644
--- a/README
+++ b/README
@@ -18,9 +18,10 @@ extensively tested under 4.4BSD, AIX, HP-UX versions 9 and 10,
SunOS, Solaris, NEXTSTEP, and OSF 3.2.
It should be readily portable to other Unix variants (it uses GNU
-autoconf). It has also been ported to QNX; to build under QNX, see
-the header comments in the Makefile. It is reported to build and run
-under AmigaOS.
+autoconf). It has been ported to LynxOS and will build there without
+special action. It has also been ported to QNX; to build under QNX,
+see the header comments in the Makefile. It is reported to build and
+run under AmigaOS.
A beta OS/2 port of fetchmail is available from Jason F. McBrayer at
http://studentweb.tulane.edu/%7Ejmcbray/os2.
diff --git a/acconfig.h b/acconfig.h
index 69607154..bed9dde3 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -90,6 +90,10 @@
/* Define if you want GSSAPI authentication */
#undef GSSAPI
+
+/* Define if you want built-in SOCKS support */
+#undef HAVE_SOCKS
+
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
diff --git a/configure.in b/configure.in
index 817046e7..1b16b394 100644
--- a/configure.in
+++ b/configure.in
@@ -29,10 +29,25 @@ AC_C_CONST dnl getopt needs this.
AC_PROG_LEX
AC_PROG_YACC
+AC_SUBST(CPFLAGS)
AC_SUBST(CEFLAGS)
AC_SUBST(LDEFLAGS)
AC_SUBST(LIBOBJS)
+# Check for LynxOS special case: -lbsd needed (at least on 2.3.0) and -s
+# not working.
+if test `uname` = "LynxOS"
+then
+ echo "Adding -lbsd to standard libraries"
+ LIBS="$LIBS -lbsd"
+ LDFLAGS=""
+ if test `uname -r` = "2.5.0"
+ then
+ echo "Prepending standard include path to gcc flags"
+ CPFLAGS="-I/usr/include"
+ fi
+fi
+
# Under sysV68, socket and friends are provided by the C library.
# -linet does not provide socket, but causes multiple definition
# errors at link-time. It is thus better to only use the C library.
@@ -305,9 +320,28 @@ else
done
fi
+### use option --with-socks=DIR to point at SOCKS library
+AC_ARG_WITH(socks,
+ [ --with-socks[=DIR] add built-in SOCKS firewall access],
+[
+if test "$with_socks" != no
+then
+ if test "$with_socks" != yes
+ then
+ LDEFLAGS="$LDEFLAGS -L$with_socks"
+ else
+ AC_CHECK_LIB(socks, Rconnect,,
+ AC_MSG_ERROR([could not find libsocks which is needed for built-in SOCKS support]))
+ fi
+ AC_DEFINE(HAVE_SOCKS)
+ CEFLAGS="$CEFLAGS -Dconnect=Rconnect -Dgetsockname=Rgetsockname -Dbind=Rbind -Daccept=Raccept -Dlisten=Rlisten -Dselect=Rselect"
+ LIBS="-lsocks $LIBS"
+fi])
+
+
### use option --with-hesiod=DIR to point at a HESIOD directory
AC_ARG_WITH(hesiod,
- [ --with-hesiod=DIR point fetchmail compilation at a HESIOD directory])
+ [ --with-hesiod=DIR point fetchmail compilation at a HESIOD directory])
if test -n "$with_hesiod"
then
diff --git a/fetchmail-FAQ.html b/fetchmail-FAQ.html
index c1ee49f5..8d1915ae 100644
--- a/fetchmail-FAQ.html
+++ b/fetchmail-FAQ.html
@@ -10,7 +10,7 @@
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 1998/11/03 01:00:56 $
+<td width="30%" align=right>$Date: 1998/11/20 15:52:47 $
</table>
<HR>
<H1>Frequently Asked Questions About Fetchmail</H1>
@@ -1279,6 +1279,12 @@ gave us the following recipe:<P>
It wasn't that hard, was it? :-)<P>
+Giuseppe Guerini added a --with-socks option that supports linking
+with socks library. If you specify the value of this option as
+``yes'', the configure script will try to find the Rconnect library
+and set the makefile up to link it. You can also specify a directory
+containing the Rconnect library.<p>
+
<hr>
<h2><a name="#S6">S6. How can I use fetchmail with geocities POP3 servers?</a></h2>
@@ -2210,7 +2216,7 @@ Re-ordering messages is a user-agent function, anyway.<P>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 1998/11/03 01:00:56 $
+<td width="30%" align=right>$Date: 1998/11/20 15:52:47 $
</table>
<P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>
diff --git a/fetchmail.c b/fetchmail.c
index f06f6f26..95848491 100644
--- a/fetchmail.c
+++ b/fetchmail.c
@@ -195,6 +195,11 @@ int main (int argc, char **argv)
#if NET_SECURITY
printf("+NETSEC");
#endif /* NET_SECURITY */
+#ifdef HAVE_SOCKS
+ #if HAVE_SOCKS
+ printf("+SOCKS");
+ #endif
+#endif /* HAVE_SOCKS */
putchar('\n');
/* this is an attempt to help remote debugging */
@@ -415,6 +420,17 @@ int main (int argc, char **argv)
}
}
+/* Time to initiate the SOCKS library (this is not mandatory: it just
+ registers the correct application name for logging purpose. If you
+ have some problem, comment these lines). */
+#ifdef HAVE_SOCKS
+ #if HAVE_SOCKS
+/* Mmmh... I don't like hardcoded application names,
+ but "fetchmail" is everywhere... */
+ SOCKSinit("fetchmail");
+ #endif
+#endif /* HAVE_SOCKS */
+
/*
* Maybe time to go to demon mode...
*/