]> andersk Git - gssapi-openssh.git/blobdiff - openssh/packet.c
Import of openssh-SNAP-20040105
[gssapi-openssh.git] / openssh / packet.c
index 02b629f30f6ec5358248fa8b26a262527c29fd11..daae9ffaaa2ad06d2b27c1f2ac53849477e1545e 100644 (file)
@@ -37,7 +37,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: packet.c,v 1.110 2003/09/19 09:02:02 markus Exp $");
+RCSID("$OpenBSD: packet.c,v 1.112 2003/09/23 20:17:11 markus Exp $");
 
 #include "openbsd-compat/sys-queue.h"
 
@@ -165,8 +165,6 @@ packet_set_connection(int fd_in, int fd_out)
                buffer_init(&incoming_packet);
                TAILQ_INIT(&outgoing);
        }
-       /* Kludge: arrange the close function to be called from fatal(). */
-       fatal_add_cleanup((void (*) (void *)) packet_close, NULL);
 }
 
 /* Returns 1 if remote host is connected via socket, 0 if not. */
@@ -306,7 +304,7 @@ packet_connection_is_ipv4(void)
        if (to.ss_family == AF_INET)
                return 1;
 #ifdef IPV4_IN_IPV6
-       if (to.ss_family == AF_INET6 && 
+       if (to.ss_family == AF_INET6 &&
            IN6_IS_ADDR_V4MAPPED(&((struct sockaddr_in6 *)&to)->sin6_addr))
                return 1;
 #endif
@@ -870,7 +868,7 @@ packet_read_seqnr(u_int32_t *seqnr_p)
                len = read(connection_in, buf, sizeof(buf));
                if (len == 0) {
                        logit("Connection closed by %.200s", get_remote_ipaddr());
-                       fatal_cleanup();
+                       cleanup_exit(255);
                }
                if (len < 0)
                        fatal("Read from socket failed: %.100s", strerror(errno));
@@ -1136,7 +1134,7 @@ packet_read_poll_seqnr(u_int32_t *seqnr_p)
                                logit("Received disconnect from %s: %u: %.400s",
                                    get_remote_ipaddr(), reason, msg);
                                xfree(msg);
-                               fatal_cleanup();
+                               cleanup_exit(255);
                                break;
                        case SSH2_MSG_UNIMPLEMENTED:
                                seqnr = packet_get_int();
@@ -1161,7 +1159,7 @@ packet_read_poll_seqnr(u_int32_t *seqnr_p)
                                msg = packet_get_string(NULL);
                                logit("Received disconnect from %s: %.400s",
                                    get_remote_ipaddr(), msg);
-                               fatal_cleanup();
+                               cleanup_exit(255);
                                xfree(msg);
                                break;
                        default:
@@ -1338,8 +1336,7 @@ packet_disconnect(const char *fmt,...)
 
        /* Close the connection. */
        packet_close();
-
-       fatal_cleanup();
+       cleanup_exit(255);
 }
 
 /* Checks if there is any buffered output, and tries to write some of the output. */
@@ -1406,10 +1403,10 @@ packet_not_very_much_data_to_write(void)
 }
 
 
-#if defined(IP_TOS) && !defined(IP_TOS_IS_BROKEN)
 static void
 packet_set_tos(int interactive)
 {
+#if defined(IP_TOS) && !defined(IP_TOS_IS_BROKEN)
        int tos = interactive ? IPTOS_LOWDELAY : IPTOS_THROUGHPUT;
 
        if (!packet_connection_is_on_socket() ||
@@ -1419,8 +1416,8 @@ packet_set_tos(int interactive)
            sizeof(tos)) < 0)
                error("setsockopt IP_TOS %d: %.100s:",
                    tos, strerror(errno));
-}
 #endif
+}
 
 /* Informs that the current session is interactive.  Sets IP flags for that. */
 
@@ -1441,10 +1438,7 @@ packet_set_interactive(int interactive)
                return;
        if (interactive)
                set_nodelay(connection_in);
-#if defined(IP_TOS) && !defined(IP_TOS_IS_BROKEN)
        packet_set_tos(interactive);
-#endif
-
 }
 
 /* Returns true if the current connection is interactive. */
This page took 0.077818 seconds and 4 git commands to generate.