aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--COPYING4
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac2
-rw-r--r--ipv6-connect.c135
-rw-r--r--socket.c8
5 files changed, 1 insertions, 150 deletions
diff --git a/COPYING b/COPYING
index ade57e94..46d7c250 100644
--- a/COPYING
+++ b/COPYING
@@ -8,10 +8,6 @@ fetchmail. The relevant files are smb*.[ch] and ntlm.h.
The following files are public-domain: acconfig.h, md5c.c, md5.h.
-The following file is under a variant of the InnerNet Version 2 license
-(with the advertising clause removed for GPL compatibility) supplied
-by its author, Craig Metz: ipv6_connect.c.
-
The following files are explicitly GPL-licensed: getopt1.c, getopt.c, getopt.h.
The file m4-local/ac_ma_search_package.m4 is copyright by Caolan
diff --git a/Makefile.am b/Makefile.am
index f960dc72..64587c70 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -48,7 +48,7 @@ fetchmail_SOURCES= fetchmail.h getopt.h \
uid.c mxget.c md5ify.c cram.c kerberos.c gssapi.c \
opie.c rpa.c interface.c netrc.c \
unmime.c conf.c checkalias.c smbdes.c smbencrypt.c \
- smbmd4.c smbutil.c ipv6-connect.c lock.c \
+ smbmd4.c smbutil.c lock.c \
rcfile_l.l rcfile_y.y ucs/norm_charmap.c
check_PROGRAMS += rfc822 unmime netrc rfc2047e
diff --git a/configure.ac b/configure.ac
index dea23245..74736db5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -353,8 +353,6 @@ AC_ARG_ENABLE(inet6,
[with_inet6=no])
test "$with_inet6" = "yes" && AC_DEFINE(INET6_ENABLE,1,Define if you want IPv6 support compiled in)
-AC_CHECK_FUNCS(inner_connect)
-
# This version of the Kerberos 4 and 5 options addresses the follwing issues:
#
# * Build correctly under Heimdal kerberos if it is compiled with db2 and
diff --git a/ipv6-connect.c b/ipv6-connect.c
deleted file mode 100644
index ce9866e8..00000000
--- a/ipv6-connect.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-%%% copyright-cmetz-97
-
- The author(s) grant permission for redistribution and use in source and
-binary forms, with or without modification, of the software and documentation
-provided that the following conditions are met:
-
-1. All terms of the all other applicable copyrights and licenses must be
- followed.
-2. Redistributions of source code must retain the authors' copyright
- notice(s), this list of conditions, and the following disclaimer.
-3. Redistributions in binary form must reproduce the authors' copyright
- notice(s), this list of conditions, and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-4. Neither the name(s) of the author(s) nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY ITS AUTHORS AND CONTRIBUTORS ``AS IS'' AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-*/
-
-
-#include "config.h"
-#ifdef INET6_ENABLE
-#include <sys/types.h>
-#include <stdio.h>
-#ifdef HAVE_NET_SOCKET_H
-#include <net/socket.h>
-#else
-#include <sys/socket.h>
-#endif
-#include <netinet/in.h>
-#include <errno.h>
-#include <netdb.h>
-#include <signal.h>
-#include <string.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-/* This patch, supplying SA_LEN if it's undefined, is from Red Hat */
-#ifndef SA_LEN
-#define SA_LEN(sa) sa_len(sa)
-
-static size_t sa_len(struct sockaddr *sa)
-{
- switch(sa->sa_family) {
-#if defined(AF_INET)
- case AF_INET:
- return sizeof(struct sockaddr_in);
-#endif
-#if defined(AF_INET6) && defined(INET6_ENABLE)
- case AF_INET6:
- return sizeof(struct sockaddr_in6);
-#endif
- default:
- return sizeof(struct sockaddr);
- }
-}
-#endif /* SA_LEN */
-
-static int default_trying_callback(struct sockaddr *sa)
-{
- char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];
-
- if (getnameinfo(sa, SA_LEN(sa), hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV)) {
- fprintf(stderr, "inner_getstream: getnameinfo failed\n");
- return -1;
- };
-
- fprintf(stderr, "Trying %s.%s...\n", hbuf, sbuf);
- return 0;
-};
-
-static int default_error_callback(char *myname, char *message)
-{
- fprintf(stderr, "%s: %s\n", myname, message);
- return 0;
-};
-
-int inner_connect(struct addrinfo *ai, void *request, int requestlen, int (*trying_callback)(struct sockaddr *sa), int (*error_callback)(char *myname, char *message), char *myname, struct addrinfo **pai)
-{
- int fd;
- char errorbuf[128];
-
- if (!trying_callback)
- trying_callback = default_trying_callback;
-
- if (!error_callback)
- error_callback = default_error_callback;
-
- for (; ai; ai = ai->ai_next) {
- if (trying_callback(ai->ai_addr))
- continue;
-
- if ((fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol)) < 0) {
- snprintf(errorbuf, sizeof(errorbuf), "socket: %s(%d)",
- strerror(errno), errno);
- error_callback(myname, errorbuf);
- continue;
- };
-
- if (connect(fd, ai->ai_addr, ai->ai_addrlen) < 0) {
- snprintf(errorbuf, sizeof(errorbuf), "connect: %s(%d)",
- strerror(errno), errno);
- error_callback(myname, errorbuf);
- close(fd); /* just after a connect; no reads or writes yet */
- continue;
- }
- break;
- };
-
- if (ai) {
- if (pai)
- *pai = ai;
- } else {
- snprintf(errorbuf, sizeof(errorbuf), "no connections result");
- error_callback(myname, errorbuf);
- fd = -1;
- };
-
- return fd;
-};
-
-#endif /* INET6_ENABLE */
diff --git a/socket.c b/socket.c
index 576281c2..80caa303 100644
--- a/socket.c
+++ b/socket.c
@@ -281,12 +281,6 @@ int SockOpen(const char *host, const char *service,
return -1;
}
-#ifdef HAVE_INNER_CONNECT
- i = inner_connect(ai0, NULL, 0, NULL, NULL, "fetchmail", NULL);
- if (i >= 0)
- break;
-#else
-
i = -1;
for (ai = ai0; ai; ai = ai->ai_next) {
i = socket(ai->ai_family, ai->ai_socktype, 0);
@@ -310,8 +304,6 @@ int SockOpen(const char *host, const char *service,
break;
}
-#endif
-
freeaddrinfo(ai0);
return i;