]> andersk Git - openssh.git/blobdiff - packet.c
- (tim) [contrib/cygwin/README] add minires-devel requirement. Patch from
[openssh.git] / packet.c
index 52b4f664c8274edb344f0f3fa46a69ff70ceb434..82a5694045d3b0a825067687c27fe5dba7b77d23 100644 (file)
--- a/packet.c
+++ b/packet.c
@@ -37,7 +37,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: packet.c,v 1.112 2003/09/23 20:17:11 markus Exp $");
+RCSID("$OpenBSD: packet.c,v 1.115 2004/06/21 17:36:31 avsm Exp $");
 
 #include "openbsd-compat/sys-queue.h"
 
@@ -154,8 +154,10 @@ packet_set_connection(int fd_in, int fd_out)
                fatal("packet_set_connection: cannot load cipher 'none'");
        connection_in = fd_in;
        connection_out = fd_out;
-       cipher_init(&send_context, none, "", 0, NULL, 0, CIPHER_ENCRYPT);
-       cipher_init(&receive_context, none, "", 0, NULL, 0, CIPHER_DECRYPT);
+       cipher_init(&send_context, none, (const u_char *)"",
+           0, NULL, 0, CIPHER_ENCRYPT);
+       cipher_init(&receive_context, none, (const u_char *)"",
+           0, NULL, 0, CIPHER_DECRYPT);
        newkeys[MODE_IN] = newkeys[MODE_OUT] = NULL;
        if (!initialized) {
                initialized = 1;
@@ -304,7 +306,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
@@ -317,13 +319,10 @@ void
 packet_set_nonblocking(void)
 {
        /* Set the socket into non-blocking mode. */
-       if (fcntl(connection_in, F_SETFL, O_NONBLOCK) < 0)
-               error("fcntl O_NONBLOCK: %.100s", strerror(errno));
+       set_nonblock(connection_in);
 
-       if (connection_out != connection_in) {
-               if (fcntl(connection_out, F_SETFL, O_NONBLOCK) < 0)
-                       error("fcntl O_NONBLOCK: %.100s", strerror(errno));
-       }
+       if (connection_out != connection_in)
+               set_nonblock(connection_out);
 }
 
 /* Returns the socket used for reading. */
@@ -508,7 +507,7 @@ packet_send1(void)
        u_char buf[8], *cp;
        int i, padding, len;
        u_int checksum;
-       u_int32_t rand = 0;
+       u_int32_t rnd = 0;
 
        /*
         * If using packet compression, compress the payload of the outgoing
@@ -534,9 +533,9 @@ packet_send1(void)
                cp = buffer_ptr(&outgoing_packet);
                for (i = 0; i < padding; i++) {
                        if (i % 4 == 0)
-                               rand = arc4random();
-                       cp[7 - i] = rand & 0xff;
-                       rand >>= 8;
+                               rnd = arc4random();
+                       cp[7 - i] = rnd & 0xff;
+                       rnd >>= 8;
                }
        }
        buffer_consume(&outgoing_packet, 8 - padding);
@@ -581,18 +580,18 @@ set_newkeys(int mode)
        Comp *comp;
        CipherContext *cc;
        u_int64_t *max_blocks;
-       int encrypt;
+       int crypt_type;
 
        debug2("set_newkeys: mode %d", mode);
 
        if (mode == MODE_OUT) {
                cc = &send_context;
-               encrypt = CIPHER_ENCRYPT;
+               crypt_type = CIPHER_ENCRYPT;
                p_send.packets = p_send.blocks = 0;
                max_blocks = &max_blocks_out;
        } else {
                cc = &receive_context;
-               encrypt = CIPHER_DECRYPT;
+               crypt_type = CIPHER_DECRYPT;
                p_read.packets = p_read.blocks = 0;
                max_blocks = &max_blocks_in;
        }
@@ -621,7 +620,7 @@ set_newkeys(int mode)
                mac->enabled = 1;
        DBG(debug("cipher_init_context: %d", mode));
        cipher_init(cc, enc->cipher, enc->key, enc->key_len,
-           enc->iv, enc->block_size, encrypt);
+           enc->iv, enc->block_size, crypt_type);
        /* Deleting the keys does not gain extra security */
        /* memset(enc->iv,  0, enc->block_size);
           memset(enc->key, 0, enc->key_len); */
@@ -655,7 +654,7 @@ packet_send2_wrapped(void)
        u_char padlen, pad;
        u_int packet_length = 0;
        u_int i, len;
-       u_int32_t rand = 0;
+       u_int32_t rnd = 0;
        Enc *enc   = NULL;
        Mac *mac   = NULL;
        Comp *comp = NULL;
@@ -714,9 +713,9 @@ packet_send2_wrapped(void)
                /* random padding */
                for (i = 0; i < padlen; i++) {
                        if (i % 4 == 0)
-                               rand = arc4random();
-                       cp[i] = rand & 0xff;
-                       rand >>= 8;
+                               rnd = arc4random();
+                       cp[i] = rnd & 0xff;
+                       rnd >>= 8;
                }
        } else {
                /* clear padding */
@@ -1403,10 +1402,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() ||
@@ -1416,8 +1415,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. */
 
@@ -1438,10 +1437,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. */
@@ -1452,7 +1448,7 @@ packet_is_interactive(void)
        return interactive_mode;
 }
 
-u_int
+int
 packet_set_maxsize(u_int s)
 {
        static int called = 0;
@@ -1493,20 +1489,20 @@ packet_add_padding(u_char pad)
 void
 packet_send_ignore(int nbytes)
 {
-       u_int32_t rand = 0;
+       u_int32_t rnd = 0;
        int i;
 
        packet_start(compat20 ? SSH2_MSG_IGNORE : SSH_MSG_IGNORE);
        packet_put_int(nbytes);
        for (i = 0; i < nbytes; i++) {
                if (i % 4 == 0)
-                       rand = arc4random();
-               packet_put_char(rand & 0xff);
-               rand >>= 8;
+                       rnd = arc4random();
+               packet_put_char(rnd & 0xff);
+               rnd >>= 8;
        }
 }
 
-#define MAX_PACKETS    (1<<31)
+#define MAX_PACKETS    (1U<<31)
 int
 packet_need_rekeying(void)
 {
This page took 0.148517 seconds and 4 git commands to generate.