The ssmtp program is not maintained. It is recommended to switch to a more supported equivalent such as msmtp. GitHub: see https://github.com/NixOS/nixpkgs/issues/105710main
parent
538ea8934c
commit
0492ef0e85
@ -1,45 +0,0 @@ |
||||
{ lib, stdenv, fetchurl, tlsSupport ? true, openssl }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "ssmtp"; |
||||
version = "2.64"; |
||||
|
||||
src = fetchurl { |
||||
url = "mirror://debian/pool/main/s/ssmtp/ssmtp_${version}.orig.tar.bz2"; |
||||
sha256 = "0dps8s87ag4g3jr6dk88hs9zl46h3790marc5c2qw7l71k4pvhr2"; |
||||
}; |
||||
|
||||
# A request has been made to merge this patch into ssmtp. |
||||
# See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=858781 |
||||
patches = [ ./ssmtp_support_AuthPassFile_parameter.patch ]; |
||||
|
||||
configureFlags = [ |
||||
"--sysconfdir=/etc" |
||||
(lib.enableFeature tlsSupport "ssl") |
||||
]; |
||||
|
||||
postConfigure = '' |
||||
# Don't run the script that interactively generates a config file. |
||||
# Also don't install the broken, cyclic symlink /lib/sendmail. |
||||
sed -e '/INSTALLED_CONFIGURATION_FILE/d' \ |
||||
-e 's|/lib/sendmail|$(TMPDIR)/sendmail|' \ |
||||
-i Makefile |
||||
substituteInPlace Makefile \ |
||||
--replace '$(INSTALL) -s' '$(INSTALL) -s --strip-program $(STRIP)' |
||||
''; |
||||
|
||||
installFlags = [ "etcdir=$(out)/etc" ]; |
||||
|
||||
installTargets = [ "install" "install-sendmail" ]; |
||||
|
||||
buildInputs = lib.optional tlsSupport openssl; |
||||
|
||||
NIX_LDFLAGS = lib.optionalString tlsSupport "-lcrypto"; |
||||
|
||||
meta = with lib; { |
||||
description = "simple MTA to deliver mail from a computer to a mail hub"; |
||||
platforms = platforms.linux; |
||||
license = licenses.gpl2; |
||||
maintainers = with maintainers; [ basvandijk ]; |
||||
}; |
||||
} |
@ -1,69 +0,0 @@ |
||||
diff -Naurb a/ssmtp.c b/ssmtp.c
|
||||
--- a/ssmtp.c 2009-11-23 10:55:11.000000000 +0100
|
||||
+++ b/ssmtp.c 2017-03-25 03:00:26.508283016 +0100
|
||||
@@ -57,6 +57,7 @@
|
||||
char arpadate[ARPADATE_LENGTH];
|
||||
char *auth_user = (char)NULL;
|
||||
char *auth_pass = (char)NULL;
|
||||
+char *auth_passfile = (char)NULL;
|
||||
char *auth_method = (char)NULL; /* Mechanism for SMTP authentication */
|
||||
char *mail_domain = (char)NULL;
|
||||
char *from = (char)NULL; /* Use this as the From: address */
|
||||
@@ -1053,6 +1054,15 @@
|
||||
log_event(LOG_INFO, "Set AuthPass=\"%s\"\n", auth_pass);
|
||||
}
|
||||
}
|
||||
+ else if(strcasecmp(p, "AuthPassFile") == 0 && !auth_passfile) {
|
||||
+ if((auth_passfile = strdup(q)) == (char *)NULL) {
|
||||
+ die("parse_config() -- strdup() failed");
|
||||
+ }
|
||||
+
|
||||
+ if(log_level > 0) {
|
||||
+ log_event(LOG_INFO, "Set AuthPassFile=\"%s\"\n", auth_passfile);
|
||||
+ }
|
||||
+ }
|
||||
else if(strcasecmp(p, "AuthMethod") == 0 && !auth_method) {
|
||||
if((auth_method = strdup(q)) == (char *)NULL) {
|
||||
die("parse_config() -- strdup() failed");
|
||||
@@ -1415,6 +1425,8 @@
|
||||
struct passwd *pw;
|
||||
int i, sock;
|
||||
uid_t uid;
|
||||
+ FILE *fp;
|
||||
+ char pass_buf[BUF_SZ+1];
|
||||
bool_t minus_v_save, leadingdot, linestart = True;
|
||||
int timeout = 0;
|
||||
int bufsize = sizeof(b)-1;
|
||||
@@ -1433,6 +1445,17 @@
|
||||
log_event(LOG_INFO, "%s not found", config_file);
|
||||
}
|
||||
|
||||
+ if(auth_passfile != (char *)NULL) {
|
||||
+ if((fp = fopen(auth_passfile, "r")) == (FILE *)NULL) {
|
||||
+ die("Could not open the AuthPassFile %s", auth_passfile);
|
||||
+ }
|
||||
+ if (fgets(pass_buf, BUF_SZ, fp) == NULL) {
|
||||
+ die("Error while reading a line from the AuthPassFile %s, or it is empty", auth_passfile);
|
||||
+ }
|
||||
+ fclose(fp);
|
||||
+ auth_pass = strdup(pass_buf);
|
||||
+ }
|
||||
+
|
||||
if((p = strtok(pw->pw_gecos, ";,"))) {
|
||||
if((gecos = strdup(p)) == (char *)NULL) {
|
||||
die("ssmtp() -- strdup() failed");
|
||||
diff -Naurb a/ssmtp.conf.5 b/ssmtp.conf.5
|
||||
--- a/ssmtp.conf.5 2008-02-29 03:50:15.000000000 +0100
|
||||
+++ b/ssmtp.conf.5 2017-03-25 01:45:52.890165426 +0100
|
||||
@@ -61,6 +61,11 @@
|
||||
.Pp
|
||||
.It Cm AuthPass
|
||||
The password to use for SMTP AUTH.
|
||||
+It is recommended to use AuthPassFile which also takes precedence over AuthPass.
|
||||
+.Pp
|
||||
+.It Cm AuthPassFile
|
||||
+A file that should contain the password to use for SMTP AUTH.
|
||||
+This takes precedence over AuthPass.
|
||||
.Pp
|
||||
.It Cm AuthMethod
|
||||
The authorization method to use.
|
Loading…
Reference in new issue