- Add WITH_USERPREFS knob: a user can set his own reverse alias,

e.g.:
  	% echo "nospam@cotds.org" > ~/.ssmtprc
- Bump PORTREVISION

PR:		59063
Submitted by:	maintainer
This commit is contained in:
Sergei Kolobov 2003-11-08 22:14:38 +00:00
parent 32c5a7922e
commit 130a6b675e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=93414
3 changed files with 53 additions and 4 deletions

View File

@ -7,6 +7,7 @@
PORTNAME= ssmtp
PORTVERSION= 2.60.4
PORTREVISION= 1
CATEGORIES= mail ipv6
MASTER_SITES= ${MASTER_SITE_DEBIAN_POOL}
DISTNAME= ${PORTNAME}_${PORTVERSION}
@ -30,6 +31,15 @@ TRUE= /usr/bin/true
MAN8= ssmtp.8
.if defined(WITH_USERPREFS)
CFLAGS+= -DUSERPREFS
.else
pre-everything::
@${ECHO_CMD} 'If you want to let your users set their own revalias address,'
@${ECHO_CMD} 'please define WITH_USERPREFS (they just have to put their mail'
@${ECHO_CMD} 'address in ~/.ssmtprc).'
.endif
post-configure:
@${REINPLACE_CMD} -e "s,/etc/ssl/certs/ssmtp.pem,${PREFIX}/etc/ssmtp/ssmtp.pem,g" \
${WRKSRC}/ssmtp.c ${WRKSRC}/ssmtp.conf

View File

@ -1,10 +1,49 @@
--- ssmtp.c.orig Sun Dec 8 18:26:20 2002
+++ ssmtp.c Mon Apr 7 01:24:52 2003
--- ssmtp.c.orig Sat Nov 8 18:51:19 2003
+++ ssmtp.c Sat Nov 8 19:01:07 2003
@@ -14,6 +14,7 @@
*/
#define VERSION "2.60.1"
#define VERSION "2.60.4"
+#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/param.h>
@@ -366,9 +367,36 @@
{
char buf[(BUF_SZ + 1)], *p;
FILE *fp;
-
+#ifdef USERPREFS
+ char *file=NULL;
+ if (pw->pw_dir != NULL) {
+ file = (char *)malloc (strlen (pw->pw_dir) + 1 + strlen (".ssmtprc") + 1);
+ sprintf (file, "%s/.ssmtprc", pw->pw_dir);
+ }
+
+ if ((file != NULL) && (fp = fopen(file, "r")) ) {
+ while(fgets(buf, sizeof(buf), fp)) {
+ /* Make comments invisible */
+ if((p = strchr(buf, '#'))) {
+ *p = (char)NULL;
+ }
+
+ /* Ignore malformed lines and comments */
+ if(strchr(buf, '@') == (char *)NULL) {
+ continue;
+ }
+ if((p = strtok(buf, "\n"))) {
+ if((uad = strdup(p)) == (char *)NULL) {
+ die("revaliases() -- strdup() failed");
+ }
+ }
+ }
+ fclose(fp);
/* Try to open the reverse aliases file */
- if((fp = fopen(REVALIASES_FILE, "r"))) {
+ } else if ((fp = fopen(REVALIASES_FILE, "r"))) {
+#else
+ if ((fp = fopen(REVALIASES_FILE, "r"))) {
+#endif
/* Search if a reverse alias is defined for the sender */
while(fgets(buf, sizeof(buf), fp)) {
/* Make comments invisible */

View File

@ -1,4 +1,4 @@
sbin/ssmtp
etc/ssmtp/revaliases.sample
etc/ssmtp/ssmtp.conf.sample
@dirrm etc/ssmtp
@unexec rmdir %D/etc/ssmtp 2> /dev/null || echo "If you don't plan to reinstall ssmtp, you can safely remove %D/etc/ssmtp" | fmt