Unverified Commit cb9a96f2 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

Merge pull request #296720 from DanNixon/msmtp-update

msmtp: 1.8.22 -> 1.8.25
parents c20c714d 2f2010f6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -112,6 +112,8 @@
  it is set, instead of the previous hardcoded default of
  `${networking.hostName}.${security.ipa.domain}`.

- The `MSMTP_QUEUE` and `MSMTP_LOG` environment variables accepted by `msmtpq` have now been renamed to `MSMTPQ_Q` and `MSMTPQ_LOG` respectively.

- The fcgiwrap module now allows multiple instances running as distinct users.
  The option `services.fgciwrap` now takes an attribute set of the
  configuration of each individual instance.
+7 −4
Original line number Diff line number Diff line
@@ -25,13 +25,13 @@
let
  inherit (lib) getBin getExe optionals;

  version = "1.8.22";
  version = "1.8.25";

  src = fetchFromGitHub {
    owner = "marlam";
    repo = "msmtp-mirror";
    repo = "msmtp";
    rev = "msmtp-${version}";
    hash = "sha256-Jt/uvGBrYYr6ua6LVPiP0nuRiIkxBJASdgHBNHivzxQ=";
    hash = "sha256-UZKUpF/ZwYPM2rPDudL1O8e8LguKJh9sTcJRT3vgsf4=";
  };

  meta = with lib; {
@@ -68,7 +68,10 @@ let
    pname = "msmtp-scripts";
    inherit version src meta;

    patches = [ ./paths.patch ];
    patches = [
      ./msmtpq-remove-binary-check.patch
      ./msmtpq-systemd-logging.patch
    ];

    postPatch = ''
      substituteInPlace scripts/msmtpq/msmtpq \
+13 −0
Original line number Diff line number Diff line
diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
index bcb384e..9622e47 100755
--- a/scripts/msmtpq/msmtpq
+++ b/scripts/msmtpq/msmtpq
@@ -60,8 +60,6 @@ err() { dsp '' "$@" '' ; exit 1 ; }
 ##   export the location of the msmtp executable before running this script  (no quotes !!)
 ##   e.g. ( export MSMTP=/path/to/msmtp )
 MSMTP="${MSMTP:-msmtp}"
-"$MSMTP" --version >/dev/null 2>&1 || \
-  log_later -e 1 "msmtpq : can't run the msmtp executable [ $MSMTP ]"   # if not found - complain ; quit
 ##
 ## set the queue var to the location of the msmtp queue directory
 ##   if the queue dir doesn't yet exist, create it (0700)
+41 −0
Original line number Diff line number Diff line
diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
index d8b4039..1f2a7b5 100755
index bcb384e..dbaf1b5 100755
--- a/scripts/msmtpq/msmtpq
+++ b/scripts/msmtpq/msmtpq
@@ -60,8 +60,8 @@ err() { dsp '' "$@" '' ; exit 1 ; }
 ##   e.g. ( export MSMTP=/path/to/msmtp )
 if [ "$MSMTP" = "" ] ; then  # If MSMTP is unset or empty...
   MSMTP=msmtp
-elif [ ! -x "$MSMTP" ] ; then
-  log -e 1 "msmtpq : can't find the msmtp executable [ $MSMTP ]"   # if not found - complain ; quit
+# elif [ ! -x "$MSMTP" ] ; then
+#   log -e 1 "msmtpq : can't find the msmtp executable [ $MSMTP ]"   # if not found - complain ; quit
@@ -92,6 +92,8 @@ if [ ! -v MSMTPQ_LOG ] ; then
   fi
 ##
 ## set the queue var to the location of the msmtp queue directory
@@ -71,7 +71,7 @@ fi
 ##            ( chmod 0700 msmtp.queue )
 ##
 ## the queue dir - export this variable to reflect where you'd like it to be  (no quotes !!)
-Q=${Q:-~/.msmtp.queue}
+Q=${MSMTP_QUEUE:-~/.msmtp.queue}
 [ -d "$Q" ] || mkdir -m 0700 -p "$Q" || \
   err '' "msmtpq : can't find or create msmtp queue directory [ $Q ]" ''     # if not present - complain ; quit
 ##
@@ -85,8 +85,10 @@ Q=${Q:-~/.msmtp.queue}
 ##
 ## the queue log file - export this variable to change where logs are stored  (but no quotes !!)
 ##                      Set it to "" (empty string) to disable logging.
-[ -v LOG ] || LOG=~/log/msmtp.queue.log
+LOG=${MSMTP_LOG:-~/log/msmtp.queue.log}
 [ -d "$(dirname "$LOG")" ] || mkdir -p "$(dirname "$LOG")"
 fi
 [ -d "$(dirname "$MSMTPQ_LOG")" ] || mkdir -p "$(dirname "$MSMTPQ_LOG")"
+
+JOURNAL=@journal@
 ## ======================================================================================
 
 ## msmtpq can use the following environment variables :
@@ -139,6 +141,7 @@ on_exit() {                          # unlock the queue on exit if the lock was
@@ -144,6 +146,7 @@ on_exit() {                          # unlock the queue on exit if the lock was
 ## display msg to user, as well
 ##
 log() {
@@ -42,7 +19,7 @@ index d8b4039..1f2a7b5 100755
   local ARG RC PFX
   PFX="$('date' +'%Y %d %b %H:%M:%S')"
                                      # time stamp prefix - "2008 13 Mar 03:59:45 "
@@ -156,10 +159,19 @@ log() {
@@ -161,10 +164,19 @@ log() {
     done
   fi
 
@@ -55,8 +32,8 @@ index d8b4039..1f2a7b5 100755
+
   if [ -n "$RC" ] ; then             # an error ; leave w/error return
     [ -n "$LKD" ] && lock_queue -u   # unlock here (if locked)
     [ -n "$LOG" ] && \
       echo "    exit code = $RC" >> "$LOG" # logging ok ; send exit code to log
     [ -n "$MSMTPQ_LOG" ] && \
       echo "    exit code = $RC" >> "$MSMTPQ_LOG" # logging ok ; send exit code to log
+    [ "$JOURNAL" = "Y" ] && \
+      echo "exit code= $RC" | systemd-cat -t "$NAME" -p emerg
     exit "$RC"                       # exit w/return code