From a742bbf8610aae58fc6d6ee2377c83395b3ca535 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 28 Feb 2008 01:57:42 +0000 Subject: fixed PlainPacket get Src/Dst Address added toString to NetworkAddress --- plainPacket.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'plainPacket.cpp') diff --git a/plainPacket.cpp b/plainPacket.cpp index 1789854..f9c43ae 100644 --- a/plainPacket.cpp +++ b/plainPacket.cpp @@ -89,19 +89,21 @@ NetworkAddress PlainPacket::getSrcAddr() const if(!payload_type_ || !payload_) return NetworkAddress(); - if(PAYLOAD_TYPE_TAP) // Ehternet + payload_type_t type = PAYLOAD_TYPE_T_NTOH(*payload_type_); + + if(type == PAYLOAD_TYPE_TAP) // Ehternet { // TODO return NetworkAddress(); } - else if(PAYLOAD_TYPE_TUN) // IPv4 + else if(type == PAYLOAD_TYPE_TUN) // IPv4 { if(length_ < (sizeof(payload_type_t)+sizeof(struct ip))) return NetworkAddress(); struct ip* hdr = reinterpret_cast(payload_); return NetworkAddress(hdr->ip_src); } - else if(PAYLOAD_TYPE_TUN6) // IPv6 + else if(type == PAYLOAD_TYPE_TUN6) // IPv6 { if(length_ < (sizeof(payload_type_t)+sizeof(struct ip6_hdr))) return NetworkAddress(); @@ -117,19 +119,21 @@ NetworkAddress PlainPacket::getDstAddr() const if(!payload_type_ || !payload_) return NetworkAddress(); - if(PAYLOAD_TYPE_TAP) // Ehternet + payload_type_t type = PAYLOAD_TYPE_T_NTOH(*payload_type_); + + if(type == PAYLOAD_TYPE_TAP) // Ehternet { // TODO return NetworkAddress(); } - else if(PAYLOAD_TYPE_TUN) // IPv4 + else if(type == PAYLOAD_TYPE_TUN) // IPv4 { if(length_ < (sizeof(payload_type_t)+sizeof(struct ip))) return NetworkAddress(); struct ip* hdr = reinterpret_cast(payload_); return NetworkAddress(hdr->ip_dst); } - else if(PAYLOAD_TYPE_TUN6) // IPv6 + else if(type == PAYLOAD_TYPE_TUN6) // IPv6 { if(length_ < (sizeof(payload_type_t)+sizeof(struct ip6_hdr))) return NetworkAddress(); -- cgit v1.2.3