From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 6FD508DBE3 for ; Wed, 9 Nov 2022 19:28:46 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 4A9771F74F for ; Wed, 9 Nov 2022 19:28:16 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Wed, 9 Nov 2022 19:28:14 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 6925943667 for ; Wed, 9 Nov 2022 19:28:14 +0100 (CET) From: Stoiko Ivanov To: pmg-devel@lists.proxmox.com Date: Wed, 9 Nov 2022 19:27:25 +0100 Message-Id: <20221109182728.629576-3-s.ivanov@proxmox.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20221109182728.629576-1-s.ivanov@proxmox.com> References: <20221109182728.629576-1-s.ivanov@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.173 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [reportspam.pm, counter.pm, ruledb.pm, attach.pm] Subject: [pmg-devel] [PATCH pmg-api 2/5] ruledb: add deprecation warnings for unused actions X-BeenThere: pmg-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Mail Gateway development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Nov 2022 18:28:46 -0000 * ReportSpam * Attach * Counter are all still present since (at least) the release of PMG 5.0, but were never exposed in the API/GUI. All of them in their current form don't seem to fit well nowadays, or their functionality was taken over by some other Action: * Attach - the functionality is currently present in the Notify action (attach original mail) * Counter - without a matching What object simply increasing a counter by one in the database serves no purpose * ReportSpam - sending potentially sensitive mail automatically to the public SpamAssassin project does not seem to fit well nowadays Instead of dropping them right away - this patch adds logging when they are encountered while loading or when they are run, to keep backwards-compatibility for users who have very long-running PMG instances (not sure if the actions were ever used in the pre git-days of PMG) Signed-off-by: Stoiko Ivanov --- src/PMG/RuleDB.pm | 14 +++++++++++++- src/PMG/RuleDB/Attach.pm | 7 +++++++ src/PMG/RuleDB/Counter.pm | 5 +++++ src/PMG/RuleDB/ReportSpam.pm | 5 +++++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/PMG/RuleDB.pm b/src/PMG/RuleDB.pm index faed404..895acc6 100644 --- a/src/PMG/RuleDB.pm +++ b/src/PMG/RuleDB.pm @@ -289,7 +289,14 @@ sub load_objectgroups { sub get_object { my ($self, $otype) = @_; - my $obj; + my $obj; + + # FIXME: remove deprecated types and files with PMG 8.0 + my $deprecated_types = { + 4004 => "Attach", + 4008 => "ReportSpam", + 4999 => "Counter", + }; # WHO OBJECTS if ($otype == PMG::RuleDB::Domain::otype()) { @@ -386,9 +393,14 @@ sub get_object { die "proxmox: unknown object type: ERROR"; } + if ( grep( $_ == $otype, keys %$deprecated_types)) { + syslog('warning', "proxmox: deprecated object of type %s found!", + $deprecated_types->{$otype}); + } return $obj; } +# FIXME: remove with PMG 8.0 sub load_counters_data { my ($self) = @_; diff --git a/src/PMG/RuleDB/Attach.pm b/src/PMG/RuleDB/Attach.pm index 78b2749..cdb9d89 100644 --- a/src/PMG/RuleDB/Attach.pm +++ b/src/PMG/RuleDB/Attach.pm @@ -1,10 +1,14 @@ package PMG::RuleDB::Attach; +# FIXME: remove with PMG 8.0 + use strict; use warnings; use DBI; use Digest::SHA; +use PVE::SafeSyslog; + use PMG::Utils; use PMG::ModGroup; use PMG::RuleDB::Object; @@ -84,6 +88,9 @@ sub execute { my ($self, $queue, $ruledb, $mod_group, $targets, $msginfo, $vars, $marks) = @_; + syslog('warning', "%s: deprecated action 'Attach' will be removed with PMG 8.0.", + $queue->{logid},); + my $subgroups = $mod_group->subgroups($targets); foreach my $ta (@$subgroups) { diff --git a/src/PMG/RuleDB/Counter.pm b/src/PMG/RuleDB/Counter.pm index 9872ab0..6c7721b 100644 --- a/src/PMG/RuleDB/Counter.pm +++ b/src/PMG/RuleDB/Counter.pm @@ -1,5 +1,7 @@ package PMG::RuleDB::Counter; +# FIXME: remove with PMG 8.0 + use strict; use warnings; use DBI; @@ -87,6 +89,9 @@ sub execute { my ($self, $queue, $ruledb, $mod_group, $targets, $msginfo, $vars, $marks) = @_; + syslog('warning', "%s: deprecated action 'Counter' will be removed with PMG 8.0.", + $queue->{logid},); + eval { $ruledb->{dbh}->begin_work; diff --git a/src/PMG/RuleDB/ReportSpam.pm b/src/PMG/RuleDB/ReportSpam.pm index e0ac004..c8ae9bd 100644 --- a/src/PMG/RuleDB/ReportSpam.pm +++ b/src/PMG/RuleDB/ReportSpam.pm @@ -1,5 +1,7 @@ package PMG::RuleDB::ReportSpam; +# FIXME: remove with PMG 8.0 + use strict; use warnings; use DBI; @@ -85,6 +87,9 @@ sub execute { my ($self, $queue, $ruledb, $mod_group, $targets, $msginfo, $vars, $marks) = @_; + syslog('warning', "%s: deprecated action 'Attach' will be removed with PMG 8.0.", + $queue->{logid},); + my $rulename = $vars->{RULE} // 'unknown'; my $subgroups = $mod_group->subgroups($targets); -- 2.30.2