version 1.5, 2000/09/21 11:25:34 |
version 1.5.2.1, 2001/02/16 20:13:01 |
|
|
*/ |
*/ |
#include "includes.h" |
#include "includes.h" |
RCSID("$OpenBSD$"); |
RCSID("$OpenBSD$"); |
#include "ssh.h" |
|
|
#include "ssh1.h" |
|
#include "ssh2.h" |
|
#include "log.h" |
#include "dispatch.h" |
#include "dispatch.h" |
#include "packet.h" |
#include "packet.h" |
|
#include "compat.h" |
|
|
#define DISPATCH_MIN 0 |
#define DISPATCH_MIN 0 |
#define DISPATCH_MAX 255 |
#define DISPATCH_MAX 255 |
|
|
dispatch_protocol_error(int type, int plen, void *ctxt) |
dispatch_protocol_error(int type, int plen, void *ctxt) |
{ |
{ |
error("Hm, dispatch protocol error: type %d plen %d", type, plen); |
error("Hm, dispatch protocol error: type %d plen %d", type, plen); |
|
if (compat20 && type == SSH2_MSG_KEXDH_INIT) |
|
fatal("dispatch_protocol_error: rekeying is not supported"); |
} |
} |
void |
void |
dispatch_init(dispatch_fn *dflt) |
dispatch_init(dispatch_fn *dflt) |
|
|
if (type > 0 && type < DISPATCH_MAX && dispatch[type] != NULL) |
if (type > 0 && type < DISPATCH_MAX && dispatch[type] != NULL) |
(*dispatch[type])(type, plen, ctxt); |
(*dispatch[type])(type, plen, ctxt); |
else |
else |
packet_disconnect("protocol error: rcvd type %d", type); |
packet_disconnect("protocol error: rcvd type %d", type); |
if (done != NULL && *done) |
if (done != NULL && *done) |
return; |
return; |
} |
} |