--- /dev/null
+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");
-diff -urN snapshot-19990518.orig/conf/aliases snapshot-19990518/conf/aliases
---- snapshot-19990518.orig/conf/aliases Mon May 24 07:07:03 1999
-+++ snapshot-19990518/conf/aliases Mon May 24 07:10:13 1999
-@@ -5,26 +5,29 @@
- #
-
- # Basic system aliases -- these MUST be present
-+
-+# Main system alias
-+hostmaster: root
-+
- MAILER-DAEMON: postmaster
--postmaster: root
-+postmaster: hostmaster
-
- # General redirections for pseudo accounts
--bin: root
--daemon: root
--named: root
--nobody: root
--operator: root
--uucp: root
--www: root
--ftp-bugs: root
-+bin: hostmaster
-+daemon: hostmaster
-+named: hosmaster
-+nobody: hosmaster
-+operator: hosmaster
-+uucp: hostmaster
-+www: hosmaster
-+ftp-bugs: hostmaster
-+ircmaster: hostmaster
-+newsmaster: hostmaster
-+webmaster: hostmaster
-+sysadm: hostmaster
-
- # Put your local aliases here.
-
--# Well-known aliases -- these should be filled in!
--# root:
--# manager:
--# dumper:
--# operator:
-
- #++
- # NAME
-diff -urN snapshot-19990518.orig/conf/main.cf snapshot-19990518/conf/main.cf
---- snapshot-19990518.orig/conf/main.cf Mon May 24 07:07:03 1999
-+++ snapshot-19990518/conf/main.cf Mon May 24 07:17:14 1999
-@@ -18,7 +18,7 @@
+diff -urN snapshot-19990627.orig/conf/main.cf snapshot-19990627/conf/main.cf
+--- snapshot-19990627.orig/conf/main.cf Mon Jul 19 19:09:49 1999
++++ snapshot-19990627/conf/main.cf Mon Jul 19 19:33:23 1999
+@@ -18,19 +18,19 @@
# Postfix support programs and daemons. This setting can be overruled
# with the command_directory and daemon_directory parameters.
#
-program_directory = /some/where/postfix/bin
-+program_directory = /usr/sbin
++#program_directory = /usr/lib/postfix
# The command_directory parameter specifies the location of all
# postXXX commands. The default value is $program_directory.
+ #
+-#command_directory = /usr/sbin
++command_directory = /usr/sbin
+
+ # The daemon_directory parameter specifies the location of all Postfix
+ # daemon programs (i.e. programs listed in the master.cf file). The
+ # default value is $program_directory. This directory must be owned
+ # by root.
+ #
+-#daemon_directory = /usr/libexec/postfix
++daemon_directory = /usr/lib/postfix
+
+ # QUEUE AND PROCESS OWNERSHIP
+ #
@@ -40,14 +40,14 @@
# OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM. In particular,
# don't specify nobody or daemon. PLEASE USE A DEDICATED USER.
# RECEIVING MAIL
-@@ -85,7 +85,7 @@
- # the software claims all active interfaces on the machine. The
- # parameter also controls delivery of mail to user@[ip.address].
- #
--#inet_interfaces = all
-+inet_interfaces = all
- #inet_interfaces = $myhostname
- #inet_interfaces = $myhostname, localhost
-
-@@ -110,8 +110,8 @@
- #
- #mydestination = $myhostname, localhost.$mydomain
- #mydestination = $myhostname, localhost.$mydomain $mydomain
--#mydestination = $myhostname, localhost.$mydomain, $mydomain,
--# mail.$mydomain, www.$mydomain, ftp.$mydomain
-+mydestination = $myhostname, localhost.$mydomain, $mydomain,
-+ mail.$mydomain, www.$mydomain, ftp.$mydomain
-
- # INTERNET VERSUS INTRANET
- #
@@ -179,7 +179,7 @@
# "postfix reload" to eliminate the delay.
#
#alias_maps = hash:/etc/aliases, nis:mail.aliases
# The alias_database parameter specifies the alias database(s) that
-@@ -217,7 +217,7 @@
+@@ -189,7 +189,7 @@
+ #
+ #alias_database = dbm:/etc/aliases
+ #alias_database = dbm:/etc/mail/aliases
+-#alias_database = hash:/etc/aliases
++alias_database = hash:/etc/mail/aliases
+ #alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
+
+ # DELIVERED-TO
+@@ -229,7 +229,7 @@
# UNIX-style mailboxes are kept. The default setting depends on the
# system type.
#
# mail_spool_directory = /var/spool/mail
# The mailbox_command parameter specifies the optional external
-diff -urN snapshot-19990518.orig/conf/sample-aliases.cf snapshot-19990518/conf/sample-aliases.cf
---- snapshot-19990518.orig/conf/sample-aliases.cf Mon May 24 07:07:03 1999
-+++ snapshot-19990518/conf/sample-aliases.cf Mon May 24 07:16:53 1999
-@@ -12,7 +12,7 @@
- #
- # alias_database = dbm:/etc/aliases
- # alias_database = dbm:/etc/mail/aliases
--alias_database = hash:/etc/aliases
-+alias_database = hash:/etc/mail/aliases
-
- # The alias_maps parameter specifies the list of alias databases used
- # by the local delivery agent. The default list is system dependent.
-@@ -29,4 +29,4 @@
- #
- # alias_maps = dbm:/etc/aliases, nis:mail.aliases
- # alias_maps = hash:/etc/aliases
--alias_maps = hash:/etc/aliases
-+alias_maps = hash:/etc/mail/aliases
-diff -urN snapshot-19990518.orig/global/mail_params.h snapshot-19990518/global/mail_params.h
---- snapshot-19990518.orig/global/mail_params.h Mon May 24 07:07:02 1999
-+++ snapshot-19990518/global/mail_params.h Mon May 24 07:19:08 1999
+@@ -386,3 +386,4 @@
+ xxgdb $daemon_directory/$process_name $process_id & sleep 5
+
+ # Other configurable parameters.
++biff = no
+diff -urN snapshot-19990627.orig/global/mail_params.h snapshot-19990627/global/mail_params.h
+--- snapshot-19990627.orig/global/mail_params.h Mon Jul 19 19:09:49 1999
++++ snapshot-19990627/global/mail_params.h Mon Jul 19 19:13:50 1999
@@ -180,7 +180,7 @@
*/
#define VAR_CONFIG_DIR "config_directory"
#endif
extern char *var_config_dir;
-diff -urN snapshot-19990518.orig/util/sys_defs.h snapshot-19990518/util/sys_defs.h
---- snapshot-19990518.orig/util/sys_defs.h Mon May 24 07:07:02 1999
-+++ snapshot-19990518/util/sys_defs.h Mon May 24 07:19:31 1999
+diff -urN snapshot-19990627.orig/util/sys_defs.h snapshot-19990627/util/sys_defs.h
+--- snapshot-19990627.orig/util/sys_defs.h Mon Jul 19 19:09:49 1999
++++ snapshot-19990627/util/sys_defs.h Mon Jul 19 19:14:31 1999
@@ -31,7 +31,7 @@
#define HAS_DB
#define HAS_SA_LEN
#define GETTIMEOFDAY(t) gettimeofday(t,(struct timezone *) 0)
#define ROOT_PATH "/bin:/usr/bin:/sbin:/usr/sbin"
#define USE_STATFS
+@@ -327,7 +327,7 @@
+ #define HAS_FSYNC
+ #define HAS_DB
+ #define DEF_DB_TYPE "hash"
+-#define ALIAS_DB_MAP "hash:/etc/aliases"
++#define ALIAS_DB_MAP "hash:/etc/mail/aliases"
+ #define HAS_NIS
+ #define GETTIMEOFDAY(t) gettimeofday(t,(struct timezone *) 0)
+ #define ROOT_PATH "/bin:/usr/bin:/sbin:/usr/sbin"