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 9E25999C39 for ; Tue, 14 Nov 2023 14:00:46 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id E9AEF1FE26 for ; Tue, 14 Nov 2023 14:00:14 +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 ; Tue, 14 Nov 2023 14:00:13 +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 25A5A4299C for ; Tue, 14 Nov 2023 14:00:13 +0100 (CET) From: Lukas Wagner To: pve-devel@lists.proxmox.com Date: Tue, 14 Nov 2023 13:59:29 +0100 Message-Id: <20231114130000.565122-22-l.wagner@proxmox.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231114130000.565122-1-l.wagner@proxmox.com> References: <20231114130000.565122-1-l.wagner@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.012 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy 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 T_SCC_BODY_TEXT_LINE -0.01 - Subject: [pve-devel] [PATCH v2 pve-cluster 21/52] notify: adapt to matcher based notification system X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Nov 2023 13:00:46 -0000 This commit removes the target paramters from all notify calls. Also, the default 'mail-to-root' target is not added automatically any more - this target will be added by an dpkg hook in the future. Signed-off-by: Lukas Wagner --- src/PVE/Notify.pm | 101 +++++++++++++++++++++------------------------- 1 file changed, 47 insertions(+), 54 deletions(-) diff --git a/src/PVE/Notify.pm b/src/PVE/Notify.pm index 419bf6d..872eb25 100644 --- a/src/PVE/Notify.pm +++ b/src/PVE/Notify.pm @@ -18,8 +18,6 @@ cfs_register_file( \&write_notification_config, ); -my $mail_to_root_target = 'mail-to-root'; - sub parse_notification_config { my ($filename, $raw) = @_; @@ -48,86 +46,81 @@ sub read_config { my $notification_config = Proxmox::RS::Notify->parse_config($config, $priv_config); - eval { - # This target should always be available... - $notification_config->add_sendmail_endpoint( - $mail_to_root_target, - undef, - ['root@pam'], - undef, - undef, - 'Send mail to root@pam\'s email address' - ); - }; - return $notification_config; } sub write_config { my ($notification_config) = @_; - eval { - # ... but don't persist it to the config. - # Rationale: If it is in the config, the user might think - # that it can be changed by editing the configuration there. - # However, since we always add it in `read_config`, any changes - # will be implicitly overridden by the default. - - # If users want's to change the configuration, they are supposed to - # create a new sendmail endpoint. - $notification_config->delete_sendmail_endpoint($mail_to_root_target); - }; - my ($config, $priv_config) = $notification_config->write_config(); cfs_write_file('notifications.cfg', $config, 1); cfs_write_file('priv/notifications.cfg', $priv_config, 1); } -sub default_target { - return $mail_to_root_target; -} - my $send_notification = sub { - my ($target, $severity, $title, $message, $properties, $config) = @_; + my ($severity, $title, $message, $template_data, $fields, $config) = @_; $config = read_config() if !defined($config); - my ($module, $file, $line) = caller(1); - - # Augment properties with the source code location of the notify call - my $props_with_source = { - %$properties, - source => { - module => $module, - file => $file, - line => $line, - } - }; - - $config->send($target, $severity, $title, $message, $props_with_source); + $config->send($severity, $title, $message, $template_data, $fields); }; sub notify { - my ($target, $severity, $title, $message, $properties, $config) = @_; - $send_notification->($target, $severity, $title, $message, $properties, $config); + my ($severity, $title, $message, $template_data, $fields, $config) = @_; + $send_notification->( + $severity, + $title, + $message, + $template_data, + $fields, + $config + ); } sub info { - my ($target, $title, $message, $properties, $config) = @_; - $send_notification->($target, 'info', $title, $message, $properties, $config); + my ($title, $message, $template_data, $fields, $config) = @_; + $send_notification->( + 'info', + $title, + $message, + $template_data, + $fields, + $config + ); } sub notice { - my ($target, $title, $message, $properties, $config) = @_; - $send_notification->($target, 'notice', $title, $message, $properties, $config); + my ($title, $message, $template_data, $fields, $config) = @_; + $send_notification->( + 'notice', + $title, + $message, + $template_data, + $fields, + $config + ); } sub warning { - my ($target, $title, $message, $properties, $config) = @_; - $send_notification->($target, 'warning', $title, $message, $properties, $config); + my ($title, $message, $template_data, $fields, $config) = @_; + $send_notification->( + 'warning', + $title, + $message, + $template_data, + $fields, + $config + ); } sub error { - my ($target, $title, $message, $properties, $config) = @_; - $send_notification->($target, 'error', $title, $message, $properties, $config); + my ($title, $message, $template_data, $fields, $config) = @_; + $send_notification->( + 'error', + $title, + $message, + $template_data, + $fields, + $config + ); } sub check_may_use_target { -- 2.39.2