130a6b675e
e.g.: % echo "nospam@cotds.org" > ~/.ssmtprc - Bump PORTREVISION PR: 59063 Submitted by: maintainer
49 lines
1.4 KiB
C
49 lines
1.4 KiB
C
--- 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.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 */
|