]> git.pld-linux.org Git - packages/exim-surbl.git/commitdiff
Release 5. Don't treat blacklisted queries as listed entries. auto/th/exim-surbl-2.3-5
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Thu, 29 Apr 2021 12:48:22 +0000 (14:48 +0200)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Thu, 29 Apr 2021 12:48:22 +0000 (14:48 +0200)
exim-surbl.spec
public_resolvers.patch

index f597378a483bff7e2b97e5d4a2e2171f069c661b..114d41e84b7da462616985ee7214068267e22676 100644 (file)
@@ -1,8 +1,7 @@
-%include       /usr/lib/rpm/macros.perl
 Summary:       Blocking Spam in Exim with URI Block Lists
 Name:          exim-surbl
 Version:       2.3
-Release:       4
+Release:       5
 License:       GPL
 Group:         Networking/Daemons/SMTP
 Source0:       https://www.teuton.org/~ejm/exim_surbl/exim_surbl-%{version}.tar.gz
@@ -10,10 +9,12 @@ Source0:     https://www.teuton.org/~ejm/exim_surbl/exim_surbl-%{version}.tar.gz
 Patch0:                path.patch
 Patch1:                config.patch
 Patch2:                public_resolvers.patch
+Patch3:                ip-meaning.patch
 URL:           https://www.teuton.org/~ejm/exim_surbl/
 Requires:      exim
 Requires:      perl-Config-IniFiles
 Requires:      perl-Net-DNS
+BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -32,6 +33,7 @@ message.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %build
 
index 5a9f2e82097f7b65ad41450ec1a43da36a9a8fbf..448bc914e7a3696b663b32bd206d744db85ff23c 100644 (file)
 diff -urN exim_surbl-2.3.org/exim_surbl.pl exim_surbl-2.3/exim_surbl.pl
---- exim_surbl-2.3.org/exim_surbl.pl   2019-06-26 12:39:29.690473235 +0200
-+++ exim_surbl-2.3/exim_surbl.pl       2019-06-26 12:40:08.281619931 +0200
-@@ -20,6 +20,8 @@
- # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+--- exim_surbl-2.3.org/exim_surbl.pl   2021-04-29 14:34:34.375671999 +0200
++++ exim_surbl-2.3/exim_surbl.pl       2021-04-29 14:34:22.831973042 +0200
+@@ -21,6 +21,27 @@
  # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
+ use Config::IniFiles;
 +use Net::DNS::Resolver;
++use Socket;
 +
