--- 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 */
syntax highlighted by Code2HTML, v. 0.9.1