version 1.65, 2009/03/05 07:18:19 |
version 1.66, 2009/05/25 06:48:01 |
|
|
|
|
/* Imports */ |
/* Imports */ |
extern int compat20; |
extern int compat20; |
extern Newkeys *newkeys[]; |
|
extern z_stream incoming_stream; |
extern z_stream incoming_stream; |
extern z_stream outgoing_stream; |
extern z_stream outgoing_stream; |
extern struct monitor *pmonitor; |
extern struct monitor *pmonitor; |
extern Buffer input, output; |
|
extern Buffer loginmsg; |
extern Buffer loginmsg; |
extern ServerOptions options; |
extern ServerOptions options; |
|
|
|
|
Enc *enc; |
Enc *enc; |
Mac *mac; |
Mac *mac; |
Comp *comp; |
Comp *comp; |
Newkeys *newkey = newkeys[mode]; |
Newkeys *newkey = (Newkeys *)packet_get_newkeys(mode); |
|
|
debug3("%s: converting %p", __func__, newkey); |
debug3("%s: converting %p", __func__, newkey); |
|
|
|
|
void |
void |
mm_send_keystate(struct monitor *monitor) |
mm_send_keystate(struct monitor *monitor) |
{ |
{ |
Buffer m; |
Buffer m, *input, *output; |
u_char *blob, *p; |
u_char *blob, *p; |
u_int bloblen, plen; |
u_int bloblen, plen; |
u_int32_t seqnr, packets; |
u_int32_t seqnr, packets; |
|
|
} |
} |
|
|
debug3("%s: Sending new keys: %p %p", |
debug3("%s: Sending new keys: %p %p", |
__func__, newkeys[MODE_OUT], newkeys[MODE_IN]); |
__func__, packet_get_newkeys(MODE_OUT), |
|
packet_get_newkeys(MODE_IN)); |
|
|
/* Keys from Kex */ |
/* Keys from Kex */ |
if (!mm_newkeys_to_blob(MODE_OUT, &blob, &bloblen)) |
if (!mm_newkeys_to_blob(MODE_OUT, &blob, &bloblen)) |
|
|
buffer_put_string(&m, &incoming_stream, sizeof(incoming_stream)); |
buffer_put_string(&m, &incoming_stream, sizeof(incoming_stream)); |
|
|
/* Network I/O buffers */ |
/* Network I/O buffers */ |
buffer_put_string(&m, buffer_ptr(&input), buffer_len(&input)); |
input = (Buffer *)packet_get_input(); |
buffer_put_string(&m, buffer_ptr(&output), buffer_len(&output)); |
output = (Buffer *)packet_get_output(); |
|
buffer_put_string(&m, buffer_ptr(input), buffer_len(input)); |
|
buffer_put_string(&m, buffer_ptr(output), buffer_len(output)); |
|
|
mm_request_send(monitor->m_recvfd, MONITOR_REQ_KEYEXPORT, &m); |
mm_request_send(monitor->m_recvfd, MONITOR_REQ_KEYEXPORT, &m); |
debug3("%s: Finished sending state", __func__); |
debug3("%s: Finished sending state", __func__); |