X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FUDPPacket.cc;h=8d4a8502b534a0da4e6a5776a031892bcb89e9bd;hb=ee64a24a7ed1dfcdb7a12f14d7df3b043e564a30;hp=b5328adc75a97fc720a06e15891f0724342da8d0;hpb=31ed30073d2e81f271de29adaa1b8d4a63236225;p=senf.git diff --git a/Packets/DefaultBundle/UDPPacket.cc b/Packets/DefaultBundle/UDPPacket.cc index b5328ad..8d4a850 100644 --- a/Packets/DefaultBundle/UDPPacket.cc +++ b/Packets/DefaultBundle/UDPPacket.cc @@ -54,11 +54,11 @@ prefix_ boost::uint16_t senf::UDPPacketParser::calcChecksum() summer.feed( i()+checksum_offset+2, data().end() ); // Now on to the awkward part: the IP pseudo header - IPv4Packet ipv4 (packet().prev(nothrow)); + IPv4Packet ipv4 (packet().rfind()); if (ipv4) { // Pseudo header defined in RFC768 summer.feed( ipv4->source().i(), - ipv4->source().i() + IPv4PacketParser::source_t::fixed_bytes ); + ipv4->source().i() + IPv4Packet::Parser::source_t::fixed_bytes ); ///\fixme What about a hop-by-hop routing option? Which destination is used in IPv4 ? summer.feed( ipv4->destination().i(), ipv4->destination().i() + IPv4PacketParser::destination_t::fixed_bytes ); @@ -70,10 +70,10 @@ prefix_ boost::uint16_t senf::UDPPacketParser::calcChecksum() } else { // Pseudo header defined in RFC2460 - IPv6Packet ipv6 (packet().prev(nothrow)); + IPv6Packet ipv6 (packet().rfind()); if (ipv6) { summer.feed( ipv6->source().i(), - ipv6->source().i() + IPv6PacketParser::source_t::fixed_bytes ); + ipv6->source().i() + IPv6Packet::Parser::source_t::fixed_bytes ); ///\todo Implement routing header support // The destination used here must be the *final* destination ... summer.feed( ipv6->destination().i(),