default to "smtp" service == 25 for NeXT machines (which are broken)
authorEric Allman <eric@ucbvax.Berkeley.EDU>
Fri, 17 Dec 1993 23:06:03 +0000 (15:06 -0800)
committerEric Allman <eric@ucbvax.Berkeley.EDU>
Fri, 17 Dec 1993 23:06:03 +0000 (15:06 -0800)
SCCS-vsn: usr.sbin/sendmail/src/daemon.c 8.27

usr/src/usr.sbin/sendmail/src/daemon.c

index 2ea7b6e..020531e 100644 (file)
@@ -12,9 +12,9 @@
 
 #ifndef lint
 #ifdef DAEMON
 
 #ifndef lint
 #ifdef DAEMON
-static char sccsid[] = "@(#)daemon.c   8.26 (Berkeley) %G% (with daemon mode)";
+static char sccsid[] = "@(#)daemon.c   8.27 (Berkeley) %G% (with daemon mode)";
 #else
 #else
-static char sccsid[] = "@(#)daemon.c   8.26 (Berkeley) %G% (without daemon mode)";
+static char sccsid[] = "@(#)daemon.c   8.27 (Berkeley) %G% (without daemon mode)";
 #endif
 #endif /* not lint */
 
 #endif
 #endif /* not lint */
 
@@ -87,7 +87,6 @@ int           TcpSndBufferSize = 0;           /* size of TCP send buffer */
 getrequests()
 {
        int t;
 getrequests()
 {
        int t;
-       register struct servent *sp;
        int on = 1;
        bool refusingconnections = TRUE;
        FILE *pidf;
        int on = 1;
        bool refusingconnections = TRUE;
        FILE *pidf;
@@ -104,13 +103,16 @@ getrequests()
                DaemonAddr.sin.sin_addr.s_addr = INADDR_ANY;
        if (DaemonAddr.sin.sin_port == 0)
        {
                DaemonAddr.sin.sin_addr.s_addr = INADDR_ANY;
        if (DaemonAddr.sin.sin_port == 0)
        {
+               register struct servent *sp;
+
                sp = getservbyname("smtp", "tcp");
                if (sp == NULL)
                {
                        syserr("554 service \"smtp\" unknown");
                sp = getservbyname("smtp", "tcp");
                if (sp == NULL)
                {
                        syserr("554 service \"smtp\" unknown");
-                       goto severe;
+                       DaemonAddr.sin.sin_port = htons(25);
                }
                }
-               DaemonAddr.sin.sin_port = sp->s_port;
+               else
+                       DaemonAddr.sin.sin_port = sp->s_port;
        }
 
        /*
        }
 
        /*
@@ -335,9 +337,10 @@ gothostent:
                if (sp == NULL)
                {
                        syserr("554 makeconnection: service \"smtp\" unknown");
                if (sp == NULL)
                {
                        syserr("554 makeconnection: service \"smtp\" unknown");
-                       return (EX_OSERR);
+                       port = htons(25);
                }
                }
-               port = sp->s_port;
+               else
+                       port = sp->s_port;
        }
 
        switch (addr.sa.sa_family)
        }
 
        switch (addr.sa.sa_family)