]> git.pld-linux.org Git - packages/postfix.git/commitdiff
new patch
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sat, 31 Jul 1999 11:58:45 +0000 (11:58 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    patch.19990714.txt -> 1.2

patch.19990714.txt [deleted file]

diff --git a/patch.19990714.txt b/patch.19990714.txt
deleted file mode 100644 (file)
index fedf51d..0000000
+++ /dev/null
@@ -1,449 +0,0 @@
-diff -udr old/snapshot-19990627/dns/dns_lookup.c snapshot-19990627/dns/dns_lookup.c
---- old/snapshot-19990627/dns/dns_lookup.c     Sun Dec 20 02:38:29 1998
-+++ snapshot-19990627/dns/dns_lookup.c Fri Jul  9 01:03:04 1999
-@@ -129,6 +129,9 @@
- } DNS_REPLY;
- #define INET_ADDR_LEN 4               /* XXX */
-+#ifdef INET6
-+#define INET6_ADDR_LEN        16
-+#endif
- /* dns_query - query name server and pre-parse the reply */
-@@ -285,6 +288,19 @@
-       memcpy(temp, pos, fixed->length);
-       data_len = fixed->length;
-       break;
-+#ifdef INET6
-+    case T_AAAA:
-+      if (fixed->length != INET6_ADDR_LEN) {
-+          msg_warn("extract_answer: bad IPv6 address length: %d", fixed->length);
-+          return (0);
-+      }
-+      if (fixed->length > sizeof(temp))
-+          msg_panic("dns_get_rr: length %d > DNS_NAME_LEN",
-+                    fixed->length);
-+      memcpy(temp, pos, fixed->length);
-+      data_len = fixed->length;
-+      break;
-+#endif
-     }
-     return (dns_rr_create(rr_name, fixed, pref, temp, data_len));
- }
-diff -udr old/snapshot-19990627/global/peer_name.c snapshot-19990627/global/peer_name.c
---- old/snapshot-19990627/global/peer_name.c   Fri Dec 11 19:55:38 1998
-+++ snapshot-19990627/global/peer_name.c       Thu Jul  8 19:23:21 1999
-@@ -54,6 +54,9 @@
- #include <sys/param.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
-+#if defined(INET6) && defined(KAME)
-+#include <netinet6/in6.h>
-+#endif
- #include <arpa/inet.h>
- #include <errno.h>
- #include <netdb.h>
-@@ -69,20 +72,46 @@
- PEER_NAME *peer_name(int sock)
- {
-     static PEER_NAME peer;
--    struct sockaddr_in sin;
--    SOCKADDR_SIZE len = sizeof(sin);
-+    union sockunion {
-+      struct {
-+          u_char si_len;
-+          u_char si_family;
-+          u_short si_port;
-+      } su_si;
-+      struct sockaddr peer_un;
-+      struct sockaddr_in peer_un4;
-+#ifdef INET6
-+      struct sockaddr_in6 peer_un6;
-+#endif
-+    } p_un;
-+#define sin  p_un.peer_un
-+#define sin4 p_un.peer_un4
-+#ifdef INET6
-+#define sin6 p_un.peer_un6
-+    char ntop_buf[INET6_ADDRSTRLEN];
-+#endif
-+    SOCKADDR_SIZE len = sizeof(p_un);
-     struct hostent *hp;
--    if (getpeername(sock, (struct sockaddr *) & sin, &len) == 0) {
--      switch (sin.sin_family) {
-+    if (getpeername(sock, (struct sockaddr *)& p_un, &len) == 0) {
-+      switch (p_un.peer_un.sa_family) {
-       case AF_INET:
-           peer.type = PEER_TYPE_INET;
--          hp = gethostbyaddr((char *) &(sin.sin_addr),
--                             sizeof(sin.sin_addr), AF_INET);
-+          hp = gethostbyaddr((char *) &(sin4.sin_addr),
-+                             sizeof(sin4.sin_addr), AF_INET);
-           peer.name = (hp && valid_hostname(hp->h_name) ?
-                        hp->h_name : "unknown");
--          peer.addr = inet_ntoa(sin.sin_addr);
-+          peer.addr = inet_ntoa(sin4.sin_addr);
-+          return (&peer);
-+#ifdef INET6
-+      case AF_INET6:
-+          peer.type = PEER_TYPE_INET6;
-+          hp = gethostbyaddr((char *) &(sin6.sin6_addr),
-+                              sizeof(sin6.sin6_addr), AF_INET6);
-+          peer.name = (hp ? hp->h_name : "unknown");
-+          peer.addr = (char *)strdup(inet_ntop(AF_INET6, &sin6.sin6_addr, ntop_buf, sizeof(ntop_buf)));
-           return (&peer);
-+#endif
-       case AF_UNSPEC:
-       case AF_UNIX:
-           peer.type = PEER_TYPE_LOCAL;
-diff -udr old/snapshot-19990627/global/peer_name.h snapshot-19990627/global/peer_name.h
---- old/snapshot-19990627/global/peer_name.h   Fri Dec 11 19:55:32 1998
-+++ snapshot-19990627/global/peer_name.h       Thu Jul  8 09:51:38 1999
-@@ -22,6 +22,9 @@
- #define PEER_TYPE_UNKNOWN     0
- #define PEER_TYPE_INET                1
- #define PEER_TYPE_LOCAL               2
-+#ifdef INET6
-+#define PEER_TYPE_INET6               3
-+#endif
- extern PEER_NAME *peer_name(int);
-diff -udr old/snapshot-19990627/makedefs snapshot-19990627/makedefs
---- old/snapshot-19990627/makedefs     Fri Jun 25 00:53:12 1999
-+++ snapshot-19990627/makedefs Thu Jul  8 01:23:55 1999
-@@ -72,6 +72,7 @@
-   FreeBSD.2*) SYSTYPE=FREEBSD2
-               ;;
-   FreeBSD.3*) SYSTYPE=FREEBSD3
-+              SYSLIBS="-L/usr/local/v6/lib -linet6"
-               ;;
-   FreeBSD.4*) SYSTYPE=FREEBSD4
-               ;;
-@@ -236,7 +237,7 @@
- ARFL  = $ARFL
- RANLIB        = $RANLIB
- SYSLIBS       = $AUXLIBS $SYSLIBS
--CC    = $CC $CCARGS
-+CC    = $CC $CCARGS -DINET6
- OPT   = $OPT
- DEBUG = $DEBUG
- EOF
-diff -udr old/snapshot-19990627/smtp/smtp_addr.c snapshot-19990627/smtp/smtp_addr.c
---- old/snapshot-19990627/smtp/smtp_addr.c     Wed Apr 28 04:35:47 1999
-+++ snapshot-19990627/smtp/smtp_addr.c Sat Jul 10 23:34:59 1999
-@@ -141,6 +141,7 @@
-     /*
-      * Interpret a numerical name as an address.
-      */
-+/* XAA TODO: check for numerical ipv6 address? */
-     if (ISDIGIT(host[0]) && (inaddr.s_addr = inet_addr(host)) != INADDR_NONE) {
-       memset((char *) &fixed, 0, sizeof(fixed));
-       return (dns_rr_append(addr_list,
-@@ -153,6 +154,7 @@
-      */
-     if (var_disable_dns) {
-       memset((char *) &fixed, 0, sizeof(fixed));
-+/* TODO XAA, rewrite */
-       if ((hp = gethostbyname(host)) == 0) {
-           vstring_sprintf(why, "%s: host not found", host);
-           smtp_errno = SMTP_FAIL;
-@@ -176,7 +178,11 @@
-     /*
-      * Append the addresses for this host to the address list.
-      */
-+#ifdef INET6
-+    switch (dns_lookup_types(host, 0, &addr, (VSTRING *) 0, why, T_A, T_AAAA)) {/* XAA TODO: currently IPv6 and IPv4 are mixed in no order, ok? */
-+#else
-     switch (dns_lookup(host, T_A, 0, &addr, (VSTRING *) 0, why)) {
-+#endif
-     case DNS_OK:
-       for (rr = addr; rr; rr = rr->next)
-           rr->pref = pref;
-diff -udr old/snapshot-19990627/smtp/smtp_connect.c snapshot-19990627/smtp/smtp_connect.c
---- old/snapshot-19990627/smtp/smtp_connect.c  Sun Jun 27 21:04:38 1999
-+++ snapshot-19990627/smtp/smtp_connect.c      Sun Jul 11 17:21:49 1999
-@@ -123,6 +123,10 @@
- {
-     char   *myname = "smtp_connect_addr";
-     struct sockaddr_in sin;
-+#ifdef INET6
-+    struct sockaddr_in6 sin6;
-+    char ntop_buf[INET6_ADDRSTRLEN];
-+#endif
-     int     sock;
-     INET_ADDR_LIST *addr_list;
-     int     conn_stat;
-@@ -134,7 +138,12 @@
-     /*
-      * Sanity checks.
-      */
-+#ifdef INET6
-+    if (((addr->type==T_A) && (addr->data_len > sizeof(sin.sin_addr))) ||
-+      ((addr->type==T_AAAA) && (addr->data_len >sizeof(sin6.sin6_addr)))) {
-+#else
-     if (addr->data_len > sizeof(sin.sin_addr)) {
-+#endif
-       msg_warn("%s: skip address with length %d", myname, addr->data_len);
-       smtp_errno = SMTP_RETRY;
-       return (0);
-@@ -143,11 +152,23 @@
-     /*
-      * Initialize.
-      */
--    memset((char *) &sin, 0, sizeof(sin));
--    sin.sin_family = AF_INET;
-+    switch(addr->type) {
-+      case T_A:
-+            memset((char *) &sin, 0, sizeof(sin));
-+            sin.sin_family = AF_INET;
-+            if ((sock = socket(sin.sin_family, SOCK_STREAM, 0)) < 0)
-+              msg_fatal("%s: socket: %m", myname);
-+          break;
-+#ifdef INET6
-+      case T_AAAA:
-+          memset((char *) &sin6, 0, sizeof(sin6));
-+          sin6.sin6_family = AF_INET6;
-+          if ((sock = socket(sin6.sin6_family, SOCK_STREAM, 0)) < 0)
-+              msg_fatal("%s: socket: %m", myname);
-+          break;
-+#endif
-+    }
--    if ((sock = socket(sin.sin_family, SOCK_STREAM, 0)) < 0)
--      msg_fatal("%s: socket: %m", myname);
-     /*
-      * When running as a virtual host, bind to the virtual interface so that
-@@ -170,21 +191,52 @@
-     /*
-      * Connect to the SMTP server.
-      */
--    sin.sin_port = port;
--    memcpy((char *) &sin.sin_addr, addr->data, sizeof(sin.sin_addr));
-+    switch(addr->type) {
-+      case T_A:
-+            sin.sin_port = port;
-+          memcpy((char *) &sin.sin_addr, addr->data, sizeof(sin.sin_addr));
-+          break;
-+#ifdef INET6
-+        case T_AAAA:
-+            sin6.sin6_port = port;
-+          memcpy((char *) &sin6.sin6_addr, addr->data, sizeof(sin6.sin6_addr));
-+          break;
-+#endif
-+    }
-     if (msg_verbose)
-       msg_info("%s: trying: %s/%s port %d...",
-                myname, addr->name, inet_ntoa(sin.sin_addr), ntohs(port));
-     if (var_smtp_conn_tmout > 0) {
-       non_blocking(sock, NON_BLOCKING);
--      conn_stat = timed_connect(sock, (struct sockaddr *) & sin,
--                                sizeof(sin), var_smtp_conn_tmout);
-+      switch(addr->type) {
-+          case T_A:
-+              conn_stat = timed_connect(sock, (struct sockaddr *) & sin,
-+                                        sizeof(sin), var_smtp_conn_tmout);
-+              break;
-+#ifdef INET6
-+          case T_AAAA:
-+              conn_stat = timed_connect(sock, (struct sockaddr *) & sin6,
-+                                        sizeof(sin6), var_smtp_conn_tmout);
-+              break;
-+#endif
-+      }
-       saved_errno = errno;
-       non_blocking(sock, BLOCKING);
-       errno = saved_errno;
-     } else {
--      conn_stat = connect(sock, (struct sockaddr *) & sin, sizeof(sin));
-+      switch (addr->type) {
-+          case T_A:
-+              conn_stat = connect(sock, (struct sockaddr *) & sin, 
-+                                  sizeof(sin));
-+              break;
-+#ifdef INET6
-+          case T_AAAA:
-+              conn_stat = connect(sock, (struct sockaddr *) & sin6, 
-+                                  sizeof(sin6));
-+              break;
-+#endif
-+      }
-     }
-     if (conn_stat < 0) {
-       vstring_sprintf(why, "connect to %s: %m", addr->name);
-@@ -226,7 +278,16 @@
-       return (0);
-     }
-     vstream_ungetc(stream, ch);
--    return (smtp_session_alloc(stream, addr->name, inet_ntoa(sin.sin_addr)));
-+    switch (addr->type) {
-+      case T_A:
-+            return (smtp_session_alloc(stream, addr->name, 
-+                  inet_ntoa(sin.sin_addr)));
-+#ifdef INET6
-+      case T_AAAA:
-+          inet_ntop(AF_INET6, &sin6.sin6_addr, ntop_buf, sizeof(ntop_buf));
-+            return (smtp_session_alloc(stream, addr->name, strdup(ntop_buf)));
-+#endif
-+    }
- }
- /* smtp_connect_host - direct connection to host */
-diff -udr old/snapshot-19990627/smtp/smtp_unalias.c snapshot-19990627/smtp/smtp_unalias.c
---- old/snapshot-19990627/smtp/smtp_unalias.c  Mon Jan 18 21:11:49 1999
-+++ snapshot-19990627/smtp/smtp_unalias.c      Fri Jul  9 00:58:58 1999
-@@ -83,7 +83,11 @@
-     if ((result = htable_find(cache, name)) == 0) {
-       fqdn = vstring_alloc(10);
-       if (dns_lookup_types(name, smtp_unalias_flags, (DNS_RR **) 0,
--                           fqdn, (VSTRING *) 0, T_MX, T_A, 0) != DNS_OK)
-+                           fqdn, (VSTRING *) 0, T_MX, T_A,
-+#ifdef INET6
-+                           T_AAAA,
-+#endif
-+                           0) != DNS_OK)
-           vstring_strcpy(fqdn, name);
-       htable_enter(cache, name, result = vstring_export(fqdn));
-     }
-diff -udr old/snapshot-19990627/smtpd/smtpd_check.c snapshot-19990627/smtpd/smtpd_check.c
---- old/snapshot-19990627/smtpd/smtpd_check.c  Sun Jun 27 21:12:53 1999
-+++ snapshot-19990627/smtpd/smtpd_check.c      Fri Jul  9 01:00:28 1999
-@@ -578,7 +578,11 @@
-       msg_info("%s: %s", myname, name);
-     dns_status = dns_lookup_types(name, 0, (DNS_RR **) 0, (VSTRING *) 0,
--                                (VSTRING *) 0, T_A, T_MX, 0);
-+                                (VSTRING *) 0, T_A, T_MX,
-+#ifdef INET6
-+                                T_AAAA,
-+#endif
-+                                0);
-     if (dns_status != DNS_OK)
-       return (smtpd_check_reject(state, MAIL_ERROR_POLICY,
-                                  "%d <%s>: %s rejected: Host not found",
-@@ -600,7 +604,11 @@
-       msg_info("%s: %s", myname, name);
-     dns_status = dns_lookup_types(name, 0, (DNS_RR **) 0, (VSTRING *) 0,
--                                (VSTRING *) 0, T_A, T_MX, 0);
-+                                (VSTRING *) 0, T_A, T_MX,
-+#ifdef INET6
-+                                T_AAAA,
-+#endif
-+                                0);
-     if (dns_status != DNS_OK)
-       return (smtpd_check_reject(state, MAIL_ERROR_POLICY,
-                                  "%d <%s>: %s rejected: Domain not found",
-diff -udr old/snapshot-19990627/util/inet_addr_local.c snapshot-19990627/util/inet_addr_local.c
---- old/snapshot-19990627/util/inet_addr_local.c       Fri Dec 11 19:55:36 1998
-+++ snapshot-19990627/util/inet_addr_local.c   Fri Jul  9 10:07:23 1999
-@@ -134,6 +134,9 @@
- {
-     INET_ADDR_LIST addr_list;
-     int     i;
-+#ifdef INET6
-+    char buf[INET6_ADDRSTRLEN];
-+#endif
-     msg_vstream_init(argv[0], VSTREAM_ERR);
-@@ -147,7 +150,11 @@
-       msg_warn("found only one active network interface");
-     for (i = 0; i < addr_list.used; i++)
-+#ifdef #INET6
-+      vstream_printf("%s\n", net_ntop(AF_INET, addr_list.addrs[i]));
-+#else
-       vstream_printf("%s\n", inet_ntoa(addr_list.addrs[i]));
-+#endif
-     vstream_fflush(VSTREAM_OUT);
-     inet_addr_list_free(&addr_list);
- }
-Only in snapshot-19990627/util: inet_listen.
-diff -udr old/snapshot-19990627/util/inet_listen.c snapshot-19990627/util/inet_listen.c
---- old/snapshot-19990627/util/inet_listen.c   Mon Mar 22 02:26:26 1999
-+++ snapshot-19990627/util/inet_listen.c       Fri Jul  9 00:03:45 1999
-@@ -51,6 +51,9 @@
- #include <sys_defs.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
-+#if defined(INET6) && defined(KAME)
-+#include <netinet6/in6.h>
-+#endif
- #include <arpa/inet.h>
- #include <netdb.h>
- #ifndef MAXHOSTNAMELEN
-@@ -79,7 +82,13 @@
- int     inet_listen(const char *addr, int backlog, int block_mode)
- {
-+#ifdef INET6
-+    struct sockaddr_in6 sin;
-+    struct addrinfo *ai,hints;
-+    int res;
-+#else
-     struct sockaddr_in sin;
-+#endif
-     int     sock;
-     int     t = 1;
-     char   *buf;
-@@ -90,22 +99,55 @@
-      * Translate address information to internal form.
-      */
-     buf = inet_parse(addr, &host, &port);
-+#ifdef INET6
-+    bzero((void *)&hints, sizeof(hints));
-+    hints.ai_flags = AI_PASSIVE;
-+    hints.ai_family = PF_INET6;
-+    hints.ai_socktype = SOCK_STREAM;
-+    if (res = getaddrinfo(NULL, "smtp", &hints, &ai)) {
-+      msg_fatal("Error getaddrinfo: %s", gai_strerror(res));
-+    }
-+/*
-+    sin.sin6_family = AF_INET6;
-+    sin.sin6_port = find_inet_port(port, "tcp");
-+    XAA:not yet....
-+    sin.sin6_addr.s6_addr = (*host ? find_inet_addr(host) : in6addr_any);
-+    sin.sin6_addr = in6addr_any;
-+*/
-+#else
-     memset((char *) &sin, 0, sizeof(sin));
-     sin.sin_family = AF_INET;
-     sin.sin_port = find_inet_port(port, "tcp");
-     sin.sin_addr.s_addr = (*host ? find_inet_addr(host) : INADDR_ANY);
-+#endif
-     myfree(buf);
-     /*
-      * Create a listener socket.
-      */
-+#ifdef INET6
-+    if ((sock = socket(AF_INET6, SOCK_STREAM, 0)) < 0)
-+#else
-     if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
-+#endif
-       msg_fatal("socket: %m");
-     if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *) &t, sizeof(t)) < 0)
-       msg_fatal("setsockopt: %m");
-+#ifdef INET6
-+    if (bind(sock, (struct sockaddr *) ai->ai_addr, ai->ai_addrlen) < 0)
-+    /* not yet XAA
-+      msg_fatal("bind %s port %d: %m", ai->ai_flags&AI_PASSIVE ?
-+             "IN6ADDR_ANY" : ai->ai_canonname, 
-+             ntohs(((struct sockaddr *)ai->ai_addr)->sin_port));
-+    */
-+      msg_fatal("bind %s: %m", ai->ai_flags&AI_PASSIVE ?
-+             "IN6ADDR_ANY" : ai->ai_canonname);
-+    freeaddrinfo(ai);
-+#else
-     if (bind(sock, (struct sockaddr *) & sin, sizeof(sin)) < 0)
-       msg_fatal("bind %s port %d: %m", sin.sin_addr.s_addr == INADDR_ANY ?
-              "INADDR_ANY" : inet_ntoa(sin.sin_addr), ntohs(sin.sin_port));
-+#endif
-     non_blocking(sock, block_mode);
-     if (listen(sock, backlog) < 0)
-       msg_fatal("listen: %m");
This page took 0.049762 seconds and 4 git commands to generate.