3916
|
1 |
This patch was developed in-house, contributed upstream, and accepted with
|
|
2 |
minor modifications for 8.15.2; when that release comes out, it should no
|
|
3 |
longer be needed.
|
|
4 |
|
|
5 |
--- sendmail-8.15.1/RELEASE_NOTES.~1~ 2015-03-02 10:53:48.866427766 -0800
|
|
6 |
+++ sendmail-8.15.1/RELEASE_NOTES 2015-03-02 10:55:13.925190180 -0800
|
|
7 |
@@ -5,6 +5,13 @@
|
|
8 |
of the sendmail configuration files, the date of release, and a
|
|
9 |
summary of the changes in that release.
|
|
10 |
|
|
11 |
+ CONFIG: New option UseCompressedIPv6Addresses to select between
|
|
12 |
+ compressed and uncompressed IPv6 addresses. The default
|
|
13 |
+ value depends on the compile-time option IPV6_FULL:
|
|
14 |
+ For 1 the default is False, for 0 it is True, thus
|
|
15 |
+ preserving the current behaviour. Based on patch from
|
|
16 |
+ John Beck of Oracle.
|
|
17 |
+
|
|
18 |
8.15.1/8.15.1 2014/12/06
|
|
19 |
SECURITY: Properly set the close-on-exec flag for file descriptors
|
|
20 |
(except stdin, stdout, and stderr) before executing mailers.
|
|
21 |
--- sendmail-8.15.1/cf/README.~2~ 2015-03-02 10:56:39.888131319 -0800
|
|
22 |
+++ sendmail-8.15.1/cf/README 2015-03-02 10:56:39.926065186 -0800
|
|
23 |
@@ -3454,6 +3454,12 @@
|
|
24 |
cached but otherwise idle connection
|
|
25 |
to a host will prevent other sendmails
|
|
26 |
from connecting to the other host.
|
|
27 |
+confUSE_COMPRESSED_IPV6_ADDRESSES
|
|
28 |
+ UseCompressedIPv6Addresses
|
|
29 |
+ [undefined] If set, use the compressed
|
|
30 |
+ form of IPv6 addresses, such as
|
|
31 |
+ IPV6:::1, instead of the uncompressed
|
|
32 |
+ form, such as IPv6:0:0:0:0:0:0:0:1.
|
|
33 |
confUSE_ERRORS_TO* UseErrorsTo [False] Use the Errors-To: header to
|
|
34 |
deliver error messages. This should
|
|
35 |
not be necessary because of general
|
|
36 |
--- sendmail-8.15.1/cf/m4/proto.m4.~2~ 2015-03-02 10:59:56.762362990 -0800
|
|
37 |
+++ sendmail-8.15.1/cf/m4/proto.m4 2015-03-02 10:59:56.821388655 -0800
|
|
38 |
@@ -329,6 +329,9 @@
|
|
39 |
# use Errors-To: header?
|
|
40 |
_OPTION(UseErrorsTo, `confUSE_ERRORS_TO', `False')
|
|
41 |
|
|
42 |
+# use compressed IPv6 address format?
|
|
43 |
+_OPTION(UseCompressedIPv6Addresses, `confUSE_COMPRESSED_IPV6_ADDRESSES', `')
|
|
44 |
+
|
|
45 |
# log level
|
|
46 |
_OPTION(LogLevel, `confLOG_LEVEL', `10')
|
|
47 |
|
|
48 |
--- sendmail-8.15.1/doc/op/op.me.~1~
|
|
49 |
+++ sendmail-8.15.1/doc/op/op.me
|
|
50 |
@@ -8360,6 +8360,12 @@ are always unsafe.
|
|
51 |
Note: use
|
|
52 |
.b DontBlameSendmail
|
|
53 |
instead; this option is deprecated.
|
|
54 |
+.ip UseCompressedIPv6Addresses
|
|
55 |
+[no short name]
|
|
56 |
+If set, the compressed format of IPv6 addresses,
|
|
57 |
+such as IPV6:::1, will be used,
|
|
58 |
+instead of the uncompressed format,
|
|
59 |
+such as IPv6:0:0:0:0:0:0:0:1.
|
|
60 |
.ip UseErrorsTo
|
|
61 |
[l]
|
|
62 |
If there is an
|
|
63 |
--- sendmail-8.15.1/sendmail/conf.c.~1~ 2014-11-07 10:01:17.000000000 -0800
|
|
64 |
+++ sendmail-8.15.1/sendmail/conf.c 2015-03-02 11:02:56.829822173 -0800
|
|
65 |
@@ -379,6 +379,9 @@
|
|
66 |
}
|
|
67 |
else
|
|
68 |
InetMode = AF_INET;
|
|
69 |
+#if !IPV6_FULL
|
|
70 |
+ UseCompressedIPv6Addresses = true;
|
|
71 |
+#endif
|
|
72 |
#else /* NETINET6 */
|
|
73 |
InetMode = AF_INET;
|
|
74 |
#endif /* NETINET6 */
|
|
75 |
@@ -5756,7 +5759,7 @@
|
|
76 |
"HES_GETMAILHOST",
|
|
77 |
#endif
|
|
78 |
#if IPV6_FULL
|
|
79 |
- /* Use uncompressed IPv6 address format (no "::") */
|
|
80 |
+ /* Use uncompressed IPv6 address format (no "::") by default */
|
|
81 |
"IPV6_FULL",
|
|
82 |
#endif
|
|
83 |
#if LDAPMAP
|
|
84 |
--- a/sendmail/daemon.c
|
|
85 |
+++ b/sendmail/daemon.c
|
|
86 |
@@ -4261,12 +4261,10 @@ anynet_ntop(s6a, dst, dst_len)
|
|
87 |
return NULL;
|
|
88 |
dst += sz;
|
|
89 |
dst_len -= sz;
|
|
90 |
-# if IPV6_FULL
|
|
91 |
- ap = sm_inet6_ntop(s6a, dst, dst_len);
|
|
92 |
-# else /* IPV6_FULL */
|
|
93 |
- ap = (char *) inet_ntop(AF_INET6, s6a, dst, dst_len);
|
|
94 |
-# endif /* IPV6_FULL */
|
|
95 |
-
|
|
96 |
+ if (UseCompressedIPv6Addresses)
|
|
97 |
+ ap = (char *) inet_ntop(AF_INET6, s6a, dst, dst_len);
|
|
98 |
+ else
|
|
99 |
+ ap = sm_inet6_ntop(s6a, dst, dst_len);
|
|
100 |
/* Restore pointer to beginning of string */
|
|
101 |
if (ap != NULL)
|
|
102 |
ap = d;
|
|
103 |
--- sendmail-8.15.1/sendmail/readcf.c.~1~ 2014-10-22 09:33:53.000000000 -0700
|
|
104 |
+++ sendmail-8.15.1/sendmail/readcf.c 2015-03-02 11:04:38.892714939 -0800
|
|
105 |
@@ -2473,6 +2473,8 @@
|
|
106 |
# define O_ADDBCC 0xeb
|
|
107 |
{ "AddBcc", O_ADDBCC, OI_NONE },
|
|
108 |
#endif
|
|
109 |
+#define O_USECOMPRESSEDIPV6ADDRESSES 0xec
|
|
110 |
+ { "UseCompressedIPv6Addresses", O_USECOMPRESSEDIPV6ADDRESSES, OI_NONE },
|
|
111 |
|
|
112 |
{ NULL, '\0', OI_NONE }
|
|
113 |
};
|
|
114 |
@@ -4277,6 +4279,9 @@
|
|
115 |
AddBcc = atobool(val);
|
|
116 |
break;
|
|
117 |
#endif
|
|
118 |
+ case O_USECOMPRESSEDIPV6ADDRESSES:
|
|
119 |
+ UseCompressedIPv6Addresses = atobool(val);
|
|
120 |
+ break;
|
|
121 |
|
|
122 |
default:
|
|
123 |
if (tTd(37, 1))
|
|
124 |
--- sendmail-8.15.1/sendmail/sendmail.h.~1~ 2014-11-07 05:26:39.000000000 -0800
|
|
125 |
+++ sendmail-8.15.1/sendmail/sendmail.h 2015-03-02 11:05:51.115921999 -0800
|
|
126 |
@@ -2384,6 +2384,7 @@
|
|
127 |
EXTERN bool WorkAroundBrokenAAAA; /* some nameservers return SERVFAIL on AAAA queries */
|
|
128 |
EXTERN bool UseErrorsTo; /* use Errors-To: header (back compat) */
|
|
129 |
EXTERN bool UseNameServer; /* using DNS -- interpret h_errno & MX RRs */
|
|
130 |
+EXTERN bool UseCompressedIPv6Addresses; /* for more specific zero-subnet matches */
|
|
131 |
EXTERN char InetMode; /* default network for daemon mode */
|
|
132 |
EXTERN char OpMode; /* operation mode, see below */
|
|
133 |
EXTERN char SpaceSub; /* substitution for <lwsp> */
|