Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Apr 2024 09:37:48 GMT
From:      Oleksii Samorukov <samm@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: add1cc6abc1b - main - mail/exilog: fix to be compatible with new exim msgid format
Message-ID:  <202404040937.4349bmW4055944@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by samm:

URL: https://cgit.FreeBSD.org/ports/commit/?id=add1cc6abc1b6c500ee0bf3666cbe5ac54deec96

commit add1cc6abc1b6c500ee0bf3666cbe5ac54deec96
Author:     Oleksii Samorukov <samm@FreeBSD.org>
AuthorDate: 2024-04-04 09:34:53 +0000
Commit:     Oleksii Samorukov <samm@FreeBSD.org>
CommitDate: 2024-04-04 09:37:40 +0000

    mail/exilog: fix to be compatible with new exim msgid format
    
    Recently exim changed msgid format, so tool does not work correctly
    anymore. I tried to contact upstream but no reply so far. Also some
    minor changes to make portlint happy
---
 mail/exilog/Makefile                               | 42 +++++-----
 mail/exilog/files/patch-doc_mysql-db-script.sql    | 92 ++++++++++++++++++++++
 mail/exilog/files/patch-doc_pgsql-db-script.sql    | 65 +++++++++++++++
 mail/exilog/files/patch-exilog__agent.pl           | 32 ++++++++
 mail/exilog/files/patch-exilog__cgi__messages.pm   | 22 ++++++
 mail/exilog/files/patch-exilog__parse.pm           | 20 +++++
 .../{patch-exilog_sql.pm => patch-exilog__sql.pm}  |  6 +-
 mail/exilog/files/patch-exilog_agent.pl            | 15 ----
 mail/exilog/files/patch-ipv6                       | 60 --------------
 9 files changed, 256 insertions(+), 98 deletions(-)

diff --git a/mail/exilog/Makefile b/mail/exilog/Makefile
index 1f7f76923513..d45506b34051 100644
--- a/mail/exilog/Makefile
+++ b/mail/exilog/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	exilog
 PORTVERSION=	0.5
-PORTREVISION=	9
+PORTREVISION=	10
 CATEGORIES=	mail
 MASTER_SITES=	http://duncanthrax.net/exilog/
 
@@ -11,15 +11,10 @@ WWW=		https://duncanthrax.net/exilog/
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-#RUN_DEPENDS=	p5-Net-Netmask>=0:net-mgmt/p5-Net-Netmask
-
-OPTIONS_DEFINE=	DOCS
-
 USES=		perl5 shebangfix
-NO_BUILD=	yes
-NO_ARCH=	yes
+SHEBANG_GLOB=	*.pl
 
-SHEBANG_FILES=	exilog_agent.pl exilog_cgi.pl exilog_cleanup.pl
+RUN_DEPENDS=	p5-Net-Netmask>=0:net-mgmt/p5-Net-Netmask
 
 # Default sql backend
 WITH_SQL_BACKEND?=	mysql
@@ -33,7 +28,7 @@ WITH_POSTGRESQL=	yes
 RUN_DEPENDS+=	p5-DBD-Pg>=0:databases/p5-DBD-Pg
 SERVER=		postgresql
 .else
-BROKEN=	You should specify sql backend using WITH_SQL_BACKEND
+BROKEN=	you should specify sql backend using WITH_SQL_BACKEND
 .endif
 SUB_LIST+=	SERVER=${SERVER}
 .ifndef WITHOUT_WWWDIR
@@ -42,6 +37,8 @@ EXILOGDIR?=	${PREFIX}/www/exilog
 EXILOGDIR?=	${PREFIX}/exilog
 .endif
 
+OPTIONS_DEFINE=	DOCS
+
 .include <bsd.port.pre.mk>
 
 .if defined(WITHOUT_AGENT)
@@ -51,6 +48,11 @@ USE_RC_SUBR=	exilog
 PLIST_SUB+=	AGENT=""
 .endif
 
+NO_BUILD=	yes
+NO_ARCH=	yes
+
+SHEBANG_FILES=	exilog_agent.pl exilog_cgi.pl exilog_cleanup.pl
+
 PLIST_SUB+=	EXILOGDIR="${EXILOGDIR:S,^${PREFIX}/,,}"
 
 PORTDOC_FILES=	doc/Changelog \
