mirror of
https://github.com/zeek/zeek.git
synced 2025-10-03 07:08:19 +00:00
add testcases
This commit is contained in:
parent
7dcf974daf
commit
84d609b333
4 changed files with 42 additions and 33 deletions
|
@ -713,7 +713,7 @@ bool DNS_Interpreter::ParseRR_EDNS(DNS_MsgInfo* msg,
|
||||||
uint16_t option_code = ExtractShort(data, len);
|
uint16_t option_code = ExtractShort(data, len);
|
||||||
int option_len = ExtractShort(data, len);
|
int option_len = ExtractShort(data, len);
|
||||||
// check for invalid option length
|
// check for invalid option length
|
||||||
if ( (option_len > len) || (0 == option_len) ) {
|
if ( (option_len > len) ) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
len -= option_len;
|
len -= option_len;
|
||||||
|
@ -789,7 +789,6 @@ bool DNS_Interpreter::ParseRR_EDNS(DNS_MsgInfo* msg,
|
||||||
EDNS_TCP_KEEPALIVE edns_tcp_keepalive{
|
EDNS_TCP_KEEPALIVE edns_tcp_keepalive{
|
||||||
.keepalive_timeout_omitted = true,
|
.keepalive_timeout_omitted = true,
|
||||||
.keepalive_timeout = 0
|
.keepalive_timeout = 0
|
||||||
|
|
||||||
};
|
};
|
||||||
if ( option_len == 0 || option_len == 2)
|
if ( option_len == 0 || option_len == 2)
|
||||||
{
|
{
|
||||||
|
@ -801,12 +800,10 @@ bool DNS_Interpreter::ParseRR_EDNS(DNS_MsgInfo* msg,
|
||||||
|
|
||||||
if (analyzer->Conn()->ConnTransport() == TRANSPORT_UDP) {
|
if (analyzer->Conn()->ConnTransport() == TRANSPORT_UDP) {
|
||||||
/*
|
/*
|
||||||
* Based on RFC 7828, clients and servers MUST NOT negotiate
|
* Based on RFC 7828 (3.2.1/3.2.2), clients and servers MUST NOT
|
||||||
* TCP Keepalive timeout in DNS-over-UDP.
|
* negotiate TCP Keepalive timeout in DNS-over-UDP.
|
||||||
* Record in Weird and proceed to the next EDNS option
|
|
||||||
*/
|
*/
|
||||||
analyzer->Weird("EDNS_TCP_Keepalive_Record_In_UDP");
|
analyzer->Weird("EDNS_TCP_Keepalive_Record_In_UDP");
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
analyzer->EnqueueConnEvent(dns_EDNS_tcp_keepalive,
|
analyzer->EnqueueConnEvent(dns_EDNS_tcp_keepalive,
|
||||||
analyzer->ConnVal(),
|
analyzer->ConnVal(),
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[keepalive_timeout_omitted=F, keepalive_timeout=10]
|
||||||
|
[keepalive_timeout_omitted=F, keepalive_timeout=370]
|
||||||
|
[keepalive_timeout_omitted=T, keepalive_timeout=0]
|
||||||
|
[keepalive_timeout_omitted=F, keepalive_timeout=370]
|
BIN
testing/btest/Traces/dns-edns-tcp-keepalive.pcap
Normal file
BIN
testing/btest/Traces/dns-edns-tcp-keepalive.pcap
Normal file
Binary file not shown.
|
@ -0,0 +1,8 @@
|
||||||
|
# @TEST-EXEC: zeek -C -r $TRACES/dns-edns-tcp-keepalive.pcap %INPUT > output
|
||||||
|
# @TEST-EXEC: btest-diff output
|
||||||
|
@load policy/protocols/dns/auth-addl
|
||||||
|
|
||||||
|
event dns_EDNS_tcp_keepalive(c: connection, msg: dns_msg, opt: dns_edns_tcp_keepalive)
|
||||||
|
{
|
||||||
|
print opt;
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue