diff options
author | Damien Miller <djm@mindrot.org> | 2001-12-21 14:56:54 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2001-12-21 14:56:54 +1100 |
commit | 5a6b4fe22583394886092aad5787b5fa8355276e (patch) | |
tree | c6366cbaf2c3ea9bd1ac8f162f9452e1e9ca0434 /packet.c | |
parent | f6681a3a96ae06d62db49594ba0dcf352f817801 (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.c | 25 |
1 files changed, 13 insertions, 12 deletions
@@ -37,7 +37,7 @@ | |||
37 | */ | 37 | */ |
38 | 38 | ||
39 | #include "includes.h" | 39 | #include "includes.h" |
40 | RCSID("$OpenBSD: packet.c,v 1.75 2001/12/19 07:18:56 deraadt Exp $"); | 40 | RCSID("$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 | } |
331 | void | 331 | void |
332 | packet_put_string(const char *buf, u_int len) | 332 | packet_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 | } |
341 | void | 341 | void |
342 | packet_put_raw(const char *buf, u_int len) | 342 | packet_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 | ||
999 | char * | 1000 | void * |
1000 | packet_get_raw(int *length_ptr) | 1001 | packet_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 | ||
1021 | char * | 1022 | void * |
1022 | packet_get_string(u_int *length_ptr) | 1023 | packet_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); |