From c8ecb908dde9760ac2ff55f73ffd02f1a0046f59 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Fri, 20 Nov 1998 15:52:48 +0000 Subject: Added socks library support. svn path=/trunk/; revision=2189 --- Makefile.in | 3 ++- NEWS | 3 ++- README | 7 ++++--- acconfig.h | 4 ++++ configure.in | 36 +++++++++++++++++++++++++++++++++++- fetchmail-FAQ.html | 10 ++++++++-- fetchmail.c | 16 ++++++++++++++++ 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 . +* Postmaster option fix from Bill Metzenthen . +* 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 @@
Back to Fetchmail Home Page To Site Map -$Date: 1998/11/03 01:00:56 $ +$Date: 1998/11/20 15:52:47 $

Frequently Asked Questions About Fetchmail

@@ -1279,6 +1279,12 @@ gave us the following recipe:

It wasn't that hard, was it? :-)

+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.

+


S6. How can I use fetchmail with geocities POP3 servers?

@@ -2210,7 +2216,7 @@ Re-ordering messages is a user-agent function, anyway.

Back to Fetchmail Home Page To Site Map -$Date: 1998/11/03 01:00:56 $ +$Date: 1998/11/20 15:52:47 $

Eric S. Raymond <esr@snark.thyrsus.com>
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... */ -- cgit v1.2.3