Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information
Showing
9 changed files
with
256 additions
and
98 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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`), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) { |
6 changes: 3 additions & 3 deletions
6
mail/exilog/files/patch-exilog_sql.pm → mail/exilog/files/patch-exilog__sql.pm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.