version 1.44, 2006/03/25 13:17:02 |
version 1.45, 2006/03/30 09:58:15 |
|
|
#include "xmalloc.h" |
#include "xmalloc.h" |
#include "atomicio.h" |
#include "atomicio.h" |
#include "monitor_fdpass.h" |
#include "monitor_fdpass.h" |
#include "getput.h" |
#include "misc.h" |
|
|
#include "auth.h" |
#include "auth.h" |
#include "channels.h" |
#include "channels.h" |
|
|
|
|
debug3("%s entering: type %d", __func__, type); |
debug3("%s entering: type %d", __func__, type); |
|
|
PUT_32BIT(buf, mlen + 1); |
put_u32(buf, mlen + 1); |
buf[4] = (u_char) type; /* 1st byte of payload is mesg-type */ |
buf[4] = (u_char) type; /* 1st byte of payload is mesg-type */ |
if (atomicio(vwrite, sock, buf, sizeof(buf)) != sizeof(buf)) |
if (atomicio(vwrite, sock, buf, sizeof(buf)) != sizeof(buf)) |
fatal("%s: write: %s", __func__, strerror(errno)); |
fatal("%s: write: %s", __func__, strerror(errno)); |
|
|
cleanup_exit(255); |
cleanup_exit(255); |
fatal("%s: read: %s", __func__, strerror(errno)); |
fatal("%s: read: %s", __func__, strerror(errno)); |
} |
} |
msg_len = GET_32BIT(buf); |
msg_len = get_u32(buf); |
if (msg_len > 256 * 1024) |
if (msg_len > 256 * 1024) |
fatal("%s: read: bad msg_len %d", __func__, msg_len); |
fatal("%s: read: bad msg_len %d", __func__, msg_len); |
buffer_clear(m); |
buffer_clear(m); |