summaryrefslogtreecommitdiff
path: root/packet.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2001-12-21 14:56:54 +1100
committerDamien Miller <djm@mindrot.org>2001-12-21 14:56:54 +1100
commit5a6b4fe22583394886092aad5787b5fa8355276e (patch)
treec6366cbaf2c3ea9bd1ac8f162f9452e1e9ca0434 /packet.c
parentf6681a3a96ae06d62db49594ba0dcf352f817801 (diff)
- stevesk@cvs.openbsd.org 2001/12/19 17:16:13
[authfile.c bufaux.c bufaux.h buffer.c buffer.h packet.c packet.h ssh.c] change the buffer/packet interface to use void* vs. char*; ok markus@
Diffstat (limited to 'packet.c')
-rw-r--r--packet.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/packet.c b/packet.c
index 9aeda3936..4b3eafc88 100644
--- a/packet.c
+++ b/packet.c
@@ -37,7 +37,7 @@
37 */ 37 */
38 38
39#include "includes.h" 39#include "includes.h"
40RCSID("$OpenBSD: packet.c,v 1.75 2001/12/19 07:18:56 deraadt Exp $"); 40RCSID("$OpenBSD: packet.c,v 1.76 2001/12/19 17:16:13 stevesk Exp $");
41 41
42#include "xmalloc.h" 42#include "xmalloc.h"
43#include "buffer.h" 43#include "buffer.h"
@@ -329,7 +329,7 @@ packet_put_int(u_int value)
329 buffer_put_int(&outgoing_packet, value); 329 buffer_put_int(&outgoing_packet, value);
330} 330}
331void 331void
332packet_put_string(const char *buf, u_int len) 332packet_put_string(const void *buf, u_int len)
333{ 333{
334 buffer_put_string(&outgoing_packet, buf, len); 334 buffer_put_string(&outgoing_packet, buf, len);
335} 335}
@@ -339,7 +339,7 @@ packet_put_cstring(const char *str)
339 buffer_put_cstring(&outgoing_packet, str); 339 buffer_put_cstring(&outgoing_packet, str);
340} 340}
341void 341void
342packet_put_raw(const char *buf, u_int len) 342packet_put_raw(const void *buf, u_int len)
343{ 343{
344 buffer_append(&outgoing_packet, buf, len); 344 buffer_append(&outgoing_packet, buf, len);
345} 345}
@@ -412,7 +412,7 @@ packet_send1(void)
412 /* Append to output. */ 412 /* Append to output. */
413 PUT_32BIT(buf, len); 413 PUT_32BIT(buf, len);
414 buffer_append(&output, buf, 4); 414 buffer_append(&output, buf, 4);
415 buffer_append_space(&output, &cp, buffer_len(&outgoing_packet)); 415 cp = buffer_append_space(&output, buffer_len(&outgoing_packet));
416 cipher_encrypt(&send_context, cp, buffer_ptr(&outgoing_packet), 416 cipher_encrypt(&send_context, cp, buffer_ptr(&outgoing_packet),
417 buffer_len(&outgoing_packet)); 417 buffer_len(&outgoing_packet));
418 418
@@ -546,7 +546,7 @@ packet_send2(void)
546 padlen += pad; 546 padlen += pad;
547 extra_pad = 0; 547 extra_pad = 0;
548 } 548 }
549 buffer_append_space(&outgoing_packet, &cp, padlen); 549 cp = buffer_append_space(&outgoing_packet, padlen);
550 if (enc && enc->cipher->number != SSH_CIPHER_NONE) { 550 if (enc && enc->cipher->number != SSH_CIPHER_NONE) {
551 /* random padding */ 551 /* random padding */
552 for (i = 0; i < padlen; i++) { 552 for (i = 0; i < padlen; i++) {
@@ -574,7 +574,7 @@ packet_send2(void)
574 DBG(debug("done calc MAC out #%d", seqnr)); 574 DBG(debug("done calc MAC out #%d", seqnr));
575 } 575 }
576 /* encrypt packet and append to output buffer. */ 576 /* encrypt packet and append to output buffer. */
577 buffer_append_space(&output, &cp, buffer_len(&outgoing_packet)); 577 cp = buffer_append_space(&output, buffer_len(&outgoing_packet));
578 cipher_encrypt(&send_context, cp, buffer_ptr(&outgoing_packet), 578 cipher_encrypt(&send_context, cp, buffer_ptr(&outgoing_packet),
579 buffer_len(&outgoing_packet)); 579 buffer_len(&outgoing_packet));
580 /* append unencrypted MAC */ 580 /* append unencrypted MAC */
@@ -734,7 +734,7 @@ packet_read_poll1(int *payload_len_ptr)
734 734
735 /* Decrypt data to incoming_packet. */ 735 /* Decrypt data to incoming_packet. */
736 buffer_clear(&incoming_packet); 736 buffer_clear(&incoming_packet);
737 buffer_append_space(&incoming_packet, &cp, padded_len); 737 cp = buffer_append_space(&incoming_packet, padded_len);
738 cipher_decrypt(&receive_context, cp, buffer_ptr(&input), padded_len); 738 cipher_decrypt(&receive_context, cp, buffer_ptr(&input), padded_len);
739 739
740 buffer_consume(&input, padded_len); 740 buffer_consume(&input, padded_len);
@@ -803,7 +803,7 @@ packet_read_poll2(int *payload_len_ptr)
803 if (buffer_len(&input) < block_size) 803 if (buffer_len(&input) < block_size)
804 return SSH_MSG_NONE; 804 return SSH_MSG_NONE;
805 buffer_clear(&incoming_packet); 805 buffer_clear(&incoming_packet);
806 buffer_append_space(&incoming_packet, &cp, block_size); 806 cp = buffer_append_space(&incoming_packet, block_size);
807 cipher_decrypt(&receive_context, cp, buffer_ptr(&input), 807 cipher_decrypt(&receive_context, cp, buffer_ptr(&input),
808 block_size); 808 block_size);
809 ucp = (u_char *) buffer_ptr(&incoming_packet); 809 ucp = (u_char *) buffer_ptr(&incoming_packet);
@@ -832,7 +832,7 @@ packet_read_poll2(int *payload_len_ptr)
832 fprintf(stderr, "read_poll enc/full: "); 832 fprintf(stderr, "read_poll enc/full: ");
833 buffer_dump(&input); 833 buffer_dump(&input);
834#endif 834#endif
835 buffer_append_space(&incoming_packet, &cp, need); 835 cp = buffer_append_space(&incoming_packet, need);
836 cipher_decrypt(&receive_context, cp, buffer_ptr(&input), need); 836 cipher_decrypt(&receive_context, cp, buffer_ptr(&input), need);
837 buffer_consume(&input, need); 837 buffer_consume(&input, need);
838 /* 838 /*
@@ -852,7 +852,8 @@ packet_read_poll2(int *payload_len_ptr)
852 log("incoming seqnr wraps around"); 852 log("incoming seqnr wraps around");
853 853
854 /* get padlen */ 854 /* get padlen */
855 cp = buffer_ptr(&incoming_packet) + 4; 855 cp = buffer_ptr(&incoming_packet);
856 cp += 4;
856 padlen = (u_char) *cp; 857 padlen = (u_char) *cp;
857 DBG(debug("input: padlen %d", padlen)); 858 DBG(debug("input: padlen %d", padlen));
858 if (padlen < 4) 859 if (padlen < 4)
@@ -996,7 +997,7 @@ packet_get_bignum2(BIGNUM * value, int *length_ptr)
996 *length_ptr = buffer_get_bignum2(&incoming_packet, value); 997 *length_ptr = buffer_get_bignum2(&incoming_packet, value);
997} 998}
998 999
999char * 1000void *
1000packet_get_raw(int *length_ptr) 1001packet_get_raw(int *length_ptr)
1001{ 1002{
1002 int bytes = buffer_len(&incoming_packet); 1003 int bytes = buffer_len(&incoming_packet);
@@ -1018,7 +1019,7 @@ packet_remaining(void)
1018 * integer into which the length of the string is stored. 1019 * integer into which the length of the string is stored.
1019 */ 1020 */
1020 1021
1021char * 1022void *
1022packet_get_string(u_int *length_ptr) 1023packet_get_string(u_int *length_ptr)
1023{ 1024{
1024 return buffer_get_string(&incoming_packet, length_ptr); 1025 return buffer_get_string(&incoming_packet, length_ptr);