From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id sNiEJL8k6GAcUwEAgWs5BA (envelope-from ) for ; Fri, 09 Jul 2021 12:28:15 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id 4EA3IL8k6GBpUQAAB5/wlQ (envelope-from ) for ; Fri, 09 Jul 2021 10:28:15 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 7119F2203E for ; Fri, 9 Jul 2021 12:28:14 +0200 (CEST) Received: from localhost ([::1]:59914 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m1njx-00034D-B9 for larch@yhetil.org; Fri, 09 Jul 2021 06:28:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59076) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1njm-00032J-7G for guix-patches@gnu.org; Fri, 09 Jul 2021 06:28:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46839) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m1njl-0000YB-V6 for guix-patches@gnu.org; Fri, 09 Jul 2021 06:28:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1m1njl-000846-OT for guix-patches@gnu.org; Fri, 09 Jul 2021 06:28:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#49486] [PATCH] gnu: msmtp: Make it configurable with envrinoment variables Resent-From: Andrew Tropin Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 09 Jul 2021 10:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 49486 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 49486@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.162582642330933 (code B ref -1); Fri, 09 Jul 2021 10:28:01 +0000 Received: (at submit) by debbugs.gnu.org; 9 Jul 2021 10:27:03 +0000 Received: from localhost ([127.0.0.1]:58385 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m1nio-00082r-NH for submit@debbugs.gnu.org; Fri, 09 Jul 2021 06:27:03 -0400 Received: from lists.gnu.org ([209.51.188.17]:47212) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m1nik-00082Q-9r for submit@debbugs.gnu.org; Fri, 09 Jul 2021 06:27:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58884) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1nik-0002tm-2u for guix-patches@gnu.org; Fri, 09 Jul 2021 06:26:58 -0400 Received: from mail-lf1-x133.google.com ([2a00:1450:4864:20::133]:40825) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m1nid-0008Sr-81 for guix-patches@gnu.org; Fri, 09 Jul 2021 06:26:57 -0400 Received: by mail-lf1-x133.google.com with SMTP id q18so22363343lfc.7 for ; Fri, 09 Jul 2021 03:26:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=trop-in.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version; bh=mU2Tq3RFk9liiJPo4DgNADLvJleW388TutOy0U6EyKM=; b=exB9e1dG8ZikBUViBYPNBYgI8qOmvyR8htf/hNToVl2608Bs4UPXRX2NA0dxi6tVZG vjIyV284JtJl5Rx/4+QGHA5HnWBqEgto1+P9DpMck8r22ACXbLUt6jCvJfoYgfWWb6Uh U22tto+IrLbxqaMIm6py85rovHBUfXOz/5JmqAqVs3IJsS9DXWsLUpT8EfNItWDK7KjG nC2oDKselvZxjb6/VDQ1ol7PLoCwQxpJRMWp67HhqDYjbp6+SoTM2mJiA8wky/Yycavn kGk4cJmr41vRo5hozQnTu7KyC28iSiggBCkFXjqQtmyDoF2v65pj7NF6p7Za1v/8VNEs EEEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=mU2Tq3RFk9liiJPo4DgNADLvJleW388TutOy0U6EyKM=; b=PQwWEUrHGoIMYrkkY0484SeChCYEKOx6iq2KK383M2HruqGAT4LzXtlG0lXrflWunk 7xEmzDTO5nEbX/sV9C3e05Vha9zX0HeFO+yfwDs4CpYBMM8UuvF39BYuIlU6SbcVlgbQ HNMdqTHpoI/lLqnS+4FjYGODN1aWlQHf+2HAOjNJxb010AgEvU/pXerR42itfSyKKWS3 sxjb8uLe1vdUwUvoM2eq2BUTuW78S+unE46LCnk4FdSAL+J46VRiN0p4+/TQYAqMHho5 p7Zbc68MC07iHHGxxLyMFdOHfXPR79tAsR23qCFqlEBPBM3EhVhYvwznMRT6FFN3RFa4 r6+Q== X-Gm-Message-State: AOAM532v6kyjmv0CCqftE+FwctWzkhdHJVBJMNLeIyRYz9fHcYGSu80L Lxc8HecKEGGoXb4jDdTOj6F4kGO99iu2tg== X-Google-Smtp-Source: ABdhPJxwedcARSOXKuDT5fWdsrQ5dkjwM9oxVvlHLupJ2jhWA9SlpY+r8nlDYchBCyoIcn0R7mO7qg== X-Received: by 2002:a19:dc08:: with SMTP id t8mr1244202lfg.154.1625826407345; Fri, 09 Jul 2021 03:26:47 -0700 (PDT) Received: from localhost (109-252-117-164.nat.spd-mgts.ru. [109.252.117.164]) by smtp.gmail.com with ESMTPSA id i11sm430115lfd.147.2021.07.09.03.26.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jul 2021 03:26:46 -0700 (PDT) From: Andrew Tropin Date: Fri, 09 Jul 2021 13:26:30 +0300 Message-ID: <877dhzzstl.fsf@trop.in> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: none client-ip=2a00:1450:4864:20::133; envelope-from=andrew@trop.in; helo=mail-lf1-x133.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1625826494; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:list-id:list-help:list-unsubscribe:list-subscribe: list-post:dkim-signature; bh=mU2Tq3RFk9liiJPo4DgNADLvJleW388TutOy0U6EyKM=; b=EkMGTO+/Twyhnu2aL/3NGd403Q6DSlW7xlSMi34g0fHIjtaK4lcj+dbIdJTX45nsSn5o9S JlzCd0sGgRezlyK/VvaWOotGGWM2oNQFEN03uE3BAFx2YBiAu15e9M1WVG13492eS7GoJ5 e7HGpORLFvDxSKovpsFpLT1wh67PKTaBhwWoKd7G8bBd5ZKAGzg52xyvi5XE7SzYg0Tg8a rcfAoANbiJPXgiwHztP0IyFSDaMyURnGamBn2kemweQfBVwWrcaQk6VdRCHHGvjNX2gfFg Bv5xx4iAtpY640hTPcLHDWaoYZnX8H0jTndPPl4nn5Bie9Ob7eSv4VrsV2jqeQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1625826494; a=rsa-sha256; cv=none; b=dLNU8B+wJyCGxmufnd3R0iHcCd5NCcLFIUD2sRM0H4nICsHr0FDWOR9sxuRo/A8CkY4E9b VHlCF3+DUDSHz/fOxShktXl6O5KkoA0xemhXlUw7Id9ppwBrQW4WyDCGLYjA0ngY8wpdJT xWtC4g6VBNdyQlh5z5unAwjsXEefFZpCzS+hoUCuGnwnk4KO3M8xrVG5O9qFEiJqtFOcU2 GT+8oxg6FYI8ogedm6Nett49BvhyYhNuzVkMld8UeNzq/N/f8Ot1lhf5C/AagdBFIioNPL 7mqROSSO1ceG7dSYosbP9qL231f809zwxWSLPyAbNlsXzzBKR5f7gNmpmqWXhQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=trop-in.20150623.gappssmtp.com header.s=20150623 header.b=exB9e1dG; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -3.50 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=trop-in.20150623.gappssmtp.com header.s=20150623 header.b=exB9e1dG; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 7119F2203E X-Spam-Score: -3.50 X-Migadu-Scanner: scn1.migadu.com X-TUID: 1M8Z6gRfHQgA --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-gnu-msmtp-Make-it-configurable-with-envrinoment-vari.patch Content-Transfer-Encoding: quoted-printable From=2038987bffcd1088315c6414d6c6141140c3969e6b Mon Sep 17 00:00:00 2001 From: Andrew Tropin Date: Fri, 9 Jul 2021 13:20:10 +0300 Subject: [PATCH] gnu: msmtp: Make it configurable with envrinoment variables Add the support of following environment variables: MSMTPQ_QUEUE_DIR MSMTPQ_LOG MSMTPQ_QUIET MSMTPQ_CONN_TEST Add new --enqueue option, which forces to enqueue message instead of attempting to send it. Make msmtpq quite by default for compatibility with emacs and use ping inst= ead of netcat for connection test. Use binary absolute path in msmtpq and msmtp-queue scripts instead of relyi= ng on the binary being present in the $PATH. =2D-- gnu/packages/mail.scm | 19 +++++-- .../patches/msmtpq-add-enqueue-option.patch | 40 +++++++++++++ .../patches/msmtpq-add-env-variables.patch | 56 +++++++++++++++++++ 3 files changed, 111 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/msmtpq-add-enqueue-option.patch create mode 100644 gnu/packages/patches/msmtpq-add-env-variables.patch diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 74e3bda866..ed898d91d0 100644 =2D-- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1677,7 +1677,10 @@ addons which can add many functionalities to the bas= e client.") (uri (string-append "https://marlam.de/msmtp/releases/" "/msmtp-" version ".tar.xz")) (sha256 =2D (base32 "1klrj2a77671xb6xa0a0iyszhjb7swxhmzpzd4qdybmzkrixqr92"))= )) + (base32 "1klrj2a77671xb6xa0a0iyszhjb7swxhmzpzd4qdybmzkrixqr92")) + (patches + (search-patches "msmtpq-add-enqueue-option.patch" + "msmtpq-add-env-variables.patch")))) (build-system gnu-build-system) (inputs `(("libsecret" ,libsecret) @@ -1704,10 +1707,18 @@ addons which can add many functionalities to the ba= se client.") (install-file (string-append msmtpq "/msmtp-queue") bin) (install-file (string-append msmtpq "/README.msmtpq") doc) (install-file "scripts/vim/msmtp.vim" vimfiles) =2D ;; Don't rely on netcat being in the PATH to test for a =2D ;; connection, instead look up and ping debian.org. + (substitute* (string-append bin "/msmtp-queue") + (("^exec msmtpq") (format #f "exec ~a/msmtpq" bin))) (substitute* (string-append bin "/msmtpq") =2D (("EMAIL_CONN_TEST=3Dn") "EMAIL_CONN_TEST=3Dp")) + (("^MSMTP=3Dmsmtp") (format #f "MSMTP=3D~a/msmtp" bin)) + ;; Make msmtpq quite by default, because Emacs treat outp= ut + ;; as an indicator of error. Logging still works as it w= as. + (("^EMAIL_QUEUE_QUIET=3D\\$\\{MSMTPQ_QUIET:-\\}") + "EMAIL_QUEUE_QUIET=3D${MSMTPQ_QUIET:-t}") + ;; Use ping test instead of netcat by default, because ne= tcat + ;; is optional and can be missing. + (("^EMAIL_CONN_TEST=3D\\$\\{MSMTPQ_CONN_TEST:-n\\}") + "EMAIL_CONN_TEST=3D${MSMTPQ_CONN_TEST:-p}")) #t)))))) (synopsis "Simple and easy to use SMTP client with decent sendmail compatibilit= y") diff --git a/gnu/packages/patches/msmtpq-add-enqueue-option.patch b/gnu/pac= kages/patches/msmtpq-add-enqueue-option.patch new file mode 100644 index 0000000000..275ea6d04c =2D-- /dev/null +++ b/gnu/packages/patches/msmtpq-add-enqueue-option.patch @@ -0,0 +1,40 @@ +From a1be5a9b5ebaa3941f4cb08f99482bccf52a3082 Mon Sep 17 00:00:00 2001 +From: Andrew Tropin +Date: Fri, 9 Jul 2021 08:30:00 +0300 +Subject: [PATCH] msmtpq: Add --enqueue option + +--- + scripts/msmtpq/msmtpq | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq +index fbf38f9..0f127f0 100755 +--- a/scripts/msmtpq/msmtpq ++++ b/scripts/msmtpq/msmtpq +@@ -520,11 +520,22 @@ if [ ! "$1" =3D '--q-mgmt' ] ; then # msmtpq - se= ndmail mode + # write mail body text to queue .mail file + cat > "${FQP}.mail" || \ + log -e "$?" "creating mail body file [ ${FQP}.mail ] : failed" # test= for error ++ # remove first argument, when --engueue provided ++ if [ "$1" =3D '--enqueue' ] ; then ++ enqueue=3Dt ++ shift ++ fi + # write msmtp command line to queue .msmtp file + echo "$@" > "${FQP}.msmtp" || \ + log -e "$?" "creating msmtp cmd line file { $* }"\ + " to [ ${ID}.msmtp ] : failed" # test for error +- send_mail "$@" # send the mail if possible, queue i= t if not ++ ++ if [ -n "$enqueue" ] ; then ++ enqueue_mail "$@" # always enqueue the mail ++ else ++ send_mail "$@" # send the mail if possible, queue i= t if not ++ fi ++ + lock_queue -u # unlock here + else # msmtp-queue - queue management mode + shift # trim off first (--q-mgmt) arg +--=20 +2.32.0 + diff --git a/gnu/packages/patches/msmtpq-add-env-variables.patch b/gnu/pack= ages/patches/msmtpq-add-env-variables.patch new file mode 100644 index 0000000000..d0a2813812 =2D-- /dev/null +++ b/gnu/packages/patches/msmtpq-add-env-variables.patch @@ -0,0 +1,56 @@ +From 511be91b0aad2dc9bcb9ae16b4576cd01787ac34 Mon Sep 17 00:00:00 2001 +From: Andrew Tropin +Date: Fri, 9 Jul 2021 08:29:19 +0300 +Subject: [PATCH] msmtpq: Allow to control queue dir, log file, etc via env + variables + +Provided variables: +MSMTPQ_QUEUE_DIR +MSMTPQ_LOG +MSMTPQ_QUIET +MSMTPQ_CONN_TEST +--- + scripts/msmtpq/msmtpq | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq +index 4b074de..fbf38f9 100755 +--- a/scripts/msmtpq/msmtpq ++++ b/scripts/msmtpq/msmtpq +@@ -70,9 +70,9 @@ MSMTP=3Dmsmtp + ## ( chmod 0700 msmtp.queue ) + ## + ## the queue dir - modify this to reflect where you'd like it to be (no = quotes !!) +-Q=3D~/.msmtp.queue +-[ -d "$Q" ] || \ +- err '' "msmtpq : can't find msmtp queue directory [ $Q ]" '' # if n= ot present - complain ; quit ++Q=3D${MSMTPQ_QUEUE_DIR:-~/.msmtp.queue} ++[ -d "$Q" ] || mkdir -p "$Q" || \ ++ err '' "msmtpq : can't create msmtp queue directory [ $Q ]" '' + ## + ## set the queue log file var to the location of the msmtp queue log file + ## where it is or where you'd like it to be +@@ -84,7 +84,8 @@ Q=3D~/.msmtp.queue + ## (doing so would be inadvisable under most conditions, however) + ## + ## the queue log file - modify (or comment out) to taste (but no quotes = !!) +-LOG=3D~/log/msmtp.queue.log ++LOG=3D${MSMTPQ_LOG:-~/log/msmtp.queue.log} ++[ -d "$(dirname $LOG)" ] || mkdir -p "$(dirname $LOG)" + ## =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +=20 + ## msmtpq can use the following environment variables : +@@ -108,8 +109,8 @@ LOG=3D~/log/msmtp.queue.log + ## + #EMAIL_CONN_NOTEST=3Dy # deprecated ; use below var + #EMAIL_CONN_TEST=3D{x| |p|P|n|s} # see settings above for EMAIL_CON= N_TEST +-EMAIL_CONN_TEST=3Dn +-#EMAIL_QUEUE_QUIET=3Dt ++EMAIL_QUEUE_QUIET=3D${MSMTPQ_QUIET:-} ++EMAIL_CONN_TEST=3D${MSMTPQ_CONN_TEST:-n} + ## =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +=20 + umask 077 # set secure permissions on created = directories and files +--=20 +2.32.0 + =2D-=20 2.32.0 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEEKEGaxlA4dEDH6S/6IgjSCVjB3rAFAmDoJFYPHGFuZHJld0B0 cm9wLmluAAoJECII0glYwd6wktsP/RKmrPUqs9WajfiHZ3jUUgbL2JFlX2M9hFKo XrBh0cAhD20a6frYqbCzag6Imtg+zxJxOf31j+5hqhtwDgYZM75lOXinEEIMO07p GTmteIrung6td4smkJh4f1ASQXhMqQnS8LgAKS8jHN5SCSj3SuiXsagmgXdWcf7Q VzfOpExZhrVRcESOLo6/bkIVyfrxnZp4NqiSFEQI52Hz1uW1q2lvB11WUw9n1kML +OpH9Xi5gfdy02tg0KEZRYgOsLik1haTkq3oPe1o+LKP4zPN2g69fpaHWOkPU3W6 nV6Sxf4uK125Cv1pBevCAXdPck8XIcy37kmEDUTKAH5Zww0Ke21D2qobVxE04pf0 8m26Af1zmCCajcsj6Dhmj2dVffpFC11UDrNCbtiNmdoPmdc55Dui69TDZCpPzXen /gha9FLiW4sw7sfnBYrcYe9Hw2+pDIgn9CrkeToNEcye9Ytv/lFQmQI9oh9X8d0L m7NQ6rmyGP1f7dUXKA/3Jk2B3zCYUw4kWvo2CIe1iacwECsNSwoKwj6ph2+kOjaL +8yjAqKRlCpM8v+63Vim4Rqct+hR4j4nJklQ0bMh8Ta2T+mOcEvlXhHn4Pi4Immy KH0+aIez7kGsgld64lDMoi6rebqEyuzmjPaTmLx21GgFpYsRhEiRZiYt7wlM2uwV XZrBptDf =kZTm -----END PGP SIGNATURE----- --==-=-=--