diff options
author | Christian Pointner <equinox@anytun.org> | 2008-12-28 18:42:40 +0000 |
---|---|---|
committer | Christian Pointner <equinox@anytun.org> | 2008-12-28 18:42:40 +0000 |
commit | f90bdf34ce94392fbf705c1ab23fb986bfdec16f (patch) | |
tree | 1dfcc9e65c786e9b59010f66170115ad4fcd16c0 /src/plain_packet.c | |
parent | added cipher (net tested yet) (diff) |
added forgotten set functions to packets
Diffstat (limited to 'src/plain_packet.c')
-rw-r--r-- | src/plain_packet.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/plain_packet.c b/src/plain_packet.c index 9d31467..69338c1 100644 --- a/src/plain_packet.c +++ b/src/plain_packet.c @@ -65,7 +65,17 @@ u_int32_t plain_packet_get_length(plain_packet_t* packet) void plain_packet_set_length(plain_packet_t* packet, u_int32_t len) { + if(!packet) + return; + if(len > PLAIN_PACKET_SIZE_MAX) + len = PLAIN_PACKET_SIZE_MAX - sizeof(payload_type_t); + else if(len < sizeof(payload_type_t)) + len = 0; + else + len -= sizeof(payload_type_t); + + packet->payload_length_ = len; } u_int8_t* plain_packet_get_payload(plain_packet_t* packet) |