convert setsockopt calls to new interface
authorSam Leffler <sam@ucbvax.Berkeley.EDU>
Wed, 5 Sep 1984 12:41:43 +0000 (04:41 -0800)
committerSam Leffler <sam@ucbvax.Berkeley.EDU>
Wed, 5 Sep 1984 12:41:43 +0000 (04:41 -0800)
SCCS-vsn: usr.sbin/inetd/inetd.c 4.3
SCCS-vsn: libexec/rlogind/rlogind.c 4.21
SCCS-vsn: libexec/rshd/rshd.c 4.20
SCCS-vsn: libexec/telnetd/telnetd.c 4.28

usr/src/libexec/rlogind/rlogind.c
usr/src/libexec/rshd/rshd.c
usr/src/libexec/telnetd/telnetd.c
usr/src/usr.sbin/inetd/inetd.c

index b7611ca..b8b59ff 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)rlogind.c  4.20 (Berkeley) %G%";
+static char sccsid[] = "@(#)rlogind.c  4.21 (Berkeley) %G%";
 #endif
 
 /*
 #endif
 
 /*
@@ -34,7 +34,7 @@ main(argc, argv)
        int argc;
        char **argv;
 {
        int argc;
        char **argv;
 {
-       int options = 0, fromlen;
+       int on = 1, options = 0, fromlen;
        struct sockaddr_in from;
 
        fromlen = sizeof (from);
        struct sockaddr_in from;
 
        fromlen = sizeof (from);
@@ -43,7 +43,7 @@ main(argc, argv)
                perror("getpeername");
                _exit(1);
        }
                perror("getpeername");
                _exit(1);
        }
-       if (setsockopt(0, SOL_SOCKET, SO_KEEPALIVE, 0, 0) < 0) {
+       if (setsockopt(0, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof (on)) < 0) {
                fprintf(stderr, "%s: ", argv[0]);
                perror("setsockopt (SO_KEEPALIVE)");
        }
                fprintf(stderr, "%s: ", argv[0]);
                perror("setsockopt (SO_KEEPALIVE)");
        }
index 8e8475b..16994df 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)rshd.c     4.19 (Berkeley) %G%";
+static char sccsid[] = "@(#)rshd.c     4.20 (Berkeley) %G%";
 #endif
 
 /*
 #endif
 
 /*
@@ -32,7 +32,8 @@ main(argc, argv)
        int argc;
        char **argv;
 {
        int argc;
        char **argv;
 {
-       int linger, fromlen;
+       struct linger linger;
+       int on = 1, fromlen;
        struct sockaddr_in from;
 
        fromlen = sizeof (from);
        struct sockaddr_in from;
 
        fromlen = sizeof (from);
@@ -41,11 +42,12 @@ main(argc, argv)
                perror("getpeername");
                _exit(1);
        }
                perror("getpeername");
                _exit(1);
        }
-       if (setsockopt(0, SOL_SOCKET, SO_KEEPALIVE, 0, 0) < 0) {
+       if (setsockopt(0, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof (on)) < 0) {
                fprintf(stderr, "%s: ", argv[0]);
                perror("setsockopt (SO_KEEPALIVE)");
        }
                fprintf(stderr, "%s: ", argv[0]);
                perror("setsockopt (SO_KEEPALIVE)");
        }
-       linger = 60;                    /* XXX */
+       linger.l_onoff = 1;
+       linger.l_linger = 60;                   /* XXX */
        if (setsockopt(0, SOL_SOCKET, SO_LINGER, &linger, sizeof (linger)) < 0) {
                fprintf(stderr, "%s: ", argv[0]);
                perror("setsockopt (SO_LINGER)");
        if (setsockopt(0, SOL_SOCKET, SO_LINGER, &linger, sizeof (linger)) < 0) {
                fprintf(stderr, "%s: ", argv[0]);
                perror("setsockopt (SO_LINGER)");
index d2db5ef..052efc0 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)telnetd.c  4.27 (Berkeley) %G%";
+static char sccsid[] = "@(#)telnetd.c  4.28 (Berkeley) %G%";
 #endif
 
 /*
 #endif
 
 /*
@@ -49,7 +49,7 @@ main(argc, argv)
        char *argv[];
 {
        struct sockaddr_in from;
        char *argv[];
 {
        struct sockaddr_in from;
-       int fromlen;
+       int on = 1, fromlen;
 
        fromlen = sizeof (from);
        if (getpeername(0, &from, &fromlen) < 0) {
 
        fromlen = sizeof (from);
        if (getpeername(0, &from, &fromlen) < 0) {
@@ -57,7 +57,7 @@ main(argc, argv)
                perror("getpeername");
                _exit(1);
        }
                perror("getpeername");
                _exit(1);
        }
-       if (setsockopt(0, SOL_SOCKET, SO_KEEPALIVE, 0, 0) < 0) {
+       if (setsockopt(0, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof (on)) < 0) {
                fprintf(stderr, "%s: ", argv[0]);
                perror("setsockopt (SO_KEEPALIVE)");
        }
                fprintf(stderr, "%s: ", argv[0]);
                perror("setsockopt (SO_KEEPALIVE)");
        }
index 0f83835..227ad27 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)inetd.c    4.2 (Berkeley) %G%";
+static char sccsid[] = "@(#)inetd.c    4.3 (Berkeley) %G%";
 #endif
 
 /*
 #endif
 
 /*
@@ -228,7 +228,7 @@ config()
 {
        register struct servtab *sep, *cp, **sepp;
        struct servtab *getconfigent(), *enter();
 {
        register struct servtab *sep, *cp, **sepp;
        struct servtab *getconfigent(), *enter();
-       int omask;
+       int omask, on = 1;
 
        if (!setconfig()) {
                syslog(LOG_ERR, "%s: %m", CONFIG);
 
        if (!setconfig()) {
                syslog(LOG_ERR, "%s: %m", CONFIG);
@@ -270,11 +270,14 @@ config()
                            sep->se_service, sep->se_proto);
                        continue;
                }
                            sep->se_service, sep->se_proto);
                        continue;
                }
+#define        turnon(fd, opt) \
+       setsockopt(fd, SOL_SOCKET, opt, &on, sizeof (on))
                if (strcmp(sep->se_proto, "tcp") == 0 && (options & SO_DEBUG) &&
                if (strcmp(sep->se_proto, "tcp") == 0 && (options & SO_DEBUG) &&
-                   setsockopt(sep->se_fd, SOL_SOCKET, SO_DEBUG, 0, 0) < 0)
+                   turnon(sep->se_fd, SO_DEBUG) < 0)
                        syslog(LOG_ERR, "setsockopt (SO_DEBUG): %m");
                        syslog(LOG_ERR, "setsockopt (SO_DEBUG): %m");
-               if (setsockopt(sep->se_fd, SOL_SOCKET, SO_REUSEADDR, 0, 0) < 0)
+               if (turnon(sep->se_fd, SO_REUSEADDR) < 0)
                        syslog(LOG_ERR, "setsockopt (SO_REUSEADDR): %m");
                        syslog(LOG_ERR, "setsockopt (SO_REUSEADDR): %m");
+#undef turnon
                if (bind(sep->se_fd, &sep->se_ctrladdr,
                    sizeof (sep->se_ctrladdr), 0) < 0) {
                        syslog(LOG_ERR, "%s/%s: bind: %m",
                if (bind(sep->se_fd, &sep->se_ctrladdr,
                    sizeof (sep->se_ctrladdr), 0) < 0) {
                        syslog(LOG_ERR, "%s/%s: bind: %m",