summaryrefslogtreecommitdiff
path: root/monitor_wrap.c
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2009-06-21 18:12:20 +1000
committerDarren Tucker <dtucker@zip.com.au>2009-06-21 18:12:20 +1000
commitf7288d77e4e705cbbc12c2ad55ed50f9de9a87e2 (patch)
tree77f63923d1bc97e2aeda861699e1d2d00d645eda /monitor_wrap.c
parent51dbe503bf92ee38f003ffde4bb0a0d85c438ea7 (diff)
- andreas@cvs.openbsd.org 2009/05/27 06:31:25
[canohost.h canohost.c] Add clear_cached_addr(), needed for upcoming changes allowing the peer address to change. ok markus@
Diffstat (limited to 'monitor_wrap.c')
-rw-r--r--monitor_wrap.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/monitor_wrap.c b/monitor_wrap.c
index db3251b93..d71d4a8c5 100644
--- a/monitor_wrap.c
+++ b/monitor_wrap.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: monitor_wrap.c,v 1.65 2009/03/05 07:18:19 djm Exp $ */ 1/* $OpenBSD: monitor_wrap.c,v 1.66 2009/05/25 06:48:01 andreas Exp $ */
2/* 2/*
3 * Copyright 2002 Niels Provos <provos@citi.umich.edu> 3 * Copyright 2002 Niels Provos <provos@citi.umich.edu>
4 * Copyright 2002 Markus Friedl <markus@openbsd.org> 4 * Copyright 2002 Markus Friedl <markus@openbsd.org>
@@ -80,11 +80,9 @@
80 80
81/* Imports */ 81/* Imports */
82extern int compat20; 82extern int compat20;
83extern Newkeys *newkeys[];
84extern z_stream incoming_stream; 83extern z_stream incoming_stream;
85extern z_stream outgoing_stream; 84extern z_stream outgoing_stream;
86extern struct monitor *pmonitor; 85extern struct monitor *pmonitor;
87extern Buffer input, output;
88extern Buffer loginmsg; 86extern Buffer loginmsg;
89extern ServerOptions options; 87extern ServerOptions options;
90 88
@@ -509,7 +507,7 @@ mm_newkeys_to_blob(int mode, u_char **blobp, u_int *lenp)
509 Enc *enc; 507 Enc *enc;
510 Mac *mac; 508 Mac *mac;
511 Comp *comp; 509 Comp *comp;
512 Newkeys *newkey = newkeys[mode]; 510 Newkeys *newkey = (Newkeys *)packet_get_newkeys(mode);
513 511
514 debug3("%s: converting %p", __func__, newkey); 512 debug3("%s: converting %p", __func__, newkey);
515 513
@@ -571,7 +569,7 @@ mm_send_kex(Buffer *m, Kex *kex)
571void 569void
572mm_send_keystate(struct monitor *monitor) 570mm_send_keystate(struct monitor *monitor)
573{ 571{
574 Buffer m; 572 Buffer m, *input, *output;
575 u_char *blob, *p; 573 u_char *blob, *p;
576 u_int bloblen, plen; 574 u_int bloblen, plen;
577 u_int32_t seqnr, packets; 575 u_int32_t seqnr, packets;
@@ -609,7 +607,8 @@ mm_send_keystate(struct monitor *monitor)
609 } 607 }
610 608
611 debug3("%s: Sending new keys: %p %p", 609 debug3("%s: Sending new keys: %p %p",
612 __func__, newkeys[MODE_OUT], newkeys[MODE_IN]); 610 __func__, packet_get_newkeys(MODE_OUT),
611 packet_get_newkeys(MODE_IN));
613 612
614 /* Keys from Kex */ 613 /* Keys from Kex */
615 if (!mm_newkeys_to_blob(MODE_OUT, &blob, &bloblen)) 614 if (!mm_newkeys_to_blob(MODE_OUT, &blob, &bloblen))
@@ -656,8 +655,10 @@ mm_send_keystate(struct monitor *monitor)
656 buffer_put_string(&m, &incoming_stream, sizeof(incoming_stream)); 655 buffer_put_string(&m, &incoming_stream, sizeof(incoming_stream));
657 656
658 /* Network I/O buffers */ 657 /* Network I/O buffers */
659 buffer_put_string(&m, buffer_ptr(&input), buffer_len(&input)); 658 input = (Buffer *)packet_get_input();
660 buffer_put_string(&m, buffer_ptr(&output), buffer_len(&output)); 659 output = (Buffer *)packet_get_output();
660 buffer_put_string(&m, buffer_ptr(input), buffer_len(input));
661 buffer_put_string(&m, buffer_ptr(output), buffer_len(output));
661 662
662 mm_request_send(monitor->m_recvfd, MONITOR_REQ_KEYEXPORT, &m); 663 mm_request_send(monitor->m_recvfd, MONITOR_REQ_KEYEXPORT, &m);
663 debug3("%s: Finished sending state", __func__); 664 debug3("%s: Finished sending state", __func__);