return cd->valid;
}
- if (p->ip4vars.comp_csum == -1)
- p->ip4vars.comp_csum = IPV4CalculateChecksum((uint16_t *)p->ip4h,
- IPV4_GET_HLEN(p));
+ if (p->level3_comp_csum == -1)
+ p->level3_comp_csum = IPV4CalculateChecksum((uint16_t *)p->ip4h,
+ IPV4_GET_HLEN(p));
- if (p->ip4vars.comp_csum == p->ip4h->ip_csum && cd->valid == 1)
+ if (p->level3_comp_csum == p->ip4h->ip_csum && cd->valid == 1)
return 1;
- else if (p->ip4vars.comp_csum != p->ip4h->ip_csum && cd->valid == 0)
+ else if (p->level3_comp_csum != p->ip4h->ip_csum && cd->valid == 0)
return 1;
else
return 0;
return cd->valid;
}
- if (p->comp_csum == -1)
- p->comp_csum = TCPCalculateChecksum(p->ip4h->s_ip_addrs,
- (uint16_t *)p->tcph,
- (p->payload_len + TCP_GET_HLEN(p)));
+ if (p->level4_comp_csum == -1)
+ p->level4_comp_csum = TCPCalculateChecksum(p->ip4h->s_ip_addrs,
+ (uint16_t *)p->tcph,
+ (p->payload_len + TCP_GET_HLEN(p)));
- if (p->comp_csum == p->tcph->th_sum && cd->valid == 1)
+ if (p->level4_comp_csum == p->tcph->th_sum && cd->valid == 1)
return 1;
- else if (p->comp_csum != p->tcph->th_sum && cd->valid == 0)
+ else if (p->level4_comp_csum != p->tcph->th_sum && cd->valid == 0)
return 1;
else
return 0;
return cd->valid;
}
- if (p->comp_csum == -1)
- p->comp_csum = TCPV6CalculateChecksum(p->ip6h->s_ip6_addrs,
- (uint16_t *)p->tcph,
- (p->payload_len + TCP_GET_HLEN(p)));
+ if (p->level4_comp_csum == -1)
+ p->level4_comp_csum = TCPV6CalculateChecksum(p->ip6h->s_ip6_addrs,
+ (uint16_t *)p->tcph,
+ (p->payload_len + TCP_GET_HLEN(p)));
- if (p->comp_csum == p->tcph->th_sum && cd->valid == 1)
+ if (p->level4_comp_csum == p->tcph->th_sum && cd->valid == 1)
return 1;
- else if (p->comp_csum != p->tcph->th_sum && cd->valid == 0)
+ else if (p->level4_comp_csum != p->tcph->th_sum && cd->valid == 0)
return 1;
else
return 0;
return cd->valid;
}
- if (p->comp_csum == -1)
- p->comp_csum = UDPV4CalculateChecksum(p->ip4h->s_ip_addrs,
- (uint16_t *)p->udph,
- (p->payload_len +
- UDP_HEADER_LEN) );
+ if (p->level4_comp_csum == -1)
+ p->level4_comp_csum = UDPV4CalculateChecksum(p->ip4h->s_ip_addrs,
+ (uint16_t *)p->udph,
+ (p->payload_len +
+ UDP_HEADER_LEN) );
- if (p->comp_csum == p->udph->uh_sum && cd->valid == 1)
+ if (p->level4_comp_csum == p->udph->uh_sum && cd->valid == 1)
return 1;
- else if (p->comp_csum != p->udph->uh_sum && cd->valid == 0)
+ else if (p->level4_comp_csum != p->udph->uh_sum && cd->valid == 0)
return 1;
else
return 0;
return cd->valid;
}
- if (p->comp_csum == -1)
- p->comp_csum = UDPV6CalculateChecksum(p->ip6h->s_ip6_addrs,
- (uint16_t *)p->udph,
- (p->payload_len +
- UDP_HEADER_LEN) );
+ if (p->level4_comp_csum == -1)
+ p->level4_comp_csum = UDPV6CalculateChecksum(p->ip6h->s_ip6_addrs,
+ (uint16_t *)p->udph,
+ (p->payload_len +
+ UDP_HEADER_LEN) );
- if (p->comp_csum == p->udph->uh_sum && cd->valid == 1)
+ if (p->level4_comp_csum == p->udph->uh_sum && cd->valid == 1)
return 1;
- else if (p->comp_csum != p->udph->uh_sum && cd->valid == 0)
+ else if (p->level4_comp_csum != p->udph->uh_sum && cd->valid == 0)
return 1;
else
return 0;
return cd->valid;
}
- if (p->comp_csum == -1)
- p->comp_csum = ICMPV4CalculateChecksum((uint16_t *)p->icmpv4h,
- ntohs(IPV4_GET_RAW_IPLEN(p->ip4h)) -
- IPV4_GET_RAW_HLEN(p->ip4h) * 4);
+ if (p->level4_comp_csum == -1)
+ p->level4_comp_csum = ICMPV4CalculateChecksum((uint16_t *)p->icmpv4h,
+ ntohs(IPV4_GET_RAW_IPLEN(p->ip4h)) -
+ IPV4_GET_RAW_HLEN(p->ip4h) * 4);
- if (p->comp_csum == p->icmpv4h->checksum && cd->valid == 1)
+ if (p->level4_comp_csum == p->icmpv4h->checksum && cd->valid == 1)
return 1;
- else if (p->comp_csum != p->icmpv4h->checksum && cd->valid == 0)
+ else if (p->level4_comp_csum != p->icmpv4h->checksum && cd->valid == 0)
return 1;
else
return 0;
return cd->valid;
}
- if (p->comp_csum == -1)
- p->comp_csum = ICMPV6CalculateChecksum(p->ip6h->s_ip6_addrs,
- (uint16_t *)p->icmpv6h,
- GET_PKT_LEN(p) - ((uint8_t *)p->icmpv6h - GET_PKT_DATA(p)));
+ if (p->level4_comp_csum == -1)
+ p->level4_comp_csum = ICMPV6CalculateChecksum(p->ip6h->s_ip6_addrs,
+ (uint16_t *)p->icmpv6h,
+ GET_PKT_LEN(p) - ((uint8_t *)p->icmpv6h - GET_PKT_DATA(p)));
- if (p->comp_csum == p->icmpv6h->csum && cd->valid == 1)
+ if (p->level4_comp_csum == p->icmpv6h->csum && cd->valid == 1)
return 1;
- else if (p->comp_csum != p->icmpv6h->csum && cd->valid == 0)
+ else if (p->level4_comp_csum != p->icmpv6h->csum && cd->valid == 0)
return 1;
else
return 0;
if (p->flags & PKT_IGNORE_CHECKSUM)
return ret;
- if (p->comp_csum == -1) {
+ if (p->level4_comp_csum == -1) {
if (PKT_IS_IPV4(p)) {
- p->comp_csum = TCPCalculateChecksum(p->ip4h->s_ip_addrs,
- (uint16_t *)p->tcph,
- (p->payload_len +
- TCP_GET_HLEN(p)));
+ p->level4_comp_csum = TCPCalculateChecksum(p->ip4h->s_ip_addrs,
+ (uint16_t *)p->tcph,
+ (p->payload_len +
+ TCP_GET_HLEN(p)));
} else if (PKT_IS_IPV6(p)) {
- p->comp_csum = TCPV6CalculateChecksum(p->ip6h->s_ip6_addrs,
- (uint16_t *)p->tcph,
- (p->payload_len +
- TCP_GET_HLEN(p)));
+ p->level4_comp_csum = TCPV6CalculateChecksum(p->ip6h->s_ip6_addrs,
+ (uint16_t *)p->tcph,
+ (p->payload_len +
+ TCP_GET_HLEN(p)));
}
}
- if (p->comp_csum != p->tcph->th_sum) {
+ if (p->level4_comp_csum != p->tcph->th_sum) {
ret = 0;
SCLogDebug("Checksum of received packet %p is invalid",p);
if (p->livedev) {
p.payload = packet;
p.ip4h = &ipv4h;
p.tcpc = tcpc;
- p.tcpc.comp_csum = -1;
+ p.tcpc.level4_comp_csum = -1;
tcpvars.hlen = 20;
p.tcpvars = tcpvars;
ssn.state = TCP_ESTABLISHED;
ssn.server.last_ack = 119197101;
ssn.server.ra_base_seq = 119197101;
-
-
-
tcph.th_flags = TH_PUSH | TH_ACK;
p.flowflags = FLOW_PKT_TOSERVER;
p.tcph->th_seq = htonl(11);
p.payload_len = 4;
p.ip4h->ip_src = addr1;
p.tcph->th_sum = TCPCalculateChecksum((uint16_t *)&(p.ip4h->ip_src),
- (uint16_t *)p.tcph,
- (p.payload_len +
- p.tcpvars.hlen) );
+ (uint16_t *)p.tcph,
+ (p.payload_len +
+ p.tcpvars.hlen) );
if (StreamTcp(&tv, &p, (void *)&stt, NULL, NULL) != TM_ECODE_OK) {
printf("failed in segment reassmebling\n");
p.payload = payload;
p.ip4h = &ipv4h;
p.tcpc = tcpc;
- p.tcpc.comp_csum = -1;
+ p.tcpc.level4_comp_csum = -1;
p.tcpvars = tcpvars;
ssn.state = TCP_ESTABLISHED;
addr.s_addr = inet_addr("10.1.3.53");
p.tcph = &tcph;
p.ip4h = &ipv4h;
p.tcpc = tcpc;
- p.tcpc.comp_csum = -1;
+ p.tcpc.level4_comp_csum = -1;
p.tcpvars = tcpvars;
p.tcpvars.ts = &tcpopt;
addr.s_addr = inet_addr("10.1.3.53");
p.payload_len = 0;
p.ip4h->ip_src = addr1;
p.tcpc.ts1 = 10;
- p.tcpc.comp_csum = -1;
+ p.tcpc.level4_comp_csum = -1;
p.tcph->th_sum = TCPCalculateChecksum((uint16_t *)&(p.ip4h->ip_src),
- (uint16_t *)p.tcph,
- (p.payload_len +
- p.tcpvars.hlen) );
+ (uint16_t *)p.tcph,
+ (p.payload_len +
+ p.tcpvars.hlen) );
if (StreamTcp(&tv, &p, (void *)&stt, NULL, NULL) != TM_ECODE_OK) {
printf("failed in segment reassmebling\n");
p.payload_len = 0;
p.tcpc.ts1 = 10;
p.ip4h->ip_src = addr;
- p.tcpc.comp_csum = -1;
+ p.tcpc.level4_comp_csum = -1;
p.tcph->th_sum = TCPCalculateChecksum((uint16_t *)&(p.ip4h->ip_src),
- (uint16_t *)p.tcph,
- (p.payload_len +
- p.tcpvars.hlen) );
+ (uint16_t *)p.tcph,
+ (p.payload_len +
+ p.tcpvars.hlen) );
if (StreamTcp(&tv, &p, (void *)&stt, NULL, NULL) != TM_ECODE_OK) {
printf("failed in segment reassmebling\n");
p.payload_len = 0;
p.tcpc.ts1 = 10;
p.ip4h->ip_src = addr1;
- p.tcpc.comp_csum = -1;
+ p.tcpc.level4_comp_csum = -1;
p.tcph->th_sum = TCPCalculateChecksum((uint16_t *)&(p.ip4h->ip_src),
- (uint16_t *)p.tcph,
- (p.payload_len +
- p.tcpvars.hlen) );
+ (uint16_t *)p.tcph,
+ (p.payload_len +
+ p.tcpvars.hlen) );
if (StreamTcp(&tv, &p, (void *)&stt, NULL, NULL) != TM_ECODE_OK) {
printf("failed in segment reassmebling\n");