1{
2  "ENTRY": "DNSgetHostByName",
3
4  ################################################################
5  # This configuration sets callback to 0.
6  # It also sets MAX_HOSTNAME_LEN to 10 to bound strcmp.
7  # According to the specification MAX_HOST_NAME is upto 255.
8
9  "callback": 0,
10  "MAX_HOSTNAME_LEN": 10,
11  "ENDPOINT_DNS_ADDRESS_COUNT": 5,
12  "HOSTNAME_UNWIND": "__eval {MAX_HOSTNAME_LEN} + 1",
13  "ENDPOINT_DNS_ADDRESS_COUNT_UNWIND": "__eval {ENDPOINT_DNS_ADDRESS_COUNT} + 1",
14
15  "CBMCFLAGS":
16  [
17    "--unwind 1",
18    "--unwindset strchr.0:{HOSTNAME_UNWIND}",
19    "--unwindset __CPROVER_file_local_FreeRTOS_DNS_c_prvIncreaseDNS4Index.0:{ENDPOINT_DNS_ADDRESS_COUNT_UNWIND}",
20    "--unwindset __CPROVER_file_local_FreeRTOS_DNS_c_prvIncreaseDNS6Index.0:{ENDPOINT_DNS_ADDRESS_COUNT_UNWIND}",
21    "--unwindset __CPROVER_file_local_FreeRTOS_DNS_c_prvFillSockAddress.0:2,__CPROVER_file_local_FreeRTOS_DNS_c_prvFillSockAddress.1:2",
22    "--unwindset __CPROVER_file_local_FreeRTOS_DNS_c_prvCreateDNSMessage.0:{HOSTNAME_UNWIND},__CPROVER_file_local_FreeRTOS_DNS_c_prvCreateDNSMessage.1:{HOSTNAME_UNWIND},strlen.0:{HOSTNAME_UNWIND},__builtin___strcpy_chk.0:{HOSTNAME_UNWIND},strcmp.0:{HOSTNAME_UNWIND},strcpy.0:{HOSTNAME_UNWIND}",
23    "--unwindset __CPROVER_file_local_FreeRTOS_DNS_c_prvGetHostByNameOp_WithRetry.0:{HOSTNAME_UNWIND}",
24    "--nondet-static"
25  ],
26  "OPT":
27  [
28      "--export-file-local-symbols"
29  ],
30  "OBJS":
31  [
32    "$(ENTRY)_harness.goto",
33    "$(FREERTOS_PLUS_TCP)/test/cbmc/stubs/cbmc.goto",
34    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_Routing.goto",
35    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_DNS.goto",
36    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_Routing.goto",
37    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_DNS_Parser.goto"
38  ],
39
40  "DEF":
41  [
42    "ipconfigUSE_IPv6=1",
43    "ipconfigDNS_USE_CALLBACKS={callback}",
44    "MAX_HOSTNAME_LEN={MAX_HOSTNAME_LEN}",
45    "ipconfigENDPOINT_DNS_ADDRESS_COUNT={ENDPOINT_DNS_ADDRESS_COUNT}"
46  ]
47}
48