From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:55288) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gzUNQ-00068E-Qo for guix-patches@gnu.org; Thu, 28 Feb 2019 17:42:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gzUNP-0006n3-Ma for guix-patches@gnu.org; Thu, 28 Feb 2019 17:42:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:42075) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gzUNP-0006mk-HZ for guix-patches@gnu.org; Thu, 28 Feb 2019 17:42:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gzUNP-0002hE-Ea for guix-patches@gnu.org; Thu, 28 Feb 2019 17:42:03 -0500 Subject: [bug#33836] [PATCH 2/2] services: zabbix-front-end: Show location in messages. Resent-Message-ID: From: Oleg Pykhalov Date: Fri, 1 Mar 2019 01:40:01 +0300 Message-Id: <20190228224001.27182-3-go.wigust@gmail.com> In-Reply-To: <20190228224001.27182-1-go.wigust@gmail.com> References: <87k1i0itaj.fsf@gnu.org> <20190228224001.27182-1-go.wigust@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 33836@debbugs.gnu.org * gnu/services/monitoring.scm (zabbix-front-end-config): Show location in messages. --- gnu/services/monitoring.scm | 57 +++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm index 685641f110..101222bf2e 100644 --- a/gnu/services/monitoring.scm +++ b/gnu/services/monitoring.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Sou Bunnbu ;;; Copyright © 2018 Gábor Boskovits -;;; Copyright © 2018 Oleg Pykhalov +;;; Copyright © 2018, 2019 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,7 +29,8 @@ #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix records) - #:use-module ((guix ui) #:select (display-hint)) + #:use-module (guix utils) + #:use-module ((guix ui) #:select (display-hint G_)) #:use-module (ice-9 match) #:use-module (ice-9 rdelim) #:use-module (srfi srfi-26) @@ -509,13 +510,12 @@ create it manually.") (number 10051) "Zabbix server port.")) -(define zabbix-front-end-config - (match-lambda - (($ - _ db-host db-port db-name db-user db-password db-secret-file - zabbix-host zabbix-port) - (mixed-text-file "zabbix.conf.php" - "\ +(define (zabbix-front-end-config config) + (match-record config + (%location db-host db-port db-name db-user db-password db-secret-file + zabbix-host zabbix-port) + (mixed-text-file "zabbix.conf.php" + "\ string db-port) "'; $DB['DATABASE'] = '" db-name "'; $DB['USER'] = '" db-user "'; -$DB['PASSWORD'] = '" (if (string-null? db-password) - (if (string-null? db-secret-file) - (raise (condition - (&message - (message "\ -you must provide either 'db-secret-file' or 'db-password'")))) - (string-trim-both - (with-input-from-file db-secret-file - read-string))) - (begin - (display-hint "\ -Consider using @code{db-secret-file} instead of @code{db-password} and unset -@code{db-password} for security in @code{zabbix-front-end-configuration}.") - db-password)) "'; +$DB['PASSWORD'] = '" (let ((file (location-file %location)) + (line (location-line %location)) + (column (location-column %location))) + (if (string-null? db-password) + (if (string-null? db-secret-file) + (raise (make-compound-condition + (condition + (&message + (message + (format #f "no '~A' or '~A' field in your '~A' record" + 'db-secret-file 'db-password + 'zabbix-front-end-configuration)))) + (condition + (&error-location + (location %location))))) + (string-trim-both + (with-input-from-file db-secret-file + read-string))) + (begin + (display-hint (format #f (G_ "~a:~a:~a: ~a: +Consider using @code{db-secret-file} instead of @code{db-password} for better +security.") file line column 'zabbix-front-end-configuration)) + db-password))) "'; // Schema name. Used for IBM DB2 and PostgreSQL. $DB['SCHEMA'] = ''; @@ -548,7 +557,7 @@ $ZBX_SERVER_PORT = '" (number->string zabbix-port) "'; $ZBX_SERVER_NAME = ''; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG; -")))) +"))) (define %maintenance.inc.php ;; Empty php file to allow us move zabbix-frontend configs to ‘/etc/zabbix’ -- 2.20.1