15327 lines
800 KiB
Plaintext
15327 lines
800 KiB
Plaintext
*****************************************************************************
|
|
Semantic Analysis of SPARK Text
|
|
Examiner GPL Edition
|
|
|
|
*****************************************************************************
|
|
|
|
|
|
|
|
SPARK Simplifier GPL 2011
|
|
Copyright (C) 2011 Altran Praxis Limited, Bath, U.K.
|
|
|
|
procedure Process_Dns_Request.Get_Query_Name_Type_Class
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_1. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_2. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New C2: input_bytes >= - 2147483643
|
|
<S> New C6: dns_types__packet_bytes_range__first >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New C3: input_bytes <= 2147483652
|
|
<S> New C7: dns_types__packet_bytes_range__first <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New C4: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New C5: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New C1: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New C6: true
|
|
<S> New C7: true
|
|
*** Proved C3: input_bytes <= 2147483652
|
|
using hypothesis H2.
|
|
*** Proved C5: input_bytes <= 2147483652
|
|
using hypothesis H2.
|
|
*** Proved C6: true
|
|
*** Proved C7: true
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
*** Proved C2: input_bytes >= - 2147483643
|
|
using hypothesis H1.
|
|
*** Proved C4: input_bytes >= - 2147483643
|
|
using hypothesis H1.
|
|
*** Proved C1: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_3. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
*** Proved C1: byte + 1 <= input_bytes - 5 -> byte + 1 >=
|
|
dns_types__packet_bytes_range__first and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
using hypotheses H42 & H43.
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New C2: input_bytes >= - 2147483643
|
|
<S> New C6: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New C3: input_bytes <= 2147483652
|
|
<S> New C7: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New C4: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New C5: input_bytes <= 2147483652
|
|
*** Proved C3: input_bytes <= 2147483652
|
|
using hypothesis H31.
|
|
*** Proved C7: byte <= 2147483646
|
|
using hypotheses H4 & H31.
|
|
*** Proved C5: input_bytes <= 2147483652
|
|
using hypothesis H31.
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
*** Proved C2: input_bytes >= - 2147483643
|
|
using hypothesis H30.
|
|
*** Proved C6: byte >= - 2147483649
|
|
using hypothesis H3.
|
|
*** Proved C4: input_bytes >= - 2147483643
|
|
using hypothesis H30.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_4. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: true
|
|
%%% Simplified C3 on reading formula in, to give:
|
|
%%% C3: true
|
|
%%% Simplified C5 on reading formula in, to give:
|
|
%%% C5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified C14 on reading formula in, to give:
|
|
%%% C14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified C23 on reading formula in, to give:
|
|
%%% C23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
*** Proved C1: true
|
|
*** Proved C2: rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last
|
|
using hypothesis H39.
|
|
*** Proved C3: true
|
|
*** Proved C4: dns_types__packet_bytes_range__first <= input_bytes - 5
|
|
using hypothesis H37.
|
|
*** Proved C5: for_all(i___1 : integer, dns_types__packet_bytes_range__first
|
|
<= i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
using hypothesis H3.
|
|
*** Proved C6: fld_arcount(fld_header(input_packet)) >=
|
|
dns_types__unsigned_short__first
|
|
using hypothesis H4.
|
|
*** Proved C7: fld_arcount(fld_header(input_packet)) <=
|
|
dns_types__unsigned_short__last
|
|
using hypothesis H5.
|
|
*** Proved C8: fld_nscount(fld_header(input_packet)) >=
|
|
dns_types__unsigned_short__first
|
|
using hypothesis H6.
|
|
*** Proved C9: fld_nscount(fld_header(input_packet)) <=
|
|
dns_types__unsigned_short__last
|
|
using hypothesis H7.
|
|
*** Proved C10: fld_ancount(fld_header(input_packet)) >=
|
|
dns_types__unsigned_short__first
|
|
using hypothesis H8.
|
|
*** Proved C11: fld_ancount(fld_header(input_packet)) <=
|
|
dns_types__unsigned_short__last
|
|
using hypothesis H9.
|
|
*** Proved C12: fld_qdcount(fld_header(input_packet)) >=
|
|
dns_types__unsigned_short__first
|
|
using hypothesis H10.
|
|
*** Proved C13: fld_qdcount(fld_header(input_packet)) <=
|
|
dns_types__unsigned_short__last
|
|
using hypothesis H11.
|
|
*** Proved C14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
using hypothesis H12.
|
|
*** Proved C15: fld_rcode(fld_header(input_packet)) <=
|
|
dns_types__response_code__last
|
|
using hypothesis H13.
|
|
*** Proved C16: true
|
|
*** Proved C17: true
|
|
*** Proved C18: true
|
|
*** Proved C19: true
|
|
*** Proved C20: true
|
|
*** Proved C21: true
|
|
*** Proved C22: true
|
|
*** Proved C23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
using hypothesis H21.
|
|
*** Proved C24: fld_opcode(fld_header(input_packet)) <=
|
|
dns_types__opcode_type__last
|
|
using hypothesis H22.
|
|
*** Proved C25: true
|
|
*** Proved C26: fld_messageid(fld_header(input_packet)) >=
|
|
dns_types__unsigned_short__first
|
|
using hypothesis H24.
|
|
*** Proved C27: fld_messageid(fld_header(input_packet)) <=
|
|
dns_types__unsigned_short__last
|
|
using hypothesis H25.
|
|
*** Proved C28: input_bytes >= dns_types__packet_length_range__first
|
|
using hypothesis H26.
|
|
*** Proved C29: input_bytes <= dns_types__packet_length_range__last
|
|
using hypothesis H27.
|
|
*** Proved C30: input_bytes >= dns_types__header_bits div 8 + 1
|
|
using hypothesis H1.
|
|
*** Proved C31: input_bytes < 1000
|
|
using hypothesis H2.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_5. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
%%% Simplified C5 on reading formula in, to give:
|
|
%%% C5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified C14 on reading formula in, to give:
|
|
%%% C14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified C23 on reading formula in, to give:
|
|
%%% C23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
*** Proved C1: i + 1 >= rr_type__wirestringtypeindex__first
|
|
using hypothesis H1.
|
|
*** Proved C2: i + 1 < rr_type__wirestringtypeindex__last
|
|
using hypothesis H53.
|
|
*** Proved C3: byte + 1 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H42.
|
|
*** Proved C4: byte + 1 <= input_bytes - 5
|
|
using hypothesis H51.
|
|
*** Proved C5: for_all(i___1 : integer, dns_types__packet_bytes_range__first
|
|
<= i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
using hypothesis H5.
|
|
*** Proved C6: fld_arcount(fld_header(input_packet)) >=
|
|
dns_types__unsigned_short__first
|
|
using hypothesis H6.
|
|
*** Proved C7: fld_arcount(fld_header(input_packet)) <=
|
|
dns_types__unsigned_short__last
|
|
using hypothesis H7.
|
|
*** Proved C8: fld_nscount(fld_header(input_packet)) >=
|
|
dns_types__unsigned_short__first
|
|
using hypothesis H8.
|
|
*** Proved C9: fld_nscount(fld_header(input_packet)) <=
|
|
dns_types__unsigned_short__last
|
|
using hypothesis H9.
|
|
*** Proved C10: fld_ancount(fld_header(input_packet)) >=
|
|
dns_types__unsigned_short__first
|
|
using hypothesis H10.
|
|
*** Proved C11: fld_ancount(fld_header(input_packet)) <=
|
|
dns_types__unsigned_short__last
|
|
using hypothesis H11.
|
|
*** Proved C12: fld_qdcount(fld_header(input_packet)) >=
|
|
dns_types__unsigned_short__first
|
|
using hypothesis H12.
|
|
*** Proved C13: fld_qdcount(fld_header(input_packet)) <=
|
|
dns_types__unsigned_short__last
|
|
using hypothesis H13.
|
|
*** Proved C14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
using hypothesis H14.
|
|
*** Proved C15: fld_rcode(fld_header(input_packet)) <=
|
|
dns_types__response_code__last
|
|
using hypothesis H15.
|
|
*** Proved C16: true
|
|
*** Proved C17: true
|
|
*** Proved C18: true
|
|
*** Proved C19: true
|
|
*** Proved C20: true
|
|
*** Proved C21: true
|
|
*** Proved C22: true
|
|
*** Proved C23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
using hypothesis H23.
|
|
*** Proved C24: fld_opcode(fld_header(input_packet)) <=
|
|
dns_types__opcode_type__last
|
|
using hypothesis H24.
|
|
*** Proved C25: true
|
|
*** Proved C26: fld_messageid(fld_header(input_packet)) >=
|
|
dns_types__unsigned_short__first
|
|
using hypothesis H26.
|
|
*** Proved C27: fld_messageid(fld_header(input_packet)) <=
|
|
dns_types__unsigned_short__last
|
|
using hypothesis H27.
|
|
*** Proved C28: input_bytes >= dns_types__packet_length_range__first
|
|
using hypothesis H28.
|
|
*** Proved C29: input_bytes <= dns_types__packet_length_range__last
|
|
using hypothesis H29.
|
|
*** Proved C30: input_bytes >= dns_types__header_bits div 8 + 1
|
|
using hypothesis H30.
|
|
*** Proved C31: input_bytes < 1000
|
|
using hypothesis H31.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_6. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
*** Proved C5: byte >= dns_types__packet_bytes_range__first
|
|
using hypothesis H3.
|
|
*** Proved C7: i >= rr_type__wirestringtypeindex__first
|
|
using hypothesis H1.
|
|
*** Proved C8: i <= rr_type__wirestringtypeindex__last
|
|
using hypothesis H2.
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New C1: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New C3: element(fld_bytes(input_packet), [byte]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New C2: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New C4: element(fld_bytes(input_packet), [byte]) <= 255
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
|
|
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
|
|
, [i___1]) <= dns_types__byte__last)
|
|
<S> New C6: byte <= 8180
|
|
*** Proved C6: byte <= 8180
|
|
using hypotheses H4 & H31.
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
*** Proved C1: element(fld_bytes(input_packet), [byte]) >= 0
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C3: element(fld_bytes(input_packet), [byte]) >= 0
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C2: element(fld_bytes(input_packet), [byte]) <= 255
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C4: element(fld_bytes(input_packet), [byte]) <= 255
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_7. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New C1: i >= - 1
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New C2: i <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
*** Proved C1: i >= - 1
|
|
using hypothesis H1.
|
|
*** Proved C2: i <= 2147483646
|
|
using hypothesis H2.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_8. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
*** Proved C1: byte + 1 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H3.
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
|
|
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
|
|
, [i___1]) <= dns_types__byte__last)
|
|
<S> New H37: byte <= 8180
|
|
<S> New C2: byte <= 8179
|
|
*** Proved C2: byte <= 8179
|
|
using hypotheses H4 & H31.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_9. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
%%% Simplified C5 on reading formula in, to give:
|
|
%%% C5: true
|
|
*** Proved C2: 0 <= character__last
|
|
using hypothesis H29.
|
|
*** Proved C4: 0 <= character__last
|
|
using hypothesis H29.
|
|
*** Proved C5: true
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New C1: true
|
|
<S> New C3: true
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: not (dns_types__packet_bytes_range__first <= input_bytes - 5 and
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first]) <> 0 and 1 <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New C6: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: not (dns_types__packet_bytes_range__first <= input_bytes - 5 and
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first]) <> 0)
|
|
<S> New C6: true
|
|
*** Proved C1: true
|
|
*** Proved C3: true
|
|
*** Proved C6: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_10. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
*** Proved C5: i + 1 >= rr_type__wirestringtypeindex__first
|
|
using hypothesis H1.
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New C1: true
|
|
<S> New C3: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New C2: true
|
|
<S> New C4: true
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: not (byte + 1 <= input_bytes - 5 and element(fld_bytes(
|
|
input_packet), [byte + 1]) <> 0 and i < 128)
|
|
<S> New C6: i <= 128
|
|
*** Proved C1: true
|
|
*** Proved C3: true
|
|
*** Proved C2: true
|
|
*** Proved C4: true
|
|
*** Proved C6: i <= 128
|
|
using hypothesis H2.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_11. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
*** Proved C5: dns_types__packet_bytes_range__first + 2 >=
|
|
dns_types__packet_bytes_range__first
|
|
*** Proved C13: dns_types__packet_bytes_range__first + 1 >=
|
|
dns_types__packet_bytes_range__first
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New C1: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New C3: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New C11: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New C2: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
|
|
2147483647
|
|
<S> New C4: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) <= 2147483647
|
|
<S> New C12: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
|
|
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
|
|
, [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <= 8180
|
|
<S> New C6: dns_types__packet_bytes_range__first <= 8178
|
|
<S> New C14: dns_types__packet_bytes_range__first <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H35: 1 >= integer__first
|
|
<S> New H36: 1 <= integer__last
|
|
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
|
|
<> 0 and rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New C7: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New C8: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New C9: element(fld_bytes(input_packet), [2]) * 256 >=
|
|
integer__base__first
|
|
<S> New C10: element(fld_bytes(input_packet), [2]) * 256 <=
|
|
integer__base__last
|
|
<S> New C15: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New C16: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New C1: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New C3: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New C11: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New C2: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New C4: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New C12: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New C6: true
|
|
<S> New C14: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New C7: true
|
|
<S> New C15: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New C8: true
|
|
<S> New C16: true
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New C9: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New C10: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
*** Proved C6: true
|
|
*** Proved C14: true
|
|
*** Proved C7: true
|
|
*** Proved C15: true
|
|
*** Proved C8: true
|
|
*** Proved C16: true
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: true
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: true
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
<S> New H43: true
|
|
*** Proved C3: element(fld_bytes(input_packet), [3]) >= 0
|
|
using hypothesis H3.
|
|
*** Proved C11: element(fld_bytes(input_packet), [2]) >= 0
|
|
using hypothesis H3.
|
|
*** Proved C4: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
using hypothesis H3.
|
|
*** Proved C12: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
using hypothesis H3.
|
|
*** Proved C9: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
using hypothesis H3.
|
|
*** Proved C10: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
using hypothesis H3.
|
|
--- Eliminated hypothesis H14 (true-hypothesis).
|
|
--- Eliminated hypothesis H15 (true-hypothesis).
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H23 (true-hypothesis).
|
|
--- Eliminated hypothesis H30 (true-hypothesis).
|
|
--- Eliminated hypothesis H40 (true-hypothesis).
|
|
--- Eliminated hypothesis H41 (true-hypothesis).
|
|
--- Eliminated hypothesis H42 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H28 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H29 (true-hypothesis).
|
|
--- Eliminated hypothesis H39 (true-hypothesis).
|
|
--- Eliminated hypothesis H43 (true-hypothesis).
|
|
%%% Simplified H37 further (given H1), to give:
|
|
%%% H37: element(fld_bytes(input_packet), [1]) = 0
|
|
--- Eliminated hypothesis H33 (duplicate of H31).
|
|
--- Eliminated hypothesis H34 (duplicate of H32).
|
|
--- Eliminated hypothesis H26 (redundant, given H1).
|
|
--- Eliminated hypothesis H27 (redundant, given H2).
|
|
--- Eliminated hypothesis H31 (redundant, given H1).
|
|
--- Eliminated hypothesis H32 (redundant, given H2).
|
|
*** Proved C1: element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3]) >= 0
|
|
using hypothesis H3.
|
|
*** Proved C2: element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3]) <= 2147483647
|
|
using hypothesis H3.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_12. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified C3 on reading formula in, to give:
|
|
%%% C3: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified C4 on reading formula in, to give:
|
|
%%% C4: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified C5 on reading formula in, to give:
|
|
%%% C5: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C6 on reading formula in, to give:
|
|
%%% C6: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified C7 on reading formula in, to give:
|
|
%%% C7: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified C8 on reading formula in, to give:
|
|
%%% C8: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified C9 on reading formula in, to give:
|
|
%%% C9: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified C10 on reading formula in, to give:
|
|
%%% C10: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified C11 on reading formula in, to give:
|
|
%%% C11: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified C12 on reading formula in, to give:
|
|
%%% C12: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified C13 on reading formula in, to give:
|
|
%%% C13: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C14 on reading formula in, to give:
|
|
%%% C14: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified C15 on reading formula in, to give:
|
|
%%% C15: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified C16 on reading formula in, to give:
|
|
%%% C16: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
*** Proved C5: byte + 3 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H3.
|
|
*** Proved C13: byte + 2 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H3.
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New C1: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New C3: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New C11: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New C2: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New C4: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New C12: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
|
|
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
|
|
, [i___1]) <= dns_types__byte__last)
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte + 1 >=
|
|
dns_types__packet_bytes_range__first and byte <= 8179
|
|
<S> New C6: byte <= 8177
|
|
<S> New C14: byte <= 8178
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New C7: byte >= - 2147483651
|
|
<S> New C15: byte >= - 2147483650
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New C8: byte <= 2147483644
|
|
<S> New C16: byte <= 2147483645
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New C9: element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New C10: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
*** Proved C6: byte <= 8177
|
|
using hypotheses H4 & H31.
|
|
*** Proved C14: byte <= 8178
|
|
using hypotheses H4 & H31.
|
|
*** Proved C8: byte <= 2147483644
|
|
using hypothesis H37.
|
|
*** Proved C16: byte <= 2147483645
|
|
using hypothesis H37.
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
*** Proved C3: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C11: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C4: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C12: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C7: byte >= - 2147483651
|
|
using hypothesis H49.
|
|
*** Proved C15: byte >= - 2147483650
|
|
using hypothesis H49.
|
|
*** Proved C9: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C10: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
2147483647
|
|
using hypotheses H3, H4, H5 & H31.
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H21 (true-hypothesis).
|
|
--- Eliminated hypothesis H22 (true-hypothesis).
|
|
--- Eliminated hypothesis H25 (true-hypothesis).
|
|
--- Eliminated hypothesis H34 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H54 (true-hypothesis).
|
|
--- Eliminated hypothesis H55 (true-hypothesis).
|
|
--- Eliminated hypothesis H52 (true-hypothesis).
|
|
--- Eliminated hypothesis H53 (true-hypothesis).
|
|
--- Eliminated hypothesis H47 (duplicate of H45).
|
|
--- Eliminated hypothesis H48 (duplicate of H46).
|
|
--- Eliminated hypothesis H57 (duplicate of H2).
|
|
--- Eliminated hypothesis H28 (redundant, given H30).
|
|
--- Eliminated hypothesis H29 (redundant, given H31).
|
|
--- Eliminated hypothesis H37 (redundant, given H43).
|
|
--- Eliminated hypothesis H39 (redundant, given H2).
|
|
--- Eliminated hypothesis H40 (redundant, given H1).
|
|
--- Eliminated hypothesis H41 (redundant, given H2).
|
|
--- Eliminated hypothesis H42 (redundant, given H3).
|
|
--- Eliminated hypothesis H43 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H45 (redundant, given H30).
|
|
--- Eliminated hypothesis H46 (redundant, given H31).
|
|
--- Eliminated hypothesis H49 (redundant, given H3).
|
|
--- Eliminated hypothesis H50 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H56 (redundant, given H1).
|
|
*** Proved C1: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C2: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_13. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
*** Proved C5: dns_types__packet_bytes_range__first + 4 >=
|
|
dns_types__packet_bytes_range__first
|
|
*** Proved C7: dns_types__packet_bytes_range__first + 4 >=
|
|
dns_types__packet_bytes_range__base__first
|
|
using hypothesis H50.
|
|
*** Proved C13: dns_types__packet_bytes_range__first + 3 >=
|
|
dns_types__packet_bytes_range__first
|
|
*** Proved C15: dns_types__packet_bytes_range__first + 3 >=
|
|
dns_types__packet_bytes_range__base__first
|
|
using hypothesis H50.
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) >= 0
|
|
<S> New C1: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
|
|
<S> New C3: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) >= 0
|
|
<S> New C11: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
|
|
2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) <= 2147483647
|
|
<S> New C2: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
|
|
2147483647
|
|
<S> New C4: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) <= 2147483647
|
|
<S> New C12: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
|
|
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
|
|
, [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <= 8180
|
|
<S> New H49: dns_types__packet_bytes_range__first <= 8178
|
|
<S> New H57: dns_types__packet_bytes_range__first <= 8179
|
|
<S> New C6: dns_types__packet_bytes_range__first <= 8176
|
|
<S> New C14: dns_types__packet_bytes_range__first <= 8177
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H35: 1 >= integer__first
|
|
<S> New H36: 1 <= integer__last
|
|
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
|
|
<> 0 and rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New H48: true
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
|
|
integer__base__first
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
|
|
integer__base__last
|
|
<S> New H56: true
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New C8: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New C9: element(fld_bytes(input_packet), [4]) * 256 >=
|
|
integer__base__first
|
|
<S> New C10: element(fld_bytes(input_packet), [4]) * 256 <=
|
|
integer__base__last
|
|
<S> New C16: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New C1: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New C3: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New C11: element(fld_bytes(input_packet), [4]) >= 0
|
|
<S> New C2: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New C4: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New C12: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
<S> New C6: true
|
|
<S> New C14: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New C8: true
|
|
<S> New C16: true
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New C9: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New C10: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
*** Proved C6: true
|
|
*** Proved C14: true
|
|
*** Proved C8: true
|
|
*** Proved C16: true
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: true
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: true
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
<S> New H43: true
|
|
*** Proved C3: element(fld_bytes(input_packet), [5]) >= 0
|
|
using hypothesis H3.
|
|
*** Proved C11: element(fld_bytes(input_packet), [4]) >= 0
|
|
using hypothesis H3.
|
|
*** Proved C4: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
using hypothesis H3.
|
|
*** Proved C12: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
using hypothesis H3.
|
|
*** Proved C9: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
using hypothesis H3.
|
|
*** Proved C10: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
using hypothesis H3.
|
|
--- Eliminated hypothesis H14 (true-hypothesis).
|
|
--- Eliminated hypothesis H15 (true-hypothesis).
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H23 (true-hypothesis).
|
|
--- Eliminated hypothesis H30 (true-hypothesis).
|
|
--- Eliminated hypothesis H40 (true-hypothesis).
|
|
--- Eliminated hypothesis H41 (true-hypothesis).
|
|
--- Eliminated hypothesis H42 (true-hypothesis).
|
|
--- Eliminated hypothesis H48 (true-hypothesis).
|
|
--- Eliminated hypothesis H49 (true-hypothesis).
|
|
--- Eliminated hypothesis H51 (true-hypothesis).
|
|
--- Eliminated hypothesis H56 (true-hypothesis).
|
|
--- Eliminated hypothesis H57 (true-hypothesis).
|
|
--- Eliminated hypothesis H59 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H28 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H29 (true-hypothesis).
|
|
--- Eliminated hypothesis H39 (true-hypothesis).
|
|
--- Eliminated hypothesis H50 (true-hypothesis).
|
|
--- Eliminated hypothesis H58 (true-hypothesis).
|
|
--- Eliminated hypothesis H43 (true-hypothesis).
|
|
%%% Simplified H37 further (given H1), to give:
|
|
%%% H37: element(fld_bytes(input_packet), [1]) = 0
|
|
--- Eliminated hypothesis H33 (duplicate of H31).
|
|
--- Eliminated hypothesis H34 (duplicate of H32).
|
|
--- Eliminated hypothesis H26 (redundant, given H1).
|
|
--- Eliminated hypothesis H27 (redundant, given H2).
|
|
--- Eliminated hypothesis H31 (redundant, given H1).
|
|
--- Eliminated hypothesis H32 (redundant, given H2).
|
|
--- Eliminated hypothesis H52 (redundant, given H54).
|
|
--- Eliminated hypothesis H55 (redundant, given H53).
|
|
*** Proved C1: element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5]) >= 0
|
|
using hypothesis H3.
|
|
*** Proved C2: element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5]) <= 2147483647
|
|
using hypothesis H3.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_14. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified C3 on reading formula in, to give:
|
|
%%% C3: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified C4 on reading formula in, to give:
|
|
%%% C4: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified C5 on reading formula in, to give:
|
|
%%% C5: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C6 on reading formula in, to give:
|
|
%%% C6: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified C7 on reading formula in, to give:
|
|
%%% C7: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified C8 on reading formula in, to give:
|
|
%%% C8: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified C9 on reading formula in, to give:
|
|
%%% C9: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified C10 on reading formula in, to give:
|
|
%%% C10: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified C11 on reading formula in, to give:
|
|
%%% C11: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified C12 on reading formula in, to give:
|
|
%%% C12: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified C13 on reading formula in, to give:
|
|
%%% C13: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C14 on reading formula in, to give:
|
|
%%% C14: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified C15 on reading formula in, to give:
|
|
%%% C15: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified C16 on reading formula in, to give:
|
|
%%% C16: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
*** Proved C5: byte + 5 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H3.
|
|
*** Proved C7: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
using hypothesis H64.
|
|
*** Proved C13: byte + 4 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H3.
|
|
*** Proved C15: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
using hypothesis H64.
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New C1: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New C3: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New C11: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New C2: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New C4: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New C12: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
|
|
fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
|
|
, [i___1]) <= dns_types__byte__last)
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte + 1 >=
|
|
dns_types__packet_bytes_range__first and byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New C6: byte <= 8175
|
|
<S> New C14: byte <= 8176
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New C8: byte <= 2147483642
|
|
<S> New C16: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New C9: element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New C10: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
*** Proved C6: byte <= 8175
|
|
using hypotheses H4 & H31.
|
|
*** Proved C14: byte <= 8176
|
|
using hypotheses H4 & H31.
|
|
*** Proved C8: byte <= 2147483642
|
|
using hypothesis H37.
|
|
*** Proved C16: byte <= 2147483643
|
|
using hypothesis H37.
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
*** Proved C3: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C11: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C4: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C12: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C9: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C10: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
2147483647
|
|
using hypotheses H3, H4, H5 & H31.
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H21 (true-hypothesis).
|
|
--- Eliminated hypothesis H22 (true-hypothesis).
|
|
--- Eliminated hypothesis H25 (true-hypothesis).
|
|
--- Eliminated hypothesis H34 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H54 (true-hypothesis).
|
|
--- Eliminated hypothesis H55 (true-hypothesis).
|
|
--- Eliminated hypothesis H52 (true-hypothesis).
|
|
--- Eliminated hypothesis H53 (true-hypothesis).
|
|
--- Eliminated hypothesis H47 (duplicate of H45).
|
|
--- Eliminated hypothesis H48 (duplicate of H46).
|
|
--- Eliminated hypothesis H57 (duplicate of H2).
|
|
--- Eliminated hypothesis H28 (redundant, given H30).
|
|
--- Eliminated hypothesis H29 (redundant, given H31).
|
|
--- Eliminated hypothesis H37 (redundant, given H43).
|
|
--- Eliminated hypothesis H39 (redundant, given H2).
|
|
--- Eliminated hypothesis H40 (redundant, given H1).
|
|
--- Eliminated hypothesis H41 (redundant, given H2).
|
|
--- Eliminated hypothesis H42 (redundant, given H3).
|
|
--- Eliminated hypothesis H43 (redundant, given H63).
|
|
--- Eliminated hypothesis H45 (redundant, given H30).
|
|
--- Eliminated hypothesis H46 (redundant, given H31).
|
|
--- Eliminated hypothesis H49 (redundant, given H3).
|
|
--- Eliminated hypothesis H50 (redundant, given H63).
|
|
--- Eliminated hypothesis H56 (redundant, given H1).
|
|
--- Eliminated hypothesis H62 (redundant, given H3).
|
|
--- Eliminated hypothesis H63 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H64 (redundant, given H3).
|
|
--- Eliminated hypothesis H65 (redundant, given H71).
|
|
--- Eliminated hypothesis H66 (redundant, given H68).
|
|
--- Eliminated hypothesis H69 (redundant, given H67).
|
|
--- Eliminated hypothesis H70 (redundant, given H3).
|
|
--- Eliminated hypothesis H71 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H72 (redundant, given H3).
|
|
--- Eliminated hypothesis H73 (redundant, given H4 & H31).
|
|
*** Proved C1: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** Proved C2: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
using hypotheses H3, H4, H5 & H31.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_15. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) >=
|
|
type_to_natural(dns_types__a)
|
|
<S> New C1: dns_types__a <= to_type(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]))
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H77: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
|
|
type_to_natural(dns_types__unimplemented)
|
|
<S> New C2: to_type(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2])) <=
|
|
dns_types__unimplemented
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes - 5 < dns_types__packet_bytes_range__first or
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: dns_types__packet_bytes_range__first >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: dns_types__packet_bytes_range__first <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
|
|
2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
|
|
2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__a)
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
|
|
<S> New H35: true
|
|
<S> New H36: true
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
<S> New C1: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
|
|
256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New C2: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H43: true
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
--- Eliminated hypothesis H14 (true-hypothesis).
|
|
--- Eliminated hypothesis H15 (true-hypothesis).
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H23 (true-hypothesis).
|
|
--- Eliminated hypothesis H40 (true-hypothesis).
|
|
--- Eliminated hypothesis H41 (true-hypothesis).
|
|
--- Eliminated hypothesis H42 (true-hypothesis).
|
|
--- Eliminated hypothesis H28 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H29 (true-hypothesis).
|
|
--- Eliminated hypothesis H39 (true-hypothesis).
|
|
--- Eliminated hypothesis H48 (true-hypothesis).
|
|
--- Eliminated hypothesis H56 (true-hypothesis).
|
|
--- Eliminated hypothesis H64 (true-hypothesis).
|
|
--- Eliminated hypothesis H72 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H30 (true-hypothesis).
|
|
--- Eliminated hypothesis H49 (true-hypothesis).
|
|
--- Eliminated hypothesis H57 (true-hypothesis).
|
|
--- Eliminated hypothesis H65 (true-hypothesis).
|
|
--- Eliminated hypothesis H73 (true-hypothesis).
|
|
--- Eliminated hypothesis H50 (true-hypothesis).
|
|
--- Eliminated hypothesis H58 (true-hypothesis).
|
|
--- Eliminated hypothesis H66 (true-hypothesis).
|
|
--- Eliminated hypothesis H74 (true-hypothesis).
|
|
--- Eliminated hypothesis H51 (true-hypothesis).
|
|
--- Eliminated hypothesis H59 (true-hypothesis).
|
|
--- Eliminated hypothesis H67 (true-hypothesis).
|
|
--- Eliminated hypothesis H75 (true-hypothesis).
|
|
--- Eliminated hypothesis H43 (true-hypothesis).
|
|
%%% Simplified H37 further (given H1), to give:
|
|
%%% H37: element(fld_bytes(input_packet), [1]) = 0
|
|
--- Eliminated hypothesis H33 (duplicate of H31).
|
|
--- Eliminated hypothesis H34 (duplicate of H32).
|
|
--- Eliminated hypothesis H26 (redundant, given H1).
|
|
--- Eliminated hypothesis H27 (redundant, given H2).
|
|
--- Eliminated hypothesis H31 (redundant, given H1).
|
|
--- Eliminated hypothesis H32 (redundant, given H2).
|
|
--- Eliminated hypothesis H52 (redundant, given H54).
|
|
--- Eliminated hypothesis H55 (redundant, given H53).
|
|
--- Eliminated hypothesis H68 (redundant, given H70).
|
|
--- Eliminated hypothesis H71 (redundant, given H69).
|
|
+++ New H78: integer__size >= 0
|
|
+++ New H79: character__size >= 0
|
|
+++ New H80: natural__size >= 0
|
|
+++ New H81: dns_types__packet_length_range__size >= 0
|
|
+++ New H82: dns_types__packet_bytes_range__size >= 0
|
|
+++ New H83: dns_types__dns_packet__size >= 0
|
|
+++ New H84: rr_type__wirestringtypeindex__size >= 0
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_16. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
|
|
<S> New C1: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
|
|
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__unimplemented)
|
|
<S> New C2: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__unimplemented
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H21 (true-hypothesis).
|
|
--- Eliminated hypothesis H22 (true-hypothesis).
|
|
--- Eliminated hypothesis H25 (true-hypothesis).
|
|
--- Eliminated hypothesis H34 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H54 (true-hypothesis).
|
|
--- Eliminated hypothesis H55 (true-hypothesis).
|
|
--- Eliminated hypothesis H52 (true-hypothesis).
|
|
--- Eliminated hypothesis H53 (true-hypothesis).
|
|
--- Eliminated hypothesis H47 (duplicate of H45).
|
|
--- Eliminated hypothesis H48 (duplicate of H46).
|
|
--- Eliminated hypothesis H57 (duplicate of H2).
|
|
--- Eliminated hypothesis H28 (redundant, given H30).
|
|
--- Eliminated hypothesis H29 (redundant, given H31).
|
|
--- Eliminated hypothesis H37 (redundant, given H43).
|
|
--- Eliminated hypothesis H39 (redundant, given H2).
|
|
--- Eliminated hypothesis H40 (redundant, given H1).
|
|
--- Eliminated hypothesis H41 (redundant, given H2).
|
|
--- Eliminated hypothesis H42 (redundant, given H3).
|
|
--- Eliminated hypothesis H43 (redundant, given H63).
|
|
--- Eliminated hypothesis H45 (redundant, given H30).
|
|
--- Eliminated hypothesis H46 (redundant, given H31).
|
|
--- Eliminated hypothesis H49 (redundant, given H3).
|
|
--- Eliminated hypothesis H50 (redundant, given H63).
|
|
--- Eliminated hypothesis H56 (redundant, given H1).
|
|
--- Eliminated hypothesis H62 (redundant, given H3).
|
|
--- Eliminated hypothesis H63 (redundant, given H79).
|
|
--- Eliminated hypothesis H64 (redundant, given H3).
|
|
--- Eliminated hypothesis H65 (redundant, given H71).
|
|
--- Eliminated hypothesis H66 (redundant, given H68).
|
|
--- Eliminated hypothesis H69 (redundant, given H67).
|
|
--- Eliminated hypothesis H70 (redundant, given H3).
|
|
--- Eliminated hypothesis H71 (redundant, given H79).
|
|
--- Eliminated hypothesis H72 (redundant, given H3).
|
|
--- Eliminated hypothesis H73 (redundant, given H79).
|
|
--- Eliminated hypothesis H78 (redundant, given H3).
|
|
--- Eliminated hypothesis H79 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H80 (redundant, given H3).
|
|
--- Eliminated hypothesis H81 (redundant, given H87).
|
|
--- Eliminated hypothesis H82 (redundant, given H84).
|
|
--- Eliminated hypothesis H85 (redundant, given H83).
|
|
--- Eliminated hypothesis H86 (redundant, given H3).
|
|
--- Eliminated hypothesis H87 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H88 (redundant, given H3).
|
|
--- Eliminated hypothesis H89 (redundant, given H4 & H31).
|
|
+++ New H92: integer__size >= 0
|
|
+++ New H93: character__size >= 0
|
|
+++ New H94: natural__size >= 0
|
|
+++ New H95: dns_types__packet_length_range__size >= 0
|
|
+++ New H96: dns_types__packet_bytes_range__size >= 0
|
|
+++ New H97: dns_types__dns_packet__size >= 0
|
|
+++ New H98: rr_type__wirestringtypeindex__size >= 0
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_17. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_type__first <= dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) >=
|
|
type_to_natural(dns_types__a)
|
|
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H77: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
|
|
type_to_natural(dns_types__unimplemented)
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2])) <=
|
|
dns_types__unimplemented
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_18. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_type__first <= dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
|
|
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
|
|
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__unimplemented)
|
|
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__unimplemented
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_19. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_type__first <= dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: not (element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) >=
|
|
type_to_natural(dns_types__a) and element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
|
|
type_to_natural(dns_types__query_type__last))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H76: not (element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) >=
|
|
type_to_natural(dns_types__a) and element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
|
|
type_to_natural(dns_types__unimplemented))
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_20. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [
|
|
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
|
|
type_to_natural(dns_types__query_type__last))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_type__first <= dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__a) and element(fld_bytes(input_packet), [byte + 2]) * 256
|
|
+ element(fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__a) and element(fld_bytes(input_packet), [byte + 2]) * 256
|
|
+ element(fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__unimplemented))
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_21. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H83: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class)
|
|
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H84: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
|
|
class_to_natural(dns_types__any_class)
|
|
<S> New C2: to_class(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
|
|
dns_types__any_class
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes - 5 < dns_types__packet_bytes_range__first or
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: dns_types__packet_bytes_range__first >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: dns_types__packet_bytes_range__first <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
|
|
2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
|
|
2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
|
|
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
|
|
<S> New H80: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
|
|
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__in_class)
|
|
<S> New H84: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__any_class)
|
|
<S> New H35: true
|
|
<S> New H36: true
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
|
|
4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New C2: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__any_class
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H81: true
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__a)
|
|
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
|
|
256 + element(fld_bytes(input_packet), [3]))
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H82: true
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H43: true
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
--- Eliminated hypothesis H14 (true-hypothesis).
|
|
--- Eliminated hypothesis H15 (true-hypothesis).
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H23 (true-hypothesis).
|
|
--- Eliminated hypothesis H40 (true-hypothesis).
|
|
--- Eliminated hypothesis H41 (true-hypothesis).
|
|
--- Eliminated hypothesis H42 (true-hypothesis).
|
|
--- Eliminated hypothesis H28 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H29 (true-hypothesis).
|
|
--- Eliminated hypothesis H39 (true-hypothesis).
|
|
--- Eliminated hypothesis H48 (true-hypothesis).
|
|
--- Eliminated hypothesis H56 (true-hypothesis).
|
|
--- Eliminated hypothesis H64 (true-hypothesis).
|
|
--- Eliminated hypothesis H72 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H30 (true-hypothesis).
|
|
--- Eliminated hypothesis H49 (true-hypothesis).
|
|
--- Eliminated hypothesis H57 (true-hypothesis).
|
|
--- Eliminated hypothesis H65 (true-hypothesis).
|
|
--- Eliminated hypothesis H73 (true-hypothesis).
|
|
--- Eliminated hypothesis H50 (true-hypothesis).
|
|
--- Eliminated hypothesis H58 (true-hypothesis).
|
|
--- Eliminated hypothesis H66 (true-hypothesis).
|
|
--- Eliminated hypothesis H74 (true-hypothesis).
|
|
--- Eliminated hypothesis H51 (true-hypothesis).
|
|
--- Eliminated hypothesis H59 (true-hypothesis).
|
|
--- Eliminated hypothesis H67 (true-hypothesis).
|
|
--- Eliminated hypothesis H75 (true-hypothesis).
|
|
--- Eliminated hypothesis H81 (true-hypothesis).
|
|
--- Eliminated hypothesis H82 (true-hypothesis).
|
|
--- Eliminated hypothesis H43 (true-hypothesis).
|
|
%%% Simplified H37 further (given H1), to give:
|
|
%%% H37: element(fld_bytes(input_packet), [1]) = 0
|
|
--- Eliminated hypothesis H33 (duplicate of H31).
|
|
--- Eliminated hypothesis H34 (duplicate of H32).
|
|
--- Eliminated hypothesis H26 (redundant, given H1).
|
|
--- Eliminated hypothesis H27 (redundant, given H2).
|
|
--- Eliminated hypothesis H31 (redundant, given H1).
|
|
--- Eliminated hypothesis H32 (redundant, given H2).
|
|
--- Eliminated hypothesis H52 (redundant, given H54).
|
|
--- Eliminated hypothesis H55 (redundant, given H53).
|
|
--- Eliminated hypothesis H68 (redundant, given H70).
|
|
--- Eliminated hypothesis H71 (redundant, given H69).
|
|
+++ New H85: integer__size >= 0
|
|
+++ New H86: character__size >= 0
|
|
+++ New H87: natural__size >= 0
|
|
+++ New H88: dns_types__packet_length_range__size >= 0
|
|
+++ New H89: dns_types__packet_bytes_range__size >= 0
|
|
+++ New H90: dns_types__dns_packet__size >= 0
|
|
+++ New H91: rr_type__wirestringtypeindex__size >= 0
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_22. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2])))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H81: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class)
|
|
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H82: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
|
|
class_to_natural(dns_types__any_class)
|
|
<S> New C2: to_class(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
|
|
dns_types__any_class
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes - 5 < dns_types__packet_bytes_range__first or
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: dns_types__packet_bytes_range__first >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: dns_types__packet_bytes_range__first <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
|
|
2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
|
|
2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
|
|
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
|
|
<S> New H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
|
|
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__in_class)
|
|
<S> New H82: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__any_class)
|
|
<S> New H35: true
|
|
<S> New H36: true
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
|
|
4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New C2: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__any_class
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__a)
|
|
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
|
|
256 + element(fld_bytes(input_packet), [3]))
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H43: true
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
--- Eliminated hypothesis H14 (true-hypothesis).
|
|
--- Eliminated hypothesis H15 (true-hypothesis).
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H23 (true-hypothesis).
|
|
--- Eliminated hypothesis H40 (true-hypothesis).
|
|
--- Eliminated hypothesis H41 (true-hypothesis).
|
|
--- Eliminated hypothesis H42 (true-hypothesis).
|
|
--- Eliminated hypothesis H28 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H29 (true-hypothesis).
|
|
--- Eliminated hypothesis H39 (true-hypothesis).
|
|
--- Eliminated hypothesis H48 (true-hypothesis).
|
|
--- Eliminated hypothesis H56 (true-hypothesis).
|
|
--- Eliminated hypothesis H64 (true-hypothesis).
|
|
--- Eliminated hypothesis H72 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H30 (true-hypothesis).
|
|
--- Eliminated hypothesis H49 (true-hypothesis).
|
|
--- Eliminated hypothesis H57 (true-hypothesis).
|
|
--- Eliminated hypothesis H65 (true-hypothesis).
|
|
--- Eliminated hypothesis H73 (true-hypothesis).
|
|
--- Eliminated hypothesis H50 (true-hypothesis).
|
|
--- Eliminated hypothesis H58 (true-hypothesis).
|
|
--- Eliminated hypothesis H66 (true-hypothesis).
|
|
--- Eliminated hypothesis H74 (true-hypothesis).
|
|
--- Eliminated hypothesis H51 (true-hypothesis).
|
|
--- Eliminated hypothesis H59 (true-hypothesis).
|
|
--- Eliminated hypothesis H67 (true-hypothesis).
|
|
--- Eliminated hypothesis H75 (true-hypothesis).
|
|
--- Eliminated hypothesis H43 (true-hypothesis).
|
|
%%% Simplified H37 further (given H1), to give:
|
|
%%% H37: element(fld_bytes(input_packet), [1]) = 0
|
|
--- Eliminated hypothesis H33 (duplicate of H31).
|
|
--- Eliminated hypothesis H34 (duplicate of H32).
|
|
--- Eliminated hypothesis H26 (redundant, given H1).
|
|
--- Eliminated hypothesis H27 (redundant, given H2).
|
|
--- Eliminated hypothesis H31 (redundant, given H1).
|
|
--- Eliminated hypothesis H32 (redundant, given H2).
|
|
--- Eliminated hypothesis H52 (redundant, given H54).
|
|
--- Eliminated hypothesis H55 (redundant, given H53).
|
|
--- Eliminated hypothesis H68 (redundant, given H70).
|
|
--- Eliminated hypothesis H71 (redundant, given H69).
|
|
+++ New H83: integer__size >= 0
|
|
+++ New H84: character__size >= 0
|
|
+++ New H85: natural__size >= 0
|
|
+++ New H86: dns_types__packet_length_range__size >= 0
|
|
+++ New H87: dns_types__packet_bytes_range__size >= 0
|
|
+++ New H88: dns_types__dns_packet__size >= 0
|
|
+++ New H89: rr_type__wirestringtypeindex__size >= 0
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_23. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H79: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class)
|
|
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H80: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
|
|
class_to_natural(dns_types__any_class)
|
|
<S> New C2: to_class(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
|
|
dns_types__any_class
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes - 5 < dns_types__packet_bytes_range__first or
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
>>> Restructured hypothesis H76 into:
|
|
>>> H76: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) <
|
|
type_to_natural(dns_types__query_type__first) or type_to_natural(
|
|
dns_types__query_type__last) < element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: dns_types__packet_bytes_range__first >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: dns_types__packet_bytes_range__first <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 2]) <=
|
|
2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 1]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
|
|
2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__query_type__first)
|
|
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__in_class)
|
|
<S> New H80: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__any_class)
|
|
<S> New H35: true
|
|
<S> New H36: true
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
|
|
4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New C2: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__any_class
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H77: true
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__a) or
|
|
type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H78: true
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__a) or
|
|
type_to_natural(dns_types__unimplemented) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H43: true
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
--- Eliminated hypothesis H14 (true-hypothesis).
|
|
--- Eliminated hypothesis H15 (true-hypothesis).
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H23 (true-hypothesis).
|
|
--- Eliminated hypothesis H40 (true-hypothesis).
|
|
--- Eliminated hypothesis H41 (true-hypothesis).
|
|
--- Eliminated hypothesis H42 (true-hypothesis).
|
|
--- Eliminated hypothesis H28 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H29 (true-hypothesis).
|
|
--- Eliminated hypothesis H39 (true-hypothesis).
|
|
--- Eliminated hypothesis H48 (true-hypothesis).
|
|
--- Eliminated hypothesis H56 (true-hypothesis).
|
|
--- Eliminated hypothesis H64 (true-hypothesis).
|
|
--- Eliminated hypothesis H72 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H30 (true-hypothesis).
|
|
--- Eliminated hypothesis H49 (true-hypothesis).
|
|
--- Eliminated hypothesis H57 (true-hypothesis).
|
|
--- Eliminated hypothesis H65 (true-hypothesis).
|
|
--- Eliminated hypothesis H73 (true-hypothesis).
|
|
--- Eliminated hypothesis H50 (true-hypothesis).
|
|
--- Eliminated hypothesis H58 (true-hypothesis).
|
|
--- Eliminated hypothesis H66 (true-hypothesis).
|
|
--- Eliminated hypothesis H74 (true-hypothesis).
|
|
--- Eliminated hypothesis H51 (true-hypothesis).
|
|
--- Eliminated hypothesis H59 (true-hypothesis).
|
|
--- Eliminated hypothesis H67 (true-hypothesis).
|
|
--- Eliminated hypothesis H75 (true-hypothesis).
|
|
--- Eliminated hypothesis H77 (true-hypothesis).
|
|
--- Eliminated hypothesis H78 (true-hypothesis).
|
|
--- Eliminated hypothesis H43 (true-hypothesis).
|
|
%%% Simplified H37 further (given H1), to give:
|
|
%%% H37: element(fld_bytes(input_packet), [1]) = 0
|
|
--- Eliminated hypothesis H33 (duplicate of H31).
|
|
--- Eliminated hypothesis H34 (duplicate of H32).
|
|
--- Eliminated hypothesis H26 (redundant, given H1).
|
|
--- Eliminated hypothesis H27 (redundant, given H2).
|
|
--- Eliminated hypothesis H31 (redundant, given H1).
|
|
--- Eliminated hypothesis H32 (redundant, given H2).
|
|
--- Eliminated hypothesis H52 (redundant, given H54).
|
|
--- Eliminated hypothesis H55 (redundant, given H53).
|
|
--- Eliminated hypothesis H68 (redundant, given H70).
|
|
--- Eliminated hypothesis H71 (redundant, given H69).
|
|
+++ New H81: integer__size >= 0
|
|
+++ New H82: character__size >= 0
|
|
+++ New H83: natural__size >= 0
|
|
+++ New H84: dns_types__packet_length_range__size >= 0
|
|
+++ New H85: dns_types__packet_bytes_range__size >= 0
|
|
+++ New H86: dns_types__dns_packet__size >= 0
|
|
+++ New H87: rr_type__wirestringtypeindex__size >= 0
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_24. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
|
|
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
|
|
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
|
|
<S> New H95: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__unimplemented)
|
|
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__unimplemented
|
|
<S> New H96: true
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H21 (true-hypothesis).
|
|
--- Eliminated hypothesis H22 (true-hypothesis).
|
|
--- Eliminated hypothesis H25 (true-hypothesis).
|
|
--- Eliminated hypothesis H34 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H54 (true-hypothesis).
|
|
--- Eliminated hypothesis H55 (true-hypothesis).
|
|
--- Eliminated hypothesis H52 (true-hypothesis).
|
|
--- Eliminated hypothesis H53 (true-hypothesis).
|
|
--- Eliminated hypothesis H95 (true-hypothesis).
|
|
--- Eliminated hypothesis H96 (true-hypothesis).
|
|
--- Eliminated hypothesis H47 (duplicate of H45).
|
|
--- Eliminated hypothesis H48 (duplicate of H46).
|
|
--- Eliminated hypothesis H57 (duplicate of H2).
|
|
--- Eliminated hypothesis H28 (redundant, given H30).
|
|
--- Eliminated hypothesis H29 (redundant, given H31).
|
|
--- Eliminated hypothesis H37 (redundant, given H43).
|
|
--- Eliminated hypothesis H39 (redundant, given H2).
|
|
--- Eliminated hypothesis H40 (redundant, given H1).
|
|
--- Eliminated hypothesis H41 (redundant, given H2).
|
|
--- Eliminated hypothesis H42 (redundant, given H3).
|
|
--- Eliminated hypothesis H43 (redundant, given H63).
|
|
--- Eliminated hypothesis H45 (redundant, given H30).
|
|
--- Eliminated hypothesis H46 (redundant, given H31).
|
|
--- Eliminated hypothesis H49 (redundant, given H3).
|
|
--- Eliminated hypothesis H50 (redundant, given H63).
|
|
--- Eliminated hypothesis H56 (redundant, given H1).
|
|
--- Eliminated hypothesis H62 (redundant, given H3).
|
|
--- Eliminated hypothesis H63 (redundant, given H79).
|
|
--- Eliminated hypothesis H64 (redundant, given H3).
|
|
--- Eliminated hypothesis H65 (redundant, given H71).
|
|
--- Eliminated hypothesis H66 (redundant, given H68).
|
|
--- Eliminated hypothesis H69 (redundant, given H67).
|
|
--- Eliminated hypothesis H70 (redundant, given H3).
|
|
--- Eliminated hypothesis H71 (redundant, given H79).
|
|
--- Eliminated hypothesis H72 (redundant, given H3).
|
|
--- Eliminated hypothesis H73 (redundant, given H79).
|
|
--- Eliminated hypothesis H78 (redundant, given H3).
|
|
--- Eliminated hypothesis H79 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H80 (redundant, given H3).
|
|
--- Eliminated hypothesis H81 (redundant, given H87).
|
|
--- Eliminated hypothesis H82 (redundant, given H84).
|
|
--- Eliminated hypothesis H85 (redundant, given H83).
|
|
--- Eliminated hypothesis H86 (redundant, given H3).
|
|
--- Eliminated hypothesis H87 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H88 (redundant, given H3).
|
|
--- Eliminated hypothesis H89 (redundant, given H4 & H31).
|
|
+++ New H99: integer__size >= 0
|
|
+++ New H100: character__size >= 0
|
|
+++ New H101: natural__size >= 0
|
|
+++ New H102: dns_types__packet_length_range__size >= 0
|
|
+++ New H103: dns_types__packet_bytes_range__size >= 0
|
|
+++ New H104: dns_types__dns_packet__size >= 0
|
|
+++ New H105: rr_type__wirestringtypeindex__size >= 0
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_25. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
|
|
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
|
|
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__unimplemented)
|
|
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H21 (true-hypothesis).
|
|
--- Eliminated hypothesis H22 (true-hypothesis).
|
|
--- Eliminated hypothesis H25 (true-hypothesis).
|
|
--- Eliminated hypothesis H34 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H54 (true-hypothesis).
|
|
--- Eliminated hypothesis H55 (true-hypothesis).
|
|
--- Eliminated hypothesis H52 (true-hypothesis).
|
|
--- Eliminated hypothesis H53 (true-hypothesis).
|
|
--- Eliminated hypothesis H47 (duplicate of H45).
|
|
--- Eliminated hypothesis H48 (duplicate of H46).
|
|
--- Eliminated hypothesis H57 (duplicate of H2).
|
|
--- Eliminated hypothesis H28 (redundant, given H30).
|
|
--- Eliminated hypothesis H29 (redundant, given H31).
|
|
--- Eliminated hypothesis H37 (redundant, given H43).
|
|
--- Eliminated hypothesis H39 (redundant, given H2).
|
|
--- Eliminated hypothesis H40 (redundant, given H1).
|
|
--- Eliminated hypothesis H41 (redundant, given H2).
|
|
--- Eliminated hypothesis H42 (redundant, given H3).
|
|
--- Eliminated hypothesis H43 (redundant, given H63).
|
|
--- Eliminated hypothesis H45 (redundant, given H30).
|
|
--- Eliminated hypothesis H46 (redundant, given H31).
|
|
--- Eliminated hypothesis H49 (redundant, given H3).
|
|
--- Eliminated hypothesis H50 (redundant, given H63).
|
|
--- Eliminated hypothesis H56 (redundant, given H1).
|
|
--- Eliminated hypothesis H62 (redundant, given H3).
|
|
--- Eliminated hypothesis H63 (redundant, given H79).
|
|
--- Eliminated hypothesis H64 (redundant, given H3).
|
|
--- Eliminated hypothesis H65 (redundant, given H71).
|
|
--- Eliminated hypothesis H66 (redundant, given H68).
|
|
--- Eliminated hypothesis H69 (redundant, given H67).
|
|
--- Eliminated hypothesis H70 (redundant, given H3).
|
|
--- Eliminated hypothesis H71 (redundant, given H79).
|
|
--- Eliminated hypothesis H72 (redundant, given H3).
|
|
--- Eliminated hypothesis H73 (redundant, given H79).
|
|
--- Eliminated hypothesis H78 (redundant, given H3).
|
|
--- Eliminated hypothesis H79 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H80 (redundant, given H3).
|
|
--- Eliminated hypothesis H81 (redundant, given H87).
|
|
--- Eliminated hypothesis H82 (redundant, given H84).
|
|
--- Eliminated hypothesis H85 (redundant, given H83).
|
|
--- Eliminated hypothesis H86 (redundant, given H3).
|
|
--- Eliminated hypothesis H87 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H88 (redundant, given H3).
|
|
--- Eliminated hypothesis H89 (redundant, given H4 & H31).
|
|
+++ New H97: integer__size >= 0
|
|
+++ New H98: character__size >= 0
|
|
+++ New H99: natural__size >= 0
|
|
+++ New H100: dns_types__packet_length_range__size >= 0
|
|
+++ New H101: dns_types__packet_bytes_range__size >= 0
|
|
+++ New H102: dns_types__dns_packet__size >= 0
|
|
+++ New H103: rr_type__wirestringtypeindex__size >= 0
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_26. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [
|
|
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
|
|
type_to_natural(dns_types__query_type__last))
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New C1: dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New C2: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
>>> Restructured hypothesis H90 into:
|
|
>>> H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(
|
|
dns_types__query_type__first) or type_to_natural(
|
|
dns_types__query_type__last) < element(fld_bytes(input_packet), [byte
|
|
+ 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
|
|
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])
|
|
<S> New H91: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H92: true
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
|
|
or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
--- Eliminated hypothesis H16 (true-hypothesis).
|
|
--- Eliminated hypothesis H17 (true-hypothesis).
|
|
--- Eliminated hypothesis H18 (true-hypothesis).
|
|
--- Eliminated hypothesis H19 (true-hypothesis).
|
|
--- Eliminated hypothesis H20 (true-hypothesis).
|
|
--- Eliminated hypothesis H21 (true-hypothesis).
|
|
--- Eliminated hypothesis H22 (true-hypothesis).
|
|
--- Eliminated hypothesis H25 (true-hypothesis).
|
|
--- Eliminated hypothesis H34 (true-hypothesis).
|
|
--- Eliminated hypothesis H35 (true-hypothesis).
|
|
--- Eliminated hypothesis H36 (true-hypothesis).
|
|
--- Eliminated hypothesis H38 (true-hypothesis).
|
|
--- Eliminated hypothesis H54 (true-hypothesis).
|
|
--- Eliminated hypothesis H55 (true-hypothesis).
|
|
--- Eliminated hypothesis H52 (true-hypothesis).
|
|
--- Eliminated hypothesis H53 (true-hypothesis).
|
|
--- Eliminated hypothesis H91 (true-hypothesis).
|
|
--- Eliminated hypothesis H92 (true-hypothesis).
|
|
--- Eliminated hypothesis H47 (duplicate of H45).
|
|
--- Eliminated hypothesis H48 (duplicate of H46).
|
|
--- Eliminated hypothesis H57 (duplicate of H2).
|
|
--- Eliminated hypothesis H28 (redundant, given H30).
|
|
--- Eliminated hypothesis H29 (redundant, given H31).
|
|
--- Eliminated hypothesis H37 (redundant, given H43).
|
|
--- Eliminated hypothesis H39 (redundant, given H2).
|
|
--- Eliminated hypothesis H40 (redundant, given H1).
|
|
--- Eliminated hypothesis H41 (redundant, given H2).
|
|
--- Eliminated hypothesis H42 (redundant, given H3).
|
|
--- Eliminated hypothesis H43 (redundant, given H63).
|
|
--- Eliminated hypothesis H45 (redundant, given H30).
|
|
--- Eliminated hypothesis H46 (redundant, given H31).
|
|
--- Eliminated hypothesis H49 (redundant, given H3).
|
|
--- Eliminated hypothesis H50 (redundant, given H63).
|
|
--- Eliminated hypothesis H56 (redundant, given H1).
|
|
--- Eliminated hypothesis H62 (redundant, given H3).
|
|
--- Eliminated hypothesis H63 (redundant, given H79).
|
|
--- Eliminated hypothesis H64 (redundant, given H3).
|
|
--- Eliminated hypothesis H65 (redundant, given H71).
|
|
--- Eliminated hypothesis H66 (redundant, given H68).
|
|
--- Eliminated hypothesis H69 (redundant, given H67).
|
|
--- Eliminated hypothesis H70 (redundant, given H3).
|
|
--- Eliminated hypothesis H71 (redundant, given H79).
|
|
--- Eliminated hypothesis H72 (redundant, given H3).
|
|
--- Eliminated hypothesis H73 (redundant, given H79).
|
|
--- Eliminated hypothesis H78 (redundant, given H3).
|
|
--- Eliminated hypothesis H79 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H80 (redundant, given H3).
|
|
--- Eliminated hypothesis H81 (redundant, given H87).
|
|
--- Eliminated hypothesis H82 (redundant, given H84).
|
|
--- Eliminated hypothesis H85 (redundant, given H83).
|
|
--- Eliminated hypothesis H86 (redundant, given H3).
|
|
--- Eliminated hypothesis H87 (redundant, given H4 & H31).
|
|
--- Eliminated hypothesis H88 (redundant, given H3).
|
|
--- Eliminated hypothesis H89 (redundant, given H4 & H31).
|
|
+++ New H95: integer__size >= 0
|
|
+++ New H96: character__size >= 0
|
|
+++ New H97: natural__size >= 0
|
|
+++ New H98: dns_types__packet_length_range__size >= 0
|
|
+++ New H99: dns_types__packet_bytes_range__size >= 0
|
|
+++ New H100: dns_types__dns_packet__size >= 0
|
|
+++ New H101: rr_type__wirestringtypeindex__size >= 0
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_27. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H83: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class)
|
|
<S> New H85: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H84: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
|
|
class_to_natural(dns_types__any_class)
|
|
<S> New H86: to_class(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
|
|
dns_types__any_class
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_28. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2])))
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H81: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class)
|
|
<S> New H83: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H82: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
|
|
class_to_natural(dns_types__any_class)
|
|
<S> New H84: to_class(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
|
|
dns_types__any_class
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_29. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H79: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class)
|
|
<S> New H81: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H80: element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) <=
|
|
class_to_natural(dns_types__any_class)
|
|
<S> New H82: to_class(element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4])) <=
|
|
dns_types__any_class
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_30. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H99 on reading formula in, to give:
|
|
%%% H99: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H100 on reading formula in, to give:
|
|
%%% H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H101 on reading formula in, to give:
|
|
%%% H101: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New H99: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_31. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H99 on reading formula in, to give:
|
|
%%% H99: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New H97: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_32. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [
|
|
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
|
|
type_to_natural(dns_types__query_type__last))
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New H95: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_33. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H83: not (element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class) and element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
|
|
dns_types__query_class__last))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H83: not (element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class) and element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
|
|
dns_types__any_class))
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_34. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2])))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H81: not (element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class) and element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
|
|
dns_types__query_class__last))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H81: not (element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class) and element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
|
|
dns_types__any_class))
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_35. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H79: not (element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class) and element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
|
|
dns_types__query_class__last))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H79: not (element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 4]) >=
|
|
class_to_natural(dns_types__in_class) and element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
|
|
dns_types__any_class))
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_36. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H97: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
|
|
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H97: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
|
|
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__any_class))
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_37. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H95: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
|
|
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H95: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
|
|
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__any_class))
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_38. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [
|
|
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
|
|
type_to_natural(dns_types__query_type__last))
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: dns_types__query_class__first <= dns_types__none_class
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H93: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
|
|
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
<S> New C1: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H93: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4])
|
|
* 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__any_class))
|
|
<S> New C2: true
|
|
*** Proved C1: true
|
|
*** Proved C2: true
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_39. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: dns_types__query_class__first <= dns_types__none_class
|
|
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
|
|
dns_types__packet_bytes_range__first
|
|
using hypothesis H64.
|
|
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
|
|
dns_types__packet_bytes_range__last
|
|
using hypothesis H65.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_40. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2])))
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: dns_types__query_class__first <= dns_types__none_class
|
|
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
|
|
dns_types__packet_bytes_range__first
|
|
using hypothesis H64.
|
|
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
|
|
dns_types__packet_bytes_range__last
|
|
using hypothesis H65.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_41. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: dns_types__query_class__first <= dns_types__none_class
|
|
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
|
|
dns_types__packet_bytes_range__first
|
|
using hypothesis H64.
|
|
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
|
|
dns_types__packet_bytes_range__last
|
|
using hypothesis H65.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_42. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4])))
|
|
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
|
|
dns_types__packet_bytes_range__first
|
|
using hypothesis H64.
|
|
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
|
|
dns_types__packet_bytes_range__last
|
|
using hypothesis H65.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_43. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2])))
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4])))
|
|
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
|
|
dns_types__packet_bytes_range__first
|
|
using hypothesis H64.
|
|
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
|
|
dns_types__packet_bytes_range__last
|
|
using hypothesis H65.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_44. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4])))
|
|
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
|
|
dns_types__packet_bytes_range__first
|
|
using hypothesis H64.
|
|
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
|
|
dns_types__packet_bytes_range__last
|
|
using hypothesis H65.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_45. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: dns_types__query_class__first <= dns_types__none_class
|
|
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
|
|
dns_types__packet_bytes_range__first
|
|
using hypothesis H64.
|
|
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
|
|
dns_types__packet_bytes_range__last
|
|
using hypothesis H65.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_46. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2])))
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: dns_types__query_class__first <= dns_types__none_class
|
|
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
|
|
dns_types__packet_bytes_range__first
|
|
using hypothesis H64.
|
|
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
|
|
dns_types__packet_bytes_range__last
|
|
using hypothesis H65.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_47. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: dns_types__query_class__first <= dns_types__none_class
|
|
*** Proved C1: dns_types__packet_bytes_range__first + 4 >=
|
|
dns_types__packet_bytes_range__first
|
|
using hypothesis H64.
|
|
*** Proved C2: dns_types__packet_bytes_range__first + 4 <=
|
|
dns_types__packet_bytes_range__last
|
|
using hypothesis H65.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_48. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H99 on reading formula in, to give:
|
|
%%% H99: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H100 on reading formula in, to give:
|
|
%%% H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H101 on reading formula in, to give:
|
|
%%% H101: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified H102 on reading formula in, to give:
|
|
%%% H102: dns_types__query_class__first <= dns_types__none_class
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H78.
|
|
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
using hypothesis H79.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_49. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H99 on reading formula in, to give:
|
|
%%% H99: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified H100 on reading formula in, to give:
|
|
%%% H100: dns_types__query_class__first <= dns_types__none_class
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H78.
|
|
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
using hypothesis H79.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_50. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [
|
|
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
|
|
type_to_natural(dns_types__query_type__last))
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: dns_types__query_class__first <= dns_types__none_class
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H78.
|
|
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
using hypothesis H79.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_51. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H99 on reading formula in, to give:
|
|
%%% H99: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H100 on reading formula in, to give:
|
|
%%% H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H101 on reading formula in, to give:
|
|
%%% H101: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H78.
|
|
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
using hypothesis H79.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_52. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H99 on reading formula in, to give:
|
|
%%% H99: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H78.
|
|
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
using hypothesis H79.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_53. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [
|
|
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
|
|
type_to_natural(dns_types__query_type__last))
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H78.
|
|
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
using hypothesis H79.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_54. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: dns_types__query_class__first <= dns_types__none_class
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H78.
|
|
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
using hypothesis H79.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_55. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: dns_types__query_class__first <= dns_types__none_class
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H78.
|
|
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
using hypothesis H79.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_56. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [
|
|
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
|
|
type_to_natural(dns_types__query_type__last))
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: dns_types__query_class__first <= dns_types__none_class
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
*** Proved C1: byte + 5 >= dns_types__packet_bytes_range__first
|
|
using hypothesis H78.
|
|
*** Proved C2: byte + 5 <= dns_types__packet_bytes_range__last
|
|
using hypothesis H79.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_57. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H90 has been replaced by "true". (It is already present, as
|
|
H64).
|
|
--- Hypothesis H91 has been replaced by "true". (It is already present, as
|
|
H65).
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: dns_types__packet_bytes_range__first >= 0
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H35: 1 >= integer__first
|
|
<S> New H36: 1 <= integer__last
|
|
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
|
|
<> 0 and rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= natural__first
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= natural__last
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
|
|
integer__base__first
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
|
|
integer__base__last
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= natural__first
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= natural__last
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
|
|
integer__base__first
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
|
|
integer__base__last
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
|
|
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
|
|
<S> New H80: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
|
|
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
|
|
<S> New H84: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
|
|
<S> New H85: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New H86: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
|
|
<S> New H87: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
|
|
<S> New C1: 5 <= input_bytes
|
|
<S> New C2: true
|
|
*** Proved C2: true
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: true
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: true
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__in_class)
|
|
<S> New H85: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New H88: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H84: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__any_class)
|
|
<S> New H86: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__any_class
|
|
<S> New H89: true
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__a)
|
|
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
|
|
256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New H81: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
|
|
<S> New H82: true
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
<S> New H43: true
|
|
*** Proved C1: 5 <= input_bytes
|
|
using hypothesis H1.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_58. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2])))
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H88 has been replaced by "true". (It is already present, as
|
|
H64).
|
|
--- Hypothesis H89 has been replaced by "true". (It is already present, as
|
|
H65).
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: dns_types__packet_bytes_range__first >= 0
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H35: 1 >= integer__first
|
|
<S> New H36: 1 <= integer__last
|
|
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
|
|
<> 0 and rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= natural__first
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= natural__last
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
|
|
integer__base__first
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
|
|
integer__base__last
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= natural__first
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= natural__last
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
|
|
integer__base__first
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
|
|
integer__base__last
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
|
|
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
|
|
<S> New H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
|
|
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
|
|
<S> New H82: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
|
|
<S> New H83: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New H84: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
|
|
<S> New H85: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
|
|
<S> New C1: 5 <= input_bytes
|
|
<S> New C2: true
|
|
*** Proved C2: true
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: true
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: true
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__in_class)
|
|
<S> New H83: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New H86: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H82: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__any_class)
|
|
<S> New H84: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__any_class
|
|
<S> New H87: true
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__a)
|
|
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
|
|
256 + element(fld_bytes(input_packet), [3]))
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
<S> New H43: true
|
|
*** Proved C1: 5 <= input_bytes
|
|
using hypothesis H1.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_59. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H86 has been replaced by "true". (It is already present, as
|
|
H64).
|
|
--- Hypothesis H87 has been replaced by "true". (It is already present, as
|
|
H65).
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: dns_types__packet_bytes_range__first >= 0
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H35: 1 >= integer__first
|
|
<S> New H36: 1 <= integer__last
|
|
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
|
|
<> 0 and rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= natural__first
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= natural__last
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
|
|
integer__base__first
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
|
|
integer__base__last
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= natural__first
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= natural__last
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
|
|
integer__base__first
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
|
|
integer__base__last
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: not (element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [2]
|
|
) * 256 + element(fld_bytes(input_packet), [3]) <= type_to_natural(
|
|
dns_types__query_type__last))
|
|
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
|
|
<S> New H80: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
|
|
<S> New H81: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New H82: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
|
|
<S> New H83: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
|
|
<S> New C1: 5 <= input_bytes
|
|
<S> New C2: true
|
|
*** Proved C2: true
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
>>> Restructured hypothesis H76 into:
|
|
>>> H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__query_type__first)
|
|
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: true
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: true
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__in_class)
|
|
<S> New H81: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New H84: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H80: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__any_class)
|
|
<S> New H82: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__any_class
|
|
<S> New H85: true
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__a) or
|
|
type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
<S> New H77: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H78: true
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__a) or
|
|
type_to_natural(dns_types__unimplemented) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
<S> New H43: true
|
|
*** Proved C1: 5 <= input_bytes
|
|
using hypothesis H1.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_60. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4])))
|
|
--- Hypothesis H88 has been replaced by "true". (It is already present, as
|
|
H64).
|
|
--- Hypothesis H89 has been replaced by "true". (It is already present, as
|
|
H65).
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: dns_types__packet_bytes_range__first >= 0
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H35: 1 >= integer__first
|
|
<S> New H36: 1 <= integer__last
|
|
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
|
|
<> 0 and rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= natural__first
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= natural__last
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
|
|
integer__base__first
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
|
|
integer__base__last
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= natural__first
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= natural__last
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
|
|
integer__base__first
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
|
|
integer__base__last
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
|
|
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
|
|
<S> New H80: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
|
|
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
|
|
<S> New H84: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
|
|
<S> New H85: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New H86: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
|
|
<S> New H87: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
|
|
<S> New C1: 5 <= input_bytes
|
|
<S> New C2: true
|
|
*** Proved C2: true
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: true
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: true
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__in_class)
|
|
<S> New H85: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H84: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__any_class)
|
|
<S> New H86: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__any_class
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__a)
|
|
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
|
|
256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New H81: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
|
|
<S> New H82: true
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
<S> New H43: true
|
|
*** Proved C1: 5 <= input_bytes
|
|
using hypothesis H1.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_61. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2])))
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4])))
|
|
--- Hypothesis H86 has been replaced by "true". (It is already present, as
|
|
H64).
|
|
--- Hypothesis H87 has been replaced by "true". (It is already present, as
|
|
H65).
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: dns_types__packet_bytes_range__first >= 0
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H35: 1 >= integer__first
|
|
<S> New H36: 1 <= integer__last
|
|
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
|
|
<> 0 and rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= natural__first
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= natural__last
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
|
|
integer__base__first
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
|
|
integer__base__last
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= natural__first
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= natural__last
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
|
|
integer__base__first
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
|
|
integer__base__last
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
|
|
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
|
|
<S> New H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
|
|
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
|
|
<S> New H82: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
|
|
<S> New H83: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New H84: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
|
|
<S> New H85: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
|
|
<S> New C1: 5 <= input_bytes
|
|
<S> New C2: true
|
|
*** Proved C2: true
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: true
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: true
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__in_class)
|
|
<S> New H83: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H82: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__any_class)
|
|
<S> New H84: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__any_class
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__a)
|
|
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
|
|
256 + element(fld_bytes(input_packet), [3]))
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
<S> New H43: true
|
|
*** Proved C1: 5 <= input_bytes
|
|
using hypothesis H1.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_62. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4]))
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 4])))
|
|
--- Hypothesis H84 has been replaced by "true". (It is already present, as
|
|
H64).
|
|
--- Hypothesis H85 has been replaced by "true". (It is already present, as
|
|
H65).
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: dns_types__packet_bytes_range__first >= 0
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H35: 1 >= integer__first
|
|
<S> New H36: 1 <= integer__last
|
|
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
|
|
<> 0 and rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= natural__first
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= natural__last
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
|
|
integer__base__first
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
|
|
integer__base__last
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= natural__first
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= natural__last
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
|
|
integer__base__first
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
|
|
integer__base__last
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: not (element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [2]
|
|
) * 256 + element(fld_bytes(input_packet), [3]) <= type_to_natural(
|
|
dns_types__query_type__last))
|
|
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
|
|
<S> New H80: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
|
|
<S> New H81: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
<S> New H82: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__query_class__last
|
|
<S> New H83: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
|
|
<S> New C1: 5 <= input_bytes
|
|
<S> New C2: true
|
|
*** Proved C2: true
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
>>> Restructured hypothesis H76 into:
|
|
>>> H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__query_type__first)
|
|
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: true
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: true
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= class_to_natural(dns_types__in_class)
|
|
<S> New H81: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[4]) * 256 + element(fld_bytes(input_packet), [5]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H80: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= class_to_natural(dns_types__any_class)
|
|
<S> New H82: to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5])) <= dns_types__any_class
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__a) or
|
|
type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
<S> New H77: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H78: true
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__a) or
|
|
type_to_natural(dns_types__unimplemented) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
<S> New H43: true
|
|
*** Proved C1: 5 <= input_bytes
|
|
using hypothesis H1.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_63. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H86 has been replaced by "true". (It is already present, as
|
|
H64).
|
|
--- Hypothesis H87 has been replaced by "true". (It is already present, as
|
|
H65).
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: dns_types__packet_bytes_range__first >= 0
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H35: 1 >= integer__first
|
|
<S> New H36: 1 <= integer__last
|
|
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
|
|
<> 0 and rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= natural__first
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= natural__last
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
|
|
integer__base__first
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
|
|
integer__base__last
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= natural__first
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= natural__last
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
|
|
integer__base__first
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
|
|
integer__base__last
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
|
|
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
|
|
<S> New H80: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
|
|
<S> New H83: not (element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
4]) * 256 + element(fld_bytes(input_packet), [5]) <= class_to_natural(
|
|
dns_types__query_class__last))
|
|
<S> New C1: 5 <= input_bytes
|
|
<S> New C2: true
|
|
*** Proved C2: true
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
>>> Restructured hypothesis H83 into:
|
|
>>> H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) < class_to_natural(dns_types__query_class__first)
|
|
or class_to_natural(dns_types__query_class__last) < element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: true
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: true
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) < class_to_natural(dns_types__in_class) or
|
|
class_to_natural(dns_types__query_class__last) < element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
|
|
<S> New H84: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H85: true
|
|
<S> New H83: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) < class_to_natural(dns_types__in_class) or
|
|
class_to_natural(dns_types__any_class) < element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__a)
|
|
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
|
|
256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New H81: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
|
|
<S> New H82: true
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
<S> New H43: true
|
|
*** Proved C1: 5 <= input_bytes
|
|
using hypothesis H1.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_64. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2]))
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 +
|
|
element(fld_bytes(input_packet), [
|
|
dns_types__packet_bytes_range__first + 2])))
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H84 has been replaced by "true". (It is already present, as
|
|
H64).
|
|
--- Hypothesis H85 has been replaced by "true". (It is already present, as
|
|
H65).
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: dns_types__packet_bytes_range__first >= 0
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H35: 1 >= integer__first
|
|
<S> New H36: 1 <= integer__last
|
|
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
|
|
<> 0 and rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= natural__first
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= natural__last
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
|
|
integer__base__first
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
|
|
integer__base__last
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= natural__first
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= natural__last
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
|
|
integer__base__first
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
|
|
integer__base__last
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
|
|
<S> New H78: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__query_type__last
|
|
<S> New H80: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
|
|
<S> New H81: not (element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
4]) * 256 + element(fld_bytes(input_packet), [5]) <= class_to_natural(
|
|
dns_types__query_class__last))
|
|
<S> New C1: 5 <= input_bytes
|
|
<S> New C2: true
|
|
*** Proved C2: true
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
>>> Restructured hypothesis H81 into:
|
|
>>> H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) < class_to_natural(dns_types__query_class__first)
|
|
or class_to_natural(dns_types__query_class__last) < element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: true
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: true
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) < class_to_natural(dns_types__in_class) or
|
|
class_to_natural(dns_types__query_class__last) < element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
|
|
<S> New H82: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H83: true
|
|
<S> New H81: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) < class_to_natural(dns_types__in_class) or
|
|
class_to_natural(dns_types__any_class) < element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= type_to_natural(dns_types__a)
|
|
<S> New H78: dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) *
|
|
256 + element(fld_bytes(input_packet), [3]))
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H77: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
|
|
<S> New H79: to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3])) <= dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
<S> New H43: true
|
|
*** Proved C1: 5 <= input_bytes
|
|
using hypothesis H1.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_65. @@@@@@@@@@
|
|
%%% Simplified H3 on reading formula in, to give:
|
|
%%% H3: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H12 on reading formula in, to give:
|
|
%%% H12: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H21 on reading formula in, to give:
|
|
%%% H21: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H30 on reading formula in, to give:
|
|
%%% H30: dns_types__packet_bytes_range__first <= input_bytes - 5 ->
|
|
dns_types__packet_bytes_range__first <=
|
|
dns_types__packet_bytes_range__last
|
|
--- Hypothesis H40 has been replaced by "true". (It is already present, as
|
|
H38).
|
|
--- Hypothesis H41 has been replaced by "true". (It is already present, as
|
|
H39).
|
|
%%% Simplified H42 on reading formula in, to give:
|
|
%%% H42: true
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H82 has been replaced by "true". (It is already present, as
|
|
H64).
|
|
--- Hypothesis H83 has been replaced by "true". (It is already present, as
|
|
H65).
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: dns_types__packet_bytes_range__first >= 0
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H30: 6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
|
|
<S> New H35: 1 >= integer__first
|
|
<S> New H36: 1 <= integer__last
|
|
<S> New H37: not (6 <= input_bytes and element(fld_bytes(input_packet), [1])
|
|
<> 0 and rr_type__wirestringtypeindex__first <
|
|
rr_type__wirestringtypeindex__last)
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= natural__first
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= natural__last
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= natural__first
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= natural__last
|
|
<S> New H48: true
|
|
<S> New H49: 3 <= dns_types__packet_bytes_range__last
|
|
<S> New H50: 3 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H51: 3 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >=
|
|
integer__base__first
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <=
|
|
integer__base__last
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= natural__first
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= natural__last
|
|
<S> New H56: true
|
|
<S> New H57: 2 <= dns_types__packet_bytes_range__last
|
|
<S> New H58: 2 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H59: 2 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= natural__first
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= natural__last
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= natural__first
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= natural__last
|
|
<S> New H64: true
|
|
<S> New H65: 5 <= dns_types__packet_bytes_range__last
|
|
<S> New H66: 5 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H67: 5 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >=
|
|
integer__base__first
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <=
|
|
integer__base__last
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= natural__first
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= natural__last
|
|
<S> New H72: true
|
|
<S> New H73: 4 <= dns_types__packet_bytes_range__last
|
|
<S> New H74: 4 >= dns_types__packet_bytes_range__base__first
|
|
<S> New H75: 4 <= dns_types__packet_bytes_range__base__last
|
|
<S> New H76: not (element(fld_bytes(input_packet), [2]) * 256 + element(
|
|
fld_bytes(input_packet), [3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [2]
|
|
) * 256 + element(fld_bytes(input_packet), [3]) <= type_to_natural(
|
|
dns_types__query_type__last))
|
|
<S> New H79: not (element(fld_bytes(input_packet), [4]) * 256 + element(
|
|
fld_bytes(input_packet), [5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
4]) * 256 + element(fld_bytes(input_packet), [5]) <= class_to_natural(
|
|
dns_types__query_class__last))
|
|
<S> New C1: 5 <= input_bytes
|
|
<S> New C2: true
|
|
*** Proved C2: true
|
|
>>> Restructured hypothesis H37 into:
|
|
>>> H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <=
|
|
rr_type__wirestringtypeindex__first
|
|
>>> Restructured hypothesis H76 into:
|
|
>>> H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__query_type__first)
|
|
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
>>> Restructured hypothesis H79 into:
|
|
>>> H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) < class_to_natural(dns_types__query_class__first)
|
|
or class_to_natural(dns_types__query_class__last) < element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H1: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H31: input_bytes >= - 2147483643
|
|
<S> New H35: true
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H32: input_bytes <= 2147483652
|
|
<S> New H36: true
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H52: element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
|
|
<S> New H68: element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H53: element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H28: true
|
|
<S> New H38: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H29: true
|
|
<S> New H39: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H44: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) >= 0
|
|
<S> New H46: element(fld_bytes(input_packet), [3]) >= 0
|
|
<S> New H54: element(fld_bytes(input_packet), [2]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) >= 0
|
|
<S> New H62: element(fld_bytes(input_packet), [5]) >= 0
|
|
<S> New H70: element(fld_bytes(input_packet), [4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H45: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) <= 2147483647
|
|
<S> New H47: element(fld_bytes(input_packet), [3]) <= 2147483647
|
|
<S> New H55: element(fld_bytes(input_packet), [2]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) <= 2147483647
|
|
<S> New H63: element(fld_bytes(input_packet), [5]) <= 2147483647
|
|
<S> New H71: element(fld_bytes(input_packet), [4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H26: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H27: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H33: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H34: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H30: true
|
|
<S> New H49: true
|
|
<S> New H57: true
|
|
<S> New H65: true
|
|
<S> New H73: true
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H50: true
|
|
<S> New H58: true
|
|
<S> New H66: true
|
|
<S> New H74: true
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H51: true
|
|
<S> New H59: true
|
|
<S> New H67: true
|
|
<S> New H75: true
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H3: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H4: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H6: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H24: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H5: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H7: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H25: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H21: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H22: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H12: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H13: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) < class_to_natural(dns_types__in_class) or
|
|
class_to_natural(dns_types__query_class__last) < element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
|
|
<S> New H80: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H81: true
|
|
<S> New H79: element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
|
|
input_packet), [5]) < class_to_natural(dns_types__in_class) or
|
|
class_to_natural(dns_types__any_class) < element(fld_bytes(
|
|
input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__a) or
|
|
type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
<S> New H77: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H78: true
|
|
<S> New H76: element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
|
|
input_packet), [3]) < type_to_natural(dns_types__a) or
|
|
type_to_natural(dns_types__unimplemented) < element(fld_bytes(
|
|
input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or
|
|
rr_type__wirestringtypeindex__last <= 1
|
|
<S> New H43: 1 <= rr_type__wirestringtypeindex__last
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H37: input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
|
|
<S> New H43: true
|
|
*** Proved C1: 5 <= input_bytes
|
|
using hypothesis H1.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_66. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H99 on reading formula in, to give:
|
|
%%% H99: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H100 on reading formula in, to give:
|
|
%%% H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H101 on reading formula in, to give:
|
|
%%% H101: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified H102 on reading formula in, to give:
|
|
%%% H102: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H104 has been replaced by "true". (It is already present, as
|
|
H78).
|
|
--- Hypothesis H105 has been replaced by "true". (It is already present, as
|
|
H79).
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 <= input_bytes
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte >= - 1
|
|
*** Proved C1: byte + 5 <= input_bytes
|
|
using hypothesis H4.
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New H99: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
<S> New H102: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
<S> New H103: true
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
|
|
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
|
|
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
|
|
<S> New H95: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__unimplemented)
|
|
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__unimplemented
|
|
<S> New H96: true
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
*** Proved C2: byte >= - 1
|
|
using hypothesis H70.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_67. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H99 on reading formula in, to give:
|
|
%%% H99: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified H100 on reading formula in, to give:
|
|
%%% H100: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H102 has been replaced by "true". (It is already present, as
|
|
H78).
|
|
--- Hypothesis H103 has been replaced by "true". (It is already present, as
|
|
H79).
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 <= input_bytes
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte >= - 1
|
|
*** Proved C1: byte + 5 <= input_bytes
|
|
using hypothesis H4.
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New H97: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
<S> New H100: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
<S> New H101: true
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
|
|
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
|
|
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__unimplemented)
|
|
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
*** Proved C2: byte >= - 1
|
|
using hypothesis H70.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_68. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [
|
|
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
|
|
type_to_natural(dns_types__query_type__last))
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: not dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H100 has been replaced by "true". (It is already present, as
|
|
H78).
|
|
--- Hypothesis H101 has been replaced by "true". (It is already present, as
|
|
H79).
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 <= input_bytes
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte >= - 1
|
|
*** Proved C1: byte + 5 <= input_bytes
|
|
using hypothesis H4.
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
>>> Restructured hypothesis H90 into:
|
|
>>> H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(
|
|
dns_types__query_type__first) or type_to_natural(
|
|
dns_types__query_type__last) < element(fld_bytes(input_packet), [byte
|
|
+ 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New H95: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
<S> New H98: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
<S> New H99: true
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
|
|
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])
|
|
<S> New H91: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H92: true
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
|
|
or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
*** Proved C2: byte >= - 1
|
|
using hypothesis H70.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_69. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H99 on reading formula in, to give:
|
|
%%% H99: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H100 on reading formula in, to give:
|
|
%%% H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H101 on reading formula in, to give:
|
|
%%% H101: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
--- Hypothesis H102 has been replaced by "true". (It is already present, as
|
|
H78).
|
|
--- Hypothesis H103 has been replaced by "true". (It is already present, as
|
|
H79).
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 <= input_bytes
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte >= - 1
|
|
*** Proved C1: byte + 5 <= input_bytes
|
|
using hypothesis H4.
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New H99: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H98: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New H100: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
|
|
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
|
|
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
|
|
<S> New H95: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__unimplemented)
|
|
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__unimplemented
|
|
<S> New H96: true
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
*** Proved C2: byte >= - 1
|
|
using hypothesis H70.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_70. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H99 on reading formula in, to give:
|
|
%%% H99: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
--- Hypothesis H100 has been replaced by "true". (It is already present, as
|
|
H78).
|
|
--- Hypothesis H101 has been replaced by "true". (It is already present, as
|
|
H79).
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 <= input_bytes
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte >= - 1
|
|
*** Proved C1: byte + 5 <= input_bytes
|
|
using hypothesis H4.
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New H97: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H96: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New H98: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
|
|
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
|
|
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__unimplemented)
|
|
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
*** Proved C2: byte >= - 1
|
|
using hypothesis H70.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_71. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [
|
|
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
|
|
type_to_natural(dns_types__query_type__last))
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first)
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__query_class__last)
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_class__first <= to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5]))
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <=
|
|
dns_types__query_class__last
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: dns_types__query_class__valid(to_class(element(fld_bytes(
|
|
input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 5])))
|
|
--- Hypothesis H98 has been replaced by "true". (It is already present, as
|
|
H78).
|
|
--- Hypothesis H99 has been replaced by "true". (It is already present, as
|
|
H79).
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 <= input_bytes
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte >= - 1
|
|
*** Proved C1: byte + 5 <= input_bytes
|
|
using hypothesis H4.
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
>>> Restructured hypothesis H90 into:
|
|
>>> H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(
|
|
dns_types__query_type__first) or type_to_natural(
|
|
dns_types__query_type__last) < element(fld_bytes(input_packet), [byte
|
|
+ 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__in_class)
|
|
<S> New H95: dns_types__in_class <= to_class(element(fld_bytes(input_packet),
|
|
[byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H94: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
|
|
dns_types__any_class)
|
|
<S> New H96: to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
|
|
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])
|
|
<S> New H91: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H92: true
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
|
|
or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
*** Proved C2: byte >= - 1
|
|
using hypothesis H70.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_72. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: not dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H97 on reading formula in, to give:
|
|
%%% H97: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
%%% Simplified H98 on reading formula in, to give:
|
|
%%% H98: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H100 has been replaced by "true". (It is already present, as
|
|
H78).
|
|
--- Hypothesis H101 has been replaced by "true". (It is already present, as
|
|
H79).
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 <= input_bytes
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte >= - 1
|
|
*** Proved C1: byte + 5 <= input_bytes
|
|
using hypothesis H4.
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
>>> Restructured hypothesis H97 into:
|
|
>>> H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
|
|
dns_types__query_class__first) or class_to_natural(
|
|
dns_types__query_class__last) < element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
|
|
dns_types__in_class) or class_to_natural(dns_types__query_class__last)
|
|
< element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5])
|
|
<S> New H98: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H99: true
|
|
<S> New H97: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
|
|
dns_types__in_class) or class_to_natural(dns_types__any_class) <
|
|
element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5])
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
|
|
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
|
|
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
|
|
<S> New H95: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__unimplemented)
|
|
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__unimplemented
|
|
<S> New H96: true
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
*** Proved C2: byte >= - 1
|
|
using hypothesis H70.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_73. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first)
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__query_type__last)
|
|
%%% Simplified H92 on reading formula in, to give:
|
|
%%% H92: dns_types__query_type__first <= to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3]))
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__query_type__last
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: dns_types__query_type__valid(to_type(element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])))
|
|
%%% Simplified H95 on reading formula in, to give:
|
|
%%% H95: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
%%% Simplified H96 on reading formula in, to give:
|
|
%%% H96: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H98 has been replaced by "true". (It is already present, as
|
|
H78).
|
|
--- Hypothesis H99 has been replaced by "true". (It is already present, as
|
|
H79).
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 <= input_bytes
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte >= - 1
|
|
*** Proved C1: byte + 5 <= input_bytes
|
|
using hypothesis H4.
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
>>> Restructured hypothesis H95 into:
|
|
>>> H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
|
|
dns_types__query_class__first) or class_to_natural(
|
|
dns_types__query_class__last) < element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
|
|
dns_types__in_class) or class_to_natural(dns_types__query_class__last)
|
|
< element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5])
|
|
<S> New H96: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H97: true
|
|
<S> New H95: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
|
|
dns_types__in_class) or class_to_natural(dns_types__any_class) <
|
|
element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5])
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
|
|
<S> New H92: dns_types__a <= to_type(element(fld_bytes(input_packet), [byte +
|
|
2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H91: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
|
|
dns_types__unimplemented)
|
|
<S> New H93: to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3])) <=
|
|
dns_types__unimplemented
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
*** Proved C2: byte >= - 1
|
|
using hypothesis H70.
|
|
*** PROVED VC.
|
|
|
|
|
|
@@@@@@@@@@ VC: procedure_get_query_name_type_class_74. @@@@@@@@@@
|
|
%%% Simplified H5 on reading formula in, to give:
|
|
%%% H5: for_all(i___1 : integer, dns_types__packet_bytes_range__first <=
|
|
i___1 and i___1 <= dns_types__packet_bytes_range__last ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
%%% Simplified H14 on reading formula in, to give:
|
|
%%% H14: dns_types__response_code__first <= fld_rcode(fld_header(
|
|
input_packet))
|
|
%%% Simplified H23 on reading formula in, to give:
|
|
%%% H23: dns_types__opcode_type__first <= fld_opcode(fld_header(
|
|
input_packet))
|
|
--- Hypothesis H34 has been replaced by "true". (It is already present, as
|
|
H32).
|
|
--- Hypothesis H35 has been replaced by "true". (It is already present, as
|
|
H33).
|
|
--- Hypothesis H36 has been replaced by "true". (It is already present, as H3)
|
|
.
|
|
--- Hypothesis H38 has been replaced by "true". (It is already present, as H1)
|
|
.
|
|
--- Hypothesis H54 has been replaced by "true". (It is already present, as
|
|
H52).
|
|
--- Hypothesis H55 has been replaced by "true". (It is already present, as
|
|
H53).
|
|
%%% Simplified H58 on reading formula in, to give:
|
|
%%% H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H59 on reading formula in, to give:
|
|
%%% H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H60 on reading formula in, to give:
|
|
%%% H60: element(fld_bytes(input_packet), [byte + 3]) >= natural__first
|
|
%%% Simplified H61 on reading formula in, to give:
|
|
%%% H61: element(fld_bytes(input_packet), [byte + 3]) <= natural__last
|
|
%%% Simplified H62 on reading formula in, to give:
|
|
%%% H62: byte + 3 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H63 on reading formula in, to give:
|
|
%%% H63: byte + 3 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H64 on reading formula in, to give:
|
|
%%% H64: byte + 3 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H65 on reading formula in, to give:
|
|
%%% H65: byte + 3 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H66 on reading formula in, to give:
|
|
%%% H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H67 on reading formula in, to give:
|
|
%%% H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H68 on reading formula in, to give:
|
|
%%% H68: element(fld_bytes(input_packet), [byte + 2]) >= natural__first
|
|
%%% Simplified H69 on reading formula in, to give:
|
|
%%% H69: element(fld_bytes(input_packet), [byte + 2]) <= natural__last
|
|
%%% Simplified H70 on reading formula in, to give:
|
|
%%% H70: byte + 2 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H71 on reading formula in, to give:
|
|
%%% H71: byte + 2 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H72 on reading formula in, to give:
|
|
%%% H72: byte + 2 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H73 on reading formula in, to give:
|
|
%%% H73: byte + 2 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H74 on reading formula in, to give:
|
|
%%% H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H75 on reading formula in, to give:
|
|
%%% H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H76 on reading formula in, to give:
|
|
%%% H76: element(fld_bytes(input_packet), [byte + 5]) >= natural__first
|
|
%%% Simplified H77 on reading formula in, to give:
|
|
%%% H77: element(fld_bytes(input_packet), [byte + 5]) <= natural__last
|
|
%%% Simplified H78 on reading formula in, to give:
|
|
%%% H78: byte + 5 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H79 on reading formula in, to give:
|
|
%%% H79: byte + 5 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H80 on reading formula in, to give:
|
|
%%% H80: byte + 5 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H81 on reading formula in, to give:
|
|
%%% H81: byte + 5 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H82 on reading formula in, to give:
|
|
%%% H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >=
|
|
integer__base__first
|
|
%%% Simplified H83 on reading formula in, to give:
|
|
%%% H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <=
|
|
integer__base__last
|
|
%%% Simplified H84 on reading formula in, to give:
|
|
%%% H84: element(fld_bytes(input_packet), [byte + 4]) >= natural__first
|
|
%%% Simplified H85 on reading formula in, to give:
|
|
%%% H85: element(fld_bytes(input_packet), [byte + 4]) <= natural__last
|
|
%%% Simplified H86 on reading formula in, to give:
|
|
%%% H86: byte + 4 >= dns_types__packet_bytes_range__first
|
|
%%% Simplified H87 on reading formula in, to give:
|
|
%%% H87: byte + 4 <= dns_types__packet_bytes_range__last
|
|
%%% Simplified H88 on reading formula in, to give:
|
|
%%% H88: byte + 4 >= dns_types__packet_bytes_range__base__first
|
|
%%% Simplified H89 on reading formula in, to give:
|
|
%%% H89: byte + 4 <= dns_types__packet_bytes_range__base__last
|
|
%%% Simplified H90 on reading formula in, to give:
|
|
%%% H90: not (element(fld_bytes(input_packet), [byte + 2]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
|
|
dns_types__query_type__first) and element(fld_bytes(input_packet), [
|
|
byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <=
|
|
type_to_natural(dns_types__query_type__last))
|
|
%%% Simplified H91 on reading formula in, to give:
|
|
%%% H91: dns_types__query_type__first <= dns_types__unimplemented
|
|
%%% Simplified H93 on reading formula in, to give:
|
|
%%% H93: not (element(fld_bytes(input_packet), [byte + 4]) * 256 +
|
|
element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
|
|
dns_types__query_class__first) and element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <=
|
|
class_to_natural(dns_types__query_class__last))
|
|
%%% Simplified H94 on reading formula in, to give:
|
|
%%% H94: dns_types__query_class__first <= dns_types__none_class
|
|
--- Hypothesis H96 has been replaced by "true". (It is already present, as
|
|
H78).
|
|
--- Hypothesis H97 has been replaced by "true". (It is already present, as
|
|
H79).
|
|
%%% Simplified C1 on reading formula in, to give:
|
|
%%% C1: byte + 5 <= input_bytes
|
|
%%% Simplified C2 on reading formula in, to give:
|
|
%%% C2: byte >= - 1
|
|
*** Proved C1: byte + 5 <= input_bytes
|
|
using hypothesis H4.
|
|
>>> Restructured hypothesis H51 into:
|
|
>>> H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
|
|
>>> Restructured hypothesis H90 into:
|
|
>>> H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(
|
|
dns_types__query_type__first) or type_to_natural(
|
|
dns_types__query_type__last) < element(fld_bytes(input_packet), [byte
|
|
+ 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
|
|
>>> Restructured hypothesis H93 into:
|
|
>>> H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
|
|
dns_types__query_class__first) or class_to_natural(
|
|
dns_types__query_class__last) < element(fld_bytes(input_packet), [
|
|
byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5])
|
|
-S- Applied substitution rule get_query_na_rules(1).
|
|
This was achieved by replacing all occurrences of dns_types__header_bits
|
|
by:
|
|
96.
|
|
<S> New H30: input_bytes >= 13
|
|
-S- Applied substitution rule get_query_na_rules(7).
|
|
This was achieved by replacing all occurrences of integer__first by:
|
|
- 2147483648.
|
|
<S> New H45: input_bytes >= - 2147483643
|
|
<S> New H49: byte >= - 2147483649
|
|
-S- Applied substitution rule get_query_na_rules(8).
|
|
This was achieved by replacing all occurrences of integer__last by:
|
|
2147483647.
|
|
<S> New H46: input_bytes <= 2147483652
|
|
<S> New H50: byte <= 2147483646
|
|
-S- Applied substitution rule get_query_na_rules(9).
|
|
This was achieved by replacing all occurrences of integer__base__first by:
|
|
- 2147483648.
|
|
<S> New H66: element(fld_bytes(input_packet), [byte + 2]) * 256 >= -
|
|
2147483648
|
|
<S> New H82: element(fld_bytes(input_packet), [byte + 4]) * 256 >= -
|
|
2147483648
|
|
-S- Applied substitution rule get_query_na_rules(10).
|
|
This was achieved by replacing all occurrences of integer__base__last by:
|
|
2147483647.
|
|
<S> New H67: element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
|
|
<S> New H83: element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(12).
|
|
This was achieved by replacing all occurrences of character__first by:
|
|
0.
|
|
<S> New H32: element(fld_bytes(input_packet), [byte]) >= 0
|
|
<S> New H52: true
|
|
-S- Applied substitution rule get_query_na_rules(13).
|
|
This was achieved by replacing all occurrences of character__last by:
|
|
255.
|
|
<S> New H33: element(fld_bytes(input_packet), [byte]) <= 255
|
|
<S> New H53: true
|
|
-S- Applied substitution rule get_query_na_rules(17).
|
|
This was achieved by replacing all occurrences of natural__first by:
|
|
0.
|
|
<S> New H40: i >= - 1
|
|
<S> New H58: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H60: element(fld_bytes(input_packet), [byte + 3]) >= 0
|
|
<S> New H68: element(fld_bytes(input_packet), [byte + 2]) >= 0
|
|
<S> New H74: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H76: element(fld_bytes(input_packet), [byte + 5]) >= 0
|
|
<S> New H84: element(fld_bytes(input_packet), [byte + 4]) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(18).
|
|
This was achieved by replacing all occurrences of natural__last by:
|
|
2147483647.
|
|
<S> New H41: i <= 2147483646
|
|
<S> New H59: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H61: element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
|
|
<S> New H69: element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
|
|
<S> New H75: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H77: element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
|
|
<S> New H85: element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
|
|
-S- Applied substitution rule get_query_na_rules(22).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__first by:
|
|
0.
|
|
<S> New H28: input_bytes >= 0
|
|
-S- Applied substitution rule get_query_na_rules(23).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__last by:
|
|
8192.
|
|
<S> New H29: input_bytes <= 8192
|
|
-S- Applied substitution rule get_query_na_rules(24).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H47: input_bytes >= - 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(25).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_length_range__base__last by:
|
|
2147483647.
|
|
<S> New H48: input_bytes <= 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(27).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__first by:
|
|
1.
|
|
<S> New H3: byte >= 1
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <=
|
|
dns_types__packet_bytes_range__last -> dns_types__byte__first <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
<S> New H42: byte >= 0
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <=
|
|
dns_types__packet_bytes_range__last
|
|
<S> New H62: byte >= - 2
|
|
<S> New H70: byte >= - 1
|
|
<S> New H78: byte >= - 4
|
|
<S> New H86: byte >= - 3
|
|
-S- Applied substitution rule get_query_na_rules(28).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__last by:
|
|
8180.
|
|
<S> New H37: byte <= 8180
|
|
<S> New H43: byte <= 8179
|
|
<S> New H63: byte <= 8177
|
|
<S> New H71: byte <= 8178
|
|
<S> New H79: byte <= 8175
|
|
<S> New H87: byte <= 8176
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 ->
|
|
dns_types__byte__first <= element(fld_bytes(input_packet), [i___1])
|
|
and element(fld_bytes(input_packet), [i___1]) <=
|
|
dns_types__byte__last)
|
|
<S> New H44: byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
|
|
-S- Applied substitution rule get_query_na_rules(29).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__first by:
|
|
- 2147483648.
|
|
<S> New H64: byte >= - 2147483651
|
|
<S> New H72: byte >= - 2147483650
|
|
<S> New H80: byte >= - 2147483653
|
|
<S> New H88: byte >= - 2147483652
|
|
-S- Applied substitution rule get_query_na_rules(30).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__packet_bytes_range__base__last by:
|
|
2147483647.
|
|
<S> New H65: byte <= 2147483644
|
|
<S> New H73: byte <= 2147483645
|
|
<S> New H81: byte <= 2147483642
|
|
<S> New H89: byte <= 2147483643
|
|
-S- Applied substitution rule get_query_na_rules(33).
|
|
This was achieved by replacing all occurrences of dns_types__byte__first
|
|
by:
|
|
0.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= dns_types__byte__last)
|
|
-S- Applied substitution rule get_query_na_rules(34).
|
|
This was achieved by replacing all occurrences of dns_types__byte__last by:
|
|
255.
|
|
<S> New H5: for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <=
|
|
element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
|
|
input_packet), [i___1]) <= 255)
|
|
-S- Applied substitution rule get_query_na_rules(40).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__first by:
|
|
0.
|
|
<S> New H6: fld_arcount(fld_header(input_packet)) >= 0
|
|
<S> New H8: fld_nscount(fld_header(input_packet)) >= 0
|
|
<S> New H10: fld_ancount(fld_header(input_packet)) >= 0
|
|
<S> New H12: fld_qdcount(fld_header(input_packet)) >= 0
|
|
<S> New H26: fld_messageid(fld_header(input_packet)) >= 0
|
|
-S- Applied substitution rule get_query_na_rules(41).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__unsigned_short__last by:
|
|
65535.
|
|
<S> New H7: fld_arcount(fld_header(input_packet)) <= 65535
|
|
<S> New H9: fld_nscount(fld_header(input_packet)) <= 65535
|
|
<S> New H11: fld_ancount(fld_header(input_packet)) <= 65535
|
|
<S> New H13: fld_qdcount(fld_header(input_packet)) <= 65535
|
|
<S> New H27: fld_messageid(fld_header(input_packet)) <= 65535
|
|
-S- Applied substitution rule get_query_na_rules(46).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__first by:
|
|
dns_types__query.
|
|
<S> New H23: dns_types__query <= fld_opcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(47).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__opcode_type__last by:
|
|
dns_types__status.
|
|
<S> New H24: fld_opcode(fld_header(input_packet)) <= dns_types__status
|
|
-S- Applied substitution rule get_query_na_rules(72).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__first by:
|
|
dns_types__no_error.
|
|
<S> New H14: dns_types__no_error <= fld_rcode(fld_header(input_packet))
|
|
-S- Applied substitution rule get_query_na_rules(73).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__response_code__last by:
|
|
dns_types__refused.
|
|
<S> New H15: fld_rcode(fld_header(input_packet)) <= dns_types__refused
|
|
-S- Applied substitution rule get_query_na_rules(107).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__first by:
|
|
dns_types__in_class.
|
|
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
|
|
dns_types__in_class) or class_to_natural(dns_types__query_class__last)
|
|
< element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5])
|
|
<S> New H94: true
|
|
-S- Applied substitution rule get_query_na_rules(108).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_class__last by:
|
|
dns_types__any_class.
|
|
<S> New H95: true
|
|
<S> New H93: element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5]) < class_to_natural(
|
|
dns_types__in_class) or class_to_natural(dns_types__any_class) <
|
|
element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 5])
|
|
-S- Applied substitution rule get_query_na_rules(137).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__first by:
|
|
dns_types__a.
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
|
|
or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])
|
|
<S> New H91: true
|
|
-S- Applied substitution rule get_query_na_rules(138).
|
|
This was achieved by replacing all occurrences of
|
|
dns_types__query_type__last by:
|
|
dns_types__unimplemented.
|
|
<S> New H92: true
|
|
<S> New H90: element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
|
|
fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a)
|
|
or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
|
|
input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
|
|
byte + 3])
|
|
-S- Applied substitution rule get_query_na_rules(196).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__first by:
|
|
1.
|
|
<S> New H1: i >= 1
|
|
<S> New H56: i >= 0
|
|
-S- Applied substitution rule get_query_na_rules(197).
|
|
This was achieved by replacing all occurrences of
|
|
rr_type__wirestringtypeindex__last by:
|
|
129.
|
|
<S> New H2: i < 129
|
|
<S> New H39: i <= 129
|
|
<S> New H51: input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
|
|
byte + 1]) = 0 or 128 <= i
|
|
<S> New H57: i <= 128
|
|
*** Proved C2: byte >= - 1
|
|
using hypothesis H70.
|
|
*** PROVED VC.
|
|
|