git: add1cc6abc1b - main - mail/exilog: fix to be compatible with new exim msgid format
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 04 Apr 2024 09:37:48 UTC
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',