add IPv6 support in connect_callback

maintainer timeout

PR:		202248
Submitted by:	fbsd opal com
MFH:		2015Q4
Sponsored by:	Absolight
This commit is contained in:
Mathieu Arnold 2015-10-28 12:57:22 +00:00
parent 6d2a1bb0a1
commit 932759e8a0
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=400383
3 changed files with 32 additions and 1 deletions

View file

@ -3,7 +3,7 @@
PORTNAME= Sendmail-Milter
PORTVERSION= 0.18
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= mail perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-

View file

@ -0,0 +1,17 @@
--- Milter.pm.orig 2001-10-10 04:21:22 UTC
+++ Milter.pm
@@ -423,10 +423,10 @@ calls. See B<Milter Context Functions> f
=item B<connect_callback> CTX, HOSTNAME, SOCKADDR_IN
Invoked on each connection. HOSTNAME is the host domain name, as determined by
-a reverse lookup on the host address. SOCKADDR_IN is the AF_INET portion of the
-host address, as determined by a B<getpeername(2)> syscall on the SMTP
-socket. You can use B<Socket::unpack_sockaddr_in()> to unpack it into a port
-and IP address.
+a reverse lookup on the host address. SOCKADDR_IN is the AF_INET or AF_INET6
+portion of the host address, as determined by a B<getpeername(2)> syscall on
+the SMTP socket. You can use B<Socket::unpack_sockaddr_in()> or
+B<Socket6::unpack_sockaddr_in6()> to unpack it into a port and IP address.
This callback should return one of the B<SMFIS_*> result codes.

View file

@ -0,0 +1,14 @@
--- callbacks.c.orig 2000-07-19 06:20:36 UTC
+++ callbacks.c
@@ -490,6 +490,11 @@ callback_ssockaddr(pTHX_ SV *callback, S
XPUSHs(sv_2mortal(newSVpvn((char *)arg_sa,
sizeof(_SOCK_ADDR))));
}
+ else if (arg_sa->sa_family == AF_INET6)
+ {
+ XPUSHs(sv_2mortal(newSVpvn((char *)arg_sa,
+ sizeof(struct sockaddr_in6))));
+ }
else
{
XPUSHs(sv_2mortal(newSVsv(&PL_sv_undef)));