1{
2  "ENTRY": "DNSgetHostByName_a",
3  ################################################################
4  # This configuration flag sets callback to 1. It also sets MAX_HOSTNAME_LEN to 10 and MAX_REQ_SIZE to 50 for performance issues.
5  # According to the specification MAX_HOST_NAME is upto 255.
6  "callback": 1,
7  "MAX_HOSTNAME_LEN": 10,
8  "ENDPOINT_DNS_ADDRESS_COUNT": 5,
9  "HOSTNAME_UNWIND": "__eval {MAX_HOSTNAME_LEN} + 1",
10  "CBMCFLAGS":
11  [
12    "--unwind 1",
13    "--unwindset __CPROVER_file_local_FreeRTOS_DNS_c_prvFillSockAddress.0:2,__CPROVER_file_local_FreeRTOS_DNS_c_prvFillSockAddress.1:2",
14    "--unwindset FreeRTOS_freeaddrinfo.0:2",
15    "--unwindset strchr.0:{HOSTNAME_UNWIND}",
16    "--unwindset strncpy.0:255",
17    "--unwindset __CPROVER_file_local_FreeRTOS_DNS_c_prvCreateDNSMessage.0:{HOSTNAME_UNWIND},__CPROVER_file_local_FreeRTOS_DNS_c_prvCreateDNSMessage.1:{HOSTNAME_UNWIND},prvGetHostByName.0:{HOSTNAME_UNWIND},prvProcessDNSCache.0:5,strlen.0:{HOSTNAME_UNWIND},__builtin___strcpy_chk.0:{HOSTNAME_UNWIND},strcmp.0:{HOSTNAME_UNWIND},xTaskResumeAll.0:{HOSTNAME_UNWIND},xTaskResumeAll.1:{HOSTNAME_UNWIND},strcpy.0:{HOSTNAME_UNWIND}",
18    "--nondet-static"
19  ],
20  "OPT":
21  [
22      "--export-file-local-symbols"
23  ],
24  "OBJS":
25  [
26    "$(ENTRY)_harness.goto",
27    "$(FREERTOS_PLUS_TCP)/test/cbmc/stubs/cbmc.goto",
28    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_Routing.goto",
29    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_DNS.goto",
30    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_DNS_Parser.goto",
31    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_IP.goto"
32  ],
33  "DEF":
34  [
35    "ipconfigDNS_USE_CALLBACKS={callback}",
36    "MAX_HOSTNAME_LEN={MAX_HOSTNAME_LEN}",
37    # This value is defined only when ipconfigUSE_DNS_CACHE==1
38    "ipconfigDNS_CACHE_NAME_LENGTH=254",
39    "ipconfigENDPOINT_DNS_ADDRESS_COUNT={ENDPOINT_DNS_ADDRESS_COUNT}"
40  ]
41}
42