@@ -67,20 +69,20 @@ pre-patch:
 	@${REINPLACE_CMD} -e "s,\(use exilog_config\),use lib \'${EXILOGDIR}\'; \1," ${WRKSRC}/exilog_cleanup.pl
 
 do-install:
-	@${MKDIR} ${STAGEDIR}${EXILOGDIR} ${STAGEDIR}${EXILOGDIR}/icons
-	@${CP} ${WRKSRC}/*.pm ${WRKSRC}/*.css ${WRKSRC}/*.js ${STAGEDIR}${EXILOGDIR}
-	@${CP} ${WRKSRC}/icons/* ${STAGEDIR}${EXILOGDIR}/icons
+	${MKDIR} ${STAGEDIR}${EXILOGDIR} ${STAGEDIR}${EXILOGDIR}/icons
+	${CP} ${WRKSRC}/*.pm ${WRKSRC}/*.css ${WRKSRC}/*.js ${STAGEDIR}${EXILOGDIR}
+	${CP} ${WRKSRC}/icons/* ${STAGEDIR}${EXILOGDIR}/icons
 .if !defined(WITHOUT_AGENT)
-	@${INSTALL_SCRIPT} ${WRKSRC}/exilog_agent.pl ${STAGEDIR}${PREFIX}/sbin
+	${INSTALL_SCRIPT} ${WRKSRC}/exilog_agent.pl ${STAGEDIR}${PREFIX}/sbin
 .endif
-	@${INSTALL_SCRIPT} ${WRKSRC}/exilog_cleanup.pl ${STAGEDIR}${PREFIX}/sbin
-	@${INSTALL_SCRIPT} ${WRKSRC}/exilog_cgi.pl ${STAGEDIR}${EXILOGDIR}
-	@${CP} ${WRKSRC}/exilog.conf-example ${STAGEDIR}${PREFIX}/etc/exilog.conf-dist
-	@${CHMOD} 0600 ${STAGEDIR}${PREFIX}/etc/exilog.conf-dist
-	@${CP} ${FILESDIR}/htaccess ${STAGEDIR}${EXILOGDIR}/.htaccess
-	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_SCRIPT} ${WRKSRC}/exilog_cleanup.pl ${STAGEDIR}${PREFIX}/sbin
+	${INSTALL_SCRIPT} ${WRKSRC}/exilog_cgi.pl ${STAGEDIR}${EXILOGDIR}
+	${CP} ${WRKSRC}/exilog.conf-example ${STAGEDIR}${PREFIX}/etc/exilog.conf-dist
+	${CHMOD} 0600 ${STAGEDIR}${PREFIX}/etc/exilog.conf-dist
+	${CP} ${FILESDIR}/htaccess ${STAGEDIR}${EXILOGDIR}/.htaccess
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
 .for docfile in ${PORTDOC_FILES}
-	@${INSTALL_DATA} ${WRKSRC}/${docfile} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/${docfile} ${STAGEDIR}${DOCSDIR}
 .endfor
 
 .include <bsd.port.post.mk>
diff --git a/mail/exilog/files/patch-doc_mysql-db-script.sql b/mail/exilog/files/patch-doc_mysql-db-script.sql
new file mode 100644
index 000000000000..6d1fb9496dcc
--- /dev/null
+++ b/mail/exilog/files/patch-doc_mysql-db-script.sql
@@ -0,0 +1,92 @@
+--- doc/mysql-db-script.sql.orig	2005-07-22 08:57:03 UTC
++++ doc/mysql-db-script.sql
+@@ -15,12 +15,12 @@
+ 
+ CREATE TABLE `deferrals` (
+   `server` varchar(32) NOT NULL default '',
+-  `message_id` varchar(16) binary NOT NULL default '',
++  `message_id` varchar(23) binary NOT NULL default '',
+   `timestamp` bigint(20) NOT NULL default '0',
+   `rcpt` varchar(200) NOT NULL default '',
+   `rcpt_intermediate` varchar(200) default NULL,
+   `rcpt_final` varchar(200) NOT NULL default '',
+-  `host_addr` varchar(15) default NULL,
++  `host_addr` varchar(45) default NULL,
+   `host_dns` varchar(255) default NULL,
+   `tls_cipher` varchar(128) default NULL,
+   `router` varchar(128) default NULL,
+@@ -43,12 +43,12 @@ CREATE TABLE `deferrals` (
+ 
+ CREATE TABLE `deliveries` (
+   `server` varchar(32) NOT NULL default '',
+-  `message_id` varchar(16) binary NOT NULL default '',
++  `message_id` varchar(23) binary NOT NULL default '',
+   `timestamp` bigint(20) NOT NULL default '0',
+   `rcpt` varchar(200) NOT NULL default '',
+   `rcpt_intermediate` varchar(200) default NULL,
+   `rcpt_final` varchar(200) NOT NULL default '',
+-  `host_addr` varchar(15) default NULL,
++  `host_addr` varchar(45) default NULL,
+   `host_dns` varchar(255) default NULL,
+   `tls_cipher` varchar(128) default NULL,
+   `router` varchar(128) default NULL,
+@@ -71,12 +71,12 @@ CREATE TABLE `deliveries` (
+ 
+ CREATE TABLE `errors` (
+   `server` varchar(32) NOT NULL default '',
+-  `message_id` varchar(16) binary NOT NULL default '',
++  `message_id` varchar(23) binary NOT NULL default '',
+   `timestamp` bigint(20) NOT NULL default '0',
+   `rcpt` varchar(200) NOT NULL default '',
+   `rcpt_intermediate` varchar(200) default NULL,
+   `rcpt_final` varchar(200) NOT NULL default '',
+-  `host_addr` varchar(15) default NULL,
++  `host_addr` varchar(45) default NULL,
+   `host_dns` varchar(255) default NULL,
+   `tls_cipher` varchar(128) default NULL,
+   `router` varchar(128) default NULL,
+@@ -99,12 +99,12 @@ CREATE TABLE `errors` (
+ 
+ CREATE TABLE `messages` (
+   `server` varchar(32) NOT NULL default '',
+-  `message_id` varchar(16) binary NOT NULL default '',
++  `message_id` varchar(23) binary NOT NULL default '',
+   `timestamp` bigint(20) default NULL,
+   `msgid` varchar(255) default NULL,
+   `completed` bigint(20) default NULL,
+   `mailfrom` varchar(255) default NULL,
+-  `host_addr` varchar(15) default NULL,
++  `host_addr` varchar(45) default NULL,
+   `host_rdns` varchar(255) default NULL,
+   `host_ident` varchar(255) default NULL,
+   `host_helo` varchar(255) default NULL,
+@@ -132,7 +132,7 @@ CREATE TABLE `messages` (
+ 
+ CREATE TABLE `queue` (
+   `server` varchar(32) NOT NULL default '',
+-  `message_id` varchar(16) binary NOT NULL default '',
++  `message_id` varchar(23) binary NOT NULL default '',
+   `mailfrom` varchar(255) NOT NULL default '',
+   `timestamp` bigint(20) NOT NULL default '0',
+   `num_dsn` int(11) NOT NULL default '0',
+@@ -162,9 +162,9 @@ CREATE TABLE `queue` (
+ 
+ CREATE TABLE `rejects` (
+   `server` varchar(32) NOT NULL default '',
+-  `message_id` varchar(16) binary default NULL,
++  `message_id` varchar(23) binary default NULL,
+   `timestamp` bigint(20) NOT NULL default '0',
+-  `host_addr` varchar(15) NOT NULL default '',
++  `host_addr` varchar(45) NOT NULL default '',
+   `host_rdns` varchar(255) NOT NULL default '',
+   `host_ident` varchar(255) default NULL,
+   `host_helo` varchar(255) default NULL,
+@@ -188,7 +188,7 @@ CREATE TABLE `rejects` (
+ 
+ CREATE TABLE `unknown` (
+   `server` varchar(32) NOT NULL default '',
+-  `message_id` varchar(16) binary NOT NULL default '',
++  `message_id` varchar(23) binary NOT NULL default '',
+   `timestamp` bigint(20) NOT NULL default '0',
+   `line` varchar(255) NOT NULL default '',
+   PRIMARY KEY  (`server`,`message_id`,`timestamp`,`line`),
diff --git a/mail/exilog/files/patch-doc_pgsql-db-script.sql b/mail/exilog/files/patch-doc_pgsql-db-script.sql
new file mode 100644
index 000000000000..ca287f30388c
--- /dev/null
+++ b/mail/exilog/files/patch-doc_pgsql-db-script.sql
@@ -0,0 +1,65 @@
+--- doc/pgsql-db-script.sql.orig	2024-04-04 09:13:29 UTC
++++ doc/pgsql-db-script.sql
+@@ -24,7 +24,7 @@ SET search_path = exilog, pg_catalog;
+ 
+ CREATE TABLE deferrals (
+     server character varying(32) NOT NULL,
+-    message_id character(16) NOT NULL,
++    message_id character(23) NOT NULL,
+     "timestamp" bigint NOT NULL,
+     rcpt character varying(200) NOT NULL,
+     rcpt_intermediate character varying(200),
+@@ -46,7 +46,7 @@ CREATE TABLE deferrals (
+ 
+ CREATE TABLE errors (
+     server character varying(32) NOT NULL,
+-    message_id character(16) NOT NULL,
++    message_id character(23) NOT NULL,
+     "timestamp" bigint NOT NULL,
+     rcpt character varying(200) NOT NULL,
+     rcpt_intermediate character varying(200),
+@@ -68,7 +68,7 @@ CREATE TABLE errors (
+ 
+ CREATE TABLE deliveries (
+     server character varying(32) NOT NULL,
+-    message_id character(16) NOT NULL,
++    message_id character(23) NOT NULL,
+     "timestamp" bigint NOT NULL,
+     rcpt character varying(200) NOT NULL,
+     rcpt_intermediate character varying(200),
+@@ -89,7 +89,7 @@ CREATE TABLE deliveries (
+ 
+ CREATE TABLE queue (
+     server character varying(32) NOT NULL,
+-    message_id character(16) NOT NULL,
++    message_id character(23) NOT NULL,
+     mailfrom character varying(255),
+     "timestamp" bigint,
+     num_dsn integer,
+@@ -111,7 +111,7 @@ CREATE TABLE queue (
+ 
+ CREATE TABLE "unknown" (
+     server character varying(32) NOT NULL,
+-    message_id character(16) NOT NULL,
++    message_id character(23) NOT NULL,
+     "timestamp" bigint NOT NULL,
+     line character varying(255) NOT NULL
+ );
+@@ -124,7 +124,7 @@ CREATE TABLE "unknown" (
+ 
+ CREATE TABLE messages (
+     server character varying(32) NOT NULL,
+-    message_id character(16) NOT NULL,
++    message_id character(23) NOT NULL,
+     "timestamp" bigint,
+     msgid character varying(255),
+     completed bigint,
+@@ -148,7 +148,7 @@ CREATE TABLE messages (
+ 
+ CREATE TABLE rejects (
+     server character varying(32) NOT NULL,
+-    message_id character(16),
++    message_id character(23),
+     "timestamp" bigint NOT NULL,
+     host_addr inet,
+     host_rdns character varying(255),
diff --git a/mail/exilog/files/patch-exilog__agent.pl b/mail/exilog/files/patch-exilog__agent.pl
new file mode 100644
index 000000000000..26fcf26a5c35
--- /dev/null
+++ b/mail/exilog/files/patch-exilog__agent.pl
@@ -0,0 +1,32 @@
+--- exilog_agent.pl.orig	2024-04-04 09:07:54 UTC
++++ exilog_agent.pl
+@@ -48,7 +48,11 @@ unless ($foreground) {
+   };
+ 
+   setsid();
+-
++  my $me = "exilog";
++  my $pidfile = "/var/run/".$me.".pid";
++  open (PID,">$pidfile");
++  print PID $$;
++  close (PID); 
+   # dup STDOUT/ERR
+   open(STDOUT, ">&LOG");
+   open(STDERR, ">&LOG");
+@@ -413,13 +417,13 @@ sub _tail {
+       print STDERR "($$) [exilog_agent:_tail] ($logfile) ".scalar localtime()." ".$_[0];
+     };
+ 
+-  # open the file
+-  open(LOGFILE,"< $logfile");
+-
+   # import parser, open DB connection
+   use exilog_parse;
+   use exilog_sql;
+   reconnect();
++
++  # open the file
++  open(LOGFILE,"< $logfile");
+ 
+   my $curpos;
+   my $fsize = (-s $logfile);
diff --git a/mail/exilog/files/patch-exilog__cgi__messages.pm b/mail/exilog/files/patch-exilog__cgi__messages.pm
new file mode 100644
index 000000000000..33f38545071a
--- /dev/null
+++ b/mail/exilog/files/patch-exilog__cgi__messages.pm
@@ -0,0 +1,22 @@
+--- exilog_cgi_messages.pm.orig	2005-07-26 11:34:47 UTC
++++ exilog_cgi_messages.pm
+@@ -145,8 +145,8 @@ sub _select_host {
+   }
+ 
+   my @queries;
+-  if ($param->{'qs'} =~ /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/) {
+-    # IPv4 address
++  if ($param->{'qs'} =~ /^[0-9A-Fa-f.:]+$/) {
++    # IPv4 or IPv6 address
+     push @queries, { 'table' => 'messages',
+                      'criteria' => { 'host_addr' => $param->{'qs'} } },
+                    { 'table' => 'rejects',
+@@ -352,7 +352,7 @@ sub messages {
+     delete $message->{timestamp};
+ 
+     # Check the message ID.
+-    if ($message->{message_id} !~ /^.{6}\-.{6}\-.{2}$/) {
++    if ($message->{message_id} !~ /^.{6}\-.{6,11}\-.{2,4}$/) {
+       # This is a pre-DATA reject/warning.
+       # Render it as a reject.
+       my $complete = @{ sql_select( 'rejects', ['*'], $message ) }[0];
diff --git a/mail/exilog/files/patch-exilog__parse.pm b/mail/exilog/files/patch-exilog__parse.pm
new file mode 100644
index 000000000000..3e746f9f049c
--- /dev/null
+++ b/mail/exilog/files/patch-exilog__parse.pm
@@ -0,0 +1,20 @@
+--- exilog_parse.pm.orig	2024-04-04 09:14:20 UTC
++++ exilog_parse.pm
+@@ -260,7 +260,7 @@ sub parse_reject_line {
+   # and one with message ID (post-DATA). Try the latter first.
+ 
+   m/()()()()/;
+-  $subj =~ m/(\d{4}-\d\d-\d\d) (\d\d:\d\d:\d\d( [-+]\d{4})?) ([A-Za-z0-9]{6}-[A-Za-z0-9]{6}-[A-Za-z0-9]{2}) (H=.*)$/;
++  $subj =~ m/(\d{4}-\d\d-\d\d) (\d\d:\d\d:\d\d( [-+]\d{4})?) ([A-Za-z0-9]{6}-[A-Za-z0-9]{6,11}-[A-Za-z0-9]{2,4}) (H=.*)$/;
+   my ($date,$tod,$msgid,$line) = ($1,$2,$4,$5);
+   if ($date && $tod && $msgid && $line) {
+     # line with message id
+@@ -297,7 +297,7 @@ sub parse_message_line {
+   return 0 if ($subj =~ /retry time not reached for any host$/);
+ 
+   # Grab date, time and message id
+-  $subj =~ m/(\d{4}-\d\d-\d\d) (\d\d:\d\d:\d\d( [-+]\d{4})?) ([A-Za-z0-9]{6}-[A-Za-z0-9]{6}-[A-Za-z0-9]{2}) (([^ ]+).*)$/;
++  $subj =~ m/(\d{4}-\d\d-\d\d) (\d\d:\d\d:\d\d( [-+]\d{4})?) ([A-Za-z0-9]{6}-[A-Za-z0-9]{6,11}-[A-Za-z0-9]{2,4}) (([^ ]+).*)$/;
+   my ($date,$tod,$msgid,$line,$type) = ($1,$2,$4,$5,$6);
+   $line =~ s/^ +// if (defined($line));
+   unless ($date && $tod && $msgid && $line && $type) {
diff --git a/mail/exilog/files/patch-exilog_sql.pm b/mail/exilog/files/patch-exilog__sql.pm
similarity index 62%
rename from mail/exilog/files/patch-exilog_sql.pm
rename to mail/exilog/files/patch-exilog__sql.pm
index 9f1aa3d1099c..0a22b977a377 100644
--- a/mail/exilog/files/patch-exilog_sql.pm
+++ b/mail/exilog/files/patch-exilog__sql.pm
@@ -1,6 +1,6 @@
---- /usr/local/www/exilog/exilog_sql.pm	Tue Feb 21 16:23:56 2006
-+++ exilog_sql.pm	Wed Aug 24 09:22:29 2005
-@@ -208,7 +208,7 @@
+--- exilog_sql.pm.orig	2005-08-24 14:22:29 UTC
++++ exilog_sql.pm
+@@ -208,7 +208,7 @@ sub _pgsql_sql_queue_add {
  sub _pgsql_sql_optimize {
    my $where = shift || "nothing";
  
diff --git a/mail/exilog/files/patch-exilog_agent.pl b/mail/exilog/files/patch-exilog_agent.pl
deleted file mode 100644
index 4a970498a1a5..000000000000
--- a/mail/exilog/files/patch-exilog_agent.pl
+++ /dev/null
@@ -1,15 +0,0 @@
---- exilog_agent.pl.orig	Sat Jun  4 19:36:03 2005
-+++ exilog_agent.pl	Sat Jun  4 19:39:00 2005
-@@ -46,7 +46,11 @@
-   };
- 
-   setsid();
--
-+  my $me = "exilog";
-+  my $pidfile = "/var/run/".$me.".pid";
-+  open (PID,">$pidfile");
-+  print PID $$;
-+  close (PID); 
-   # dup STDOUT/ERR
-   open(STDOUT, ">&LOG");
-   open(STDERR, ">&LOG");
diff --git a/mail/exilog/files/patch-ipv6 b/mail/exilog/files/patch-ipv6
deleted file mode 100644
index 0d17adbcdbde..000000000000
--- a/mail/exilog/files/patch-ipv6
+++ /dev/null
@@ -1,60 +0,0 @@
---- doc/mysql-db-script.sql.orig	2012-02-06 14:35:52.000000000 +0200
-+++ doc/mysql-db-script.sql	2012-02-06 14:36:11.000000000 +0200
-@@ -20,7 +20,7 @@
-   `rcpt` varchar(200) NOT NULL default '',
-   `rcpt_intermediate` varchar(200) default NULL,
-   `rcpt_final` varchar(200) NOT NULL default '',
--  `host_addr` varchar(15) default NULL,
-+  `host_addr` varchar(45) default NULL,
-   `host_dns` varchar(255) default NULL,
-   `tls_cipher` varchar(128) default NULL,
-   `router` varchar(128) default NULL,
-@@ -48,7 +48,7 @@
-   `rcpt` varchar(200) NOT NULL default '',
-   `rcpt_intermediate` varchar(200) default NULL,
-   `rcpt_final` varchar(200) NOT NULL default '',
--  `host_addr` varchar(15) default NULL,
-+  `host_addr` varchar(45) default NULL,
-   `host_dns` varchar(255) default NULL,
-   `tls_cipher` varchar(128) default NULL,
-   `router` varchar(128) default NULL,
-@@ -76,7 +76,7 @@
-   `rcpt` varchar(200) NOT NULL default '',
-   `rcpt_intermediate` varchar(200) default NULL,
-   `rcpt_final` varchar(200) NOT NULL default '',
--  `host_addr` varchar(15) default NULL,
-+  `host_addr` varchar(45) default NULL,
-   `host_dns` varchar(255) default NULL,
-   `tls_cipher` varchar(128) default NULL,
-   `router` varchar(128) default NULL,
-@@ -104,7 +104,7 @@
-   `msgid` varchar(255) default NULL,
-   `completed` bigint(20) default NULL,
-   `mailfrom` varchar(255) default NULL,
--  `host_addr` varchar(15) default NULL,
-+  `host_addr` varchar(45) default NULL,
-   `host_rdns` varchar(255) default NULL,
-   `host_ident` varchar(255) default NULL,
-   `host_helo` varchar(255) default NULL,
-@@ -164,7 +164,7 @@
-   `server` varchar(32) NOT NULL default '',
-   `message_id` varchar(16) binary default NULL,
-   `timestamp` bigint(20) NOT NULL default '0',
--  `host_addr` varchar(15) NOT NULL default '',
-+  `host_addr` varchar(45) NOT NULL default '',
-   `host_rdns` varchar(255) NOT NULL default '',
-   `host_ident` varchar(255) default NULL,
-   `host_helo` varchar(255) default NULL,
---- exilog_cgi_messages.pm.orig	2012-02-06 14:39:16.000000000 +0200
-+++ exilog_cgi_messages.pm	2012-02-06 14:40:02.000000000 +0200
-@@ -145,8 +145,8 @@
-   }
- 
-   my @queries;
--  if ($param->{'qs'} =~ /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/) {
--    # IPv4 address
-+  if ($param->{'qs'} =~ /^[0-9A-Fa-f.:]+$/) {
-+    # IPv4 or IPv6 address
-     push @queries, { 'table' => 'messages',
-                      'criteria' => { 'host_addr' => $param->{'qs'} } },
-                    { 'table' => 'rejects',



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202404040937.4349bmW4055944>