From: Tobias Geerinckx-Rice Date: Fri, 01 Mar 2019 20:51:32 +0100 Subject: [PATCH] dkimproxy: Add IPv6 support. The following patch was copied verbatim from Debian[0]. [0]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656041 --- --- dkimproxy-1.4.1.orig/lib/MSDW/SMTP/Server.pm +++ dkimproxy-1.4.1/lib/MSDW/SMTP/Server.pm @@ -11,7 +11,7 @@ # Written by Bennett Todd package MSDW::SMTP::Server; -use IO::Socket; +use IO::Socket::INET6; use IO::File; =head1 NAME @@ -88,14 +88,14 @@ =item new(interface => $interface, port => $port); The interface and port to listen on must be specified. The interface -must be a valid numeric IP address (0.0.0.0 to listen on all -interfaces, as usual); the port must be numeric. If this call -succeeds, it returns a server structure with an open -IO::Socket::INET in it, ready to listen on. If it fails it dies, so -if you want anything other than an exit with an explanatory error -message, wrap the constructor call in an eval block and pull the -error out of $@ as usual. This is also the case for all other -methods; they succeed or they die. +must be a valid numeric IPv4 or IPv6 address (0.0.0.0 or :: to listen +on all interfaces, as usual); the port must be numeric. If this call +succeeds, it returns a server structure with an open IO::Socket::INET6 +in it, ready to listen on. If it fails it dies, so if you want +anything other than an exit with an explanatory error message, wrap +the constructor call in an eval block and pull the error out of $@ as +usual. This is also the case for all other methods; they succeed or +they die. =item accept([debug => FD]); @@ -154,7 +154,7 @@ my ($this, @opts) = @_; my $class = ref($this) || $this; my $self = bless { @opts }, $class; - $self->{sock} = IO::Socket::INET->new( + $self->{sock} = IO::Socket::INET6->new( LocalAddr => $self->{interface}, LocalPort => $self->{port}, Proto => 'tcp', only in patch2: unchanged: --- dkimproxy-1.4.1.orig/scripts/dkimproxy.out +++ dkimproxy-1.4.1/scripts/dkimproxy.out @@ -314,17 +314,11 @@ { my $self = shift; - # try to determine peer's address - use Socket; - my $peersockaddr = getpeername(STDOUT); - my ($port, $iaddr) = sockaddr_in($peersockaddr); - $ENV{REMOTE_ADDR} = inet_ntoa($iaddr); - # initialize syslog eval { openlog("dkimproxy.out", "perror,pid,ndelay", "mail"); - syslog("debug", '%s', "connect from $ENV{REMOTE_ADDR}"); + syslog("debug", '%s', "connect from $self->{server}->{peeraddr}"); }; if (my $E = $@) { 87429683d2eafdbfc0caac96&showmsg=1'>Expand)Author 2019-07-07gnu: ninja: Python is a regular input....Ninja uses Python at run time, so it must not be a native input. * gnu/packages/ninja.scm (ninja)[native-inputs]: Change to ... [inputs]: ... this. Marius Bakke 2019-07-07gnu: ninja: Build against Python 3....* gnu/packages/ninja.scm (ninja)[native-inputs]: Change PYTHON-2 to PYTHON-WRAPPER. Marius Bakke 2019-02-10gnu: ninja: Update to 1.9.0....* gnu/packages/ninja.scm (ninja): Update to 1.9.0. Marius Bakke 2018-02-26gnu: ninja: Patch /bin/echo in the correct file....This is a follow-up to commit d0de4c40e24ee52e4382ee2ac82088932ab49099. * gnu/packages/ninja.scm (ninja)[arguments]: Adjust substitution. Marius Bakke 2018-02-26gnu: ninja: Patch hard-coded /bin/echo reference....Solves a test failure on systems where open file limits are high enough for this test to run. See <https://bugs.gnu.org/30601>. * gnu/packages/ninja.scm (ninja)[arguments]: Add substitution. Marius Bakke 2018-01-19gnu: ninja: Update to 1.8.2....* gnu/packages/ninja.scm (ninja): Update to 1.8.2. [source]: Remove upstreamed patch. [arguments]: Substitute INVOKE for SYSTEM*. Use standard indentation. * gnu/packages/patches/ninja-zero-mtime.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Tobias Geerinckx-Rice