++sub getips
++{
++    my @params = @_;
++    my @addresses;
++    my $res = Net::DNS::Resolver->new(
++        nameservers => ['8.8.8.8', '8.8.4.4', '1.1.1.1',  '1.0.0.1'],
++    );
++    my $reply = $res->search($params[0], 'A');
++    if ($reply) {
++        foreach my $rr ($reply->answer) {
++            next unless $rr->type eq "A";
++            #print $rr->address, "\n";
++            push @addresses, inet_aton($rr->address);
++
++        }
++    }
++    return @addresses;
++}
  sub surblspamcheck
  {
-@@ -91,7 +93,17 @@
+@@ -93,7 +114,7 @@
          # the return message for the SURBL lookup.
          my @params = @_;
          my $surbldomain = ".multi.surbl.org";
 -        @dnsbladdr=gethostbyname($params[0].$surbldomain);
-+      my $res = Net::DNS::Resolver->new(
-+              nameservers => ['8.8.8.8', '8.8.4.4', '1.1.1.1',  '1.0.0.1'],
-+      );
-+      my $reply = $res->search(@params[0].$surbldomain);
-+      if ($reply) {
-+              foreach my $rr ($reply->answer) {
-+                      next unless $rr->type eq "A";
-+                      print $rr->address, "\n";
-+                      @dnsbladdr = $rr->address;
-+              }
-+      }
++        @dnsbladdr=getips($params[0].$surbldomain);
+         # If gethostbyname() returned anything, build a return message.
+         $return_string = "";
+         if (scalar(@dnsbladdr) != 0) {
+@@ -127,12 +148,12 @@
+         # the return message for the URIBL check.
+         my @params = @_;
+         my $uribldomain = ".black.uribl.com";
+-        @dnsbladdr=gethostbyname($params[0].$uribldomain);
++        @dnsbladdr=getips($params[0].$uribldomain);
+         # If gethostbyname() returned anything, build a return message.
+         $return_string = "";
+         if (scalar(@dnsbladdr) != 0) {
+             $return_string = "Blacklisted URL in message. (".$params[0].") in";
+-            @ipaddr = unpack('C4',($dnsbladdr[4])[0]);
++            @ipaddr = unpack('C4',($dnsbladdr[0])[0]);
+             if ($ipaddr[3] & 8) {
+                 $return_string .= " [red]";
+             }
+@@ -152,7 +173,7 @@
+         # the return message for the Spamhaus DBL check.
+         my @params = @_;
+         my $dbldomain = ".dbl.spamhaus.org";
+-        @dnsbladdr=gethostbyname($params[0].$dbldomain);
++        @dnsbladdr=getips($params[0].$dbldomain);
          # If gethostbyname() returned anything, build a return message.
          $return_string = "";
          if (scalar(@dnsbladdr) != 0) {
+diff -urN exim_surbl-2.3.org/public_resolvers.patch exim_surbl-2.3/public_resolvers.patch
+--- exim_surbl-2.3.org/public_resolvers.patch  1970-01-01 01:00:00.000000000 +0100
++++ exim_surbl-2.3/public_resolvers.patch      2021-04-29 14:20:15.018469445 +0200
+@@ -0,0 +1,64 @@
++diff -urN exim_surbl-2.3.org/exim_surbl.pl exim_surbl-2.3/exim_surbl.pl
++--- exim_surbl-2.3.org/exim_surbl.pl  2012-03-07 04:16:45.000000000 +0100
+++++ exim_surbl-2.3/exim_surbl.pl      2021-04-29 14:20:06.491533142 +0200
++@@ -19,6 +19,27 @@
++ # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++ # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+++use Net::DNS::Resolver;
+++use Socket;
+++
+++sub getips
+++{
+++    my @params = @_;
+++    my @addresses;
+++    my $res = Net::DNS::Resolver->new(
+++        nameservers => ['8.8.8.8', '8.8.4.4', '1.1.1.1',  '1.0.0.1'],
+++    );
+++    my $reply = $res->search($params[0], 'A');
+++    if ($reply) {
+++        foreach my $rr ($reply->answer) {
+++            next unless $rr->type eq "A";
+++            #print $rr->address, "\n";
+++            push @addresses, inet_aton($rr->address);
+++            return $rr->address;
+++        }
+++    }
+++    return @addresses;
+++}
++ 
++ sub surblspamcheck
++ {
++@@ -91,7 +112,7 @@
++         # the return message for the SURBL lookup.
++         my @params = @_;
++         my $surbldomain = ".multi.surbl.org";
++-        @dnsbladdr=gethostbyname($params[0].$surbldomain);
+++        @dnsbladdr=getips($params[0].$surbldomain);
++         # If gethostbyname() returned anything, build a return message.
++         $return_string = "";
++         if (scalar(@dnsbladdr) != 0) {
++@@ -125,12 +146,12 @@
++         # the return message for the URIBL check.
++         my @params = @_;
++         my $uribldomain = ".black.uribl.com";
++-        @dnsbladdr=gethostbyname($params[0].$uribldomain);
+++        @dnsbladdr=getips($params[0].$uribldomain);
++         # If gethostbyname() returned anything, build a return message.
++         $return_string = "";
++         if (scalar(@dnsbladdr) != 0) {
++             $return_string = "Blacklisted URL in message. (".$params[0].") in";
++-            @ipaddr = unpack('C4',($dnsbladdr[4])[0]);
+++            @ipaddr = unpack('C4',($dnsbladdr[0])[0]);
++             if ($ipaddr[3] & 8) {
++                 $return_string .= " [red]";
++             }
++@@ -150,7 +171,7 @@
++         # the return message for the Spamhaus DBL check.
++         my @params = @_;
++         my $dbldomain = ".dbl.spamhaus.org";
++-        @dnsbladdr=gethostbyname($params[0].$dbldomain);
+++        @dnsbladdr=getips($params[0].$dbldomain);
++         # If gethostbyname() returned anything, build a return message.
++         $return_string = "";
++         if (scalar(@dnsbladdr) != 0) {
This page took 0.108141 seconds and 4 git commands to generate.