Viktor Dukhovni: > 20101108 > > Workaround: strip off IPv6 datalink suffix from peer address > to avoid problems with strict address checking code. Files: > smtpd/smtpd_peer.c, qmqpd/qmqpd_peer.c. > > this solves the issue when clients with link-local addresses, > connect. Sadly a similar fix is still required for the default > value of mynetworks.
The natural solution would be to address the source, in inet_addr_local.c, but that will affect just about every program including master(8). Obviously, changing this requires extensive cross-platform tests. First I need a system that exhibits this behavior (FreeBSD does not), then I need time, which is unlikely to be available with this week's expected storm damage and outages. The courageous may want to edit inet_addr_local.c, and replace the inet_addr_list_append() calls with something that copies only up to but not including the '%'. It's not kosher to change the data from the system library. Wietse