[packet.c]
     Move some more statics into session_state
     ok markus@ djm@
This commit is contained in:
Darren Tucker 2009-06-21 18:59:36 +10:00
parent b422afa41f
commit 7b935c79f4
2 changed files with 21 additions and 13 deletions

View File

@ -93,6 +93,10 @@
Fix warnings found by chl@ and djm@ and change roaming_atomicio's Fix warnings found by chl@ and djm@ and change roaming_atomicio's
return type to match atomicio's return type to match atomicio's
Diff from djm@, ok markus@ Diff from djm@, ok markus@
- andreas@cvs.openbsd.org 2009/06/12 20:58:32
[packet.c]
Move some more statics into session_state
ok markus@ djm@
20090616 20090616
- (dtucker) [configure.ac defines.h] Bug #1607: handle the case where fsid_t - (dtucker) [configure.ac defines.h] Bug #1607: handle the case where fsid_t

View File

@ -1,4 +1,4 @@
/* $OpenBSD: packet.c,v 1.164 2009/06/12 20:43:22 andreas Exp $ */ /* $OpenBSD: packet.c,v 1.165 2009/06/12 20:58:32 andreas Exp $ */
/* /*
* Author: Tatu Ylonen <ylo@cs.hut.fi> * Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@ -182,6 +182,15 @@ struct session_state {
/* Used in packet_read_poll2() */ /* Used in packet_read_poll2() */
u_int packlen; u_int packlen;
/* Used in packet_send2 */
int rekeying;
/* Used in packet_set_interactive */
int set_interactive_called;
/* Used in packet_set_maxsize */
int set_maxsize_called;
TAILQ_HEAD(, packet) outgoing; TAILQ_HEAD(, packet) outgoing;
}; };
@ -950,7 +959,6 @@ packet_send2_wrapped(void)
static void static void
packet_send2(void) packet_send2(void)
{ {
static int rekeying = 0;
struct packet *p; struct packet *p;
u_char type, *cp; u_char type, *cp;
@ -958,7 +966,7 @@ packet_send2(void)
type = cp[5]; type = cp[5];
/* during rekeying we can only send key exchange messages */ /* during rekeying we can only send key exchange messages */
if (rekeying) { if (active_state->rekeying) {
if (!((type >= SSH2_MSG_TRANSPORT_MIN) && if (!((type >= SSH2_MSG_TRANSPORT_MIN) &&
(type <= SSH2_MSG_TRANSPORT_MAX))) { (type <= SSH2_MSG_TRANSPORT_MAX))) {
debug("enqueue packet: %u", type); debug("enqueue packet: %u", type);
@ -974,13 +982,13 @@ packet_send2(void)
/* rekeying starts with sending KEXINIT */ /* rekeying starts with sending KEXINIT */
if (type == SSH2_MSG_KEXINIT) if (type == SSH2_MSG_KEXINIT)
rekeying = 1; active_state->rekeying = 1;
packet_send2_wrapped(); packet_send2_wrapped();
/* after a NEWKEYS message we can send the complete queue */ /* after a NEWKEYS message we can send the complete queue */
if (type == SSH2_MSG_NEWKEYS) { if (type == SSH2_MSG_NEWKEYS) {
rekeying = 0; active_state->rekeying = 0;
while ((p = TAILQ_FIRST(&active_state->outgoing))) { while ((p = TAILQ_FIRST(&active_state->outgoing))) {
type = p->type; type = p->type;
debug("dequeue packet: %u", type); debug("dequeue packet: %u", type);
@ -1737,11 +1745,9 @@ packet_set_tos(int interactive)
void void
packet_set_interactive(int interactive) packet_set_interactive(int interactive)
{ {
static int called = 0; if (active_state->set_interactive_called)
if (called)
return; return;
called = 1; active_state->set_interactive_called = 1;
/* Record that we are in interactive mode. */ /* Record that we are in interactive mode. */
active_state->interactive_mode = interactive; active_state->interactive_mode = interactive;
@ -1764,9 +1770,7 @@ packet_is_interactive(void)
int int
packet_set_maxsize(u_int s) packet_set_maxsize(u_int s)
{ {
static int called = 0; if (active_state->set_maxsize_called) {
if (called) {
logit("packet_set_maxsize: called twice: old %d new %d", logit("packet_set_maxsize: called twice: old %d new %d",
active_state->max_packet_size, s); active_state->max_packet_size, s);
return -1; return -1;
@ -1775,7 +1779,7 @@ packet_set_maxsize(u_int s)
logit("packet_set_maxsize: bad size %d", s); logit("packet_set_maxsize: bad size %d", s);
return -1; return -1;
} }
called = 1; active_state->set_maxsize_called = 1;
debug("packet_set_maxsize: setting to %d", s); debug("packet_set_maxsize: setting to %d", s);
active_state->max_packet_size = s; active_state->max_packet_size = s;
return s; return s;