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  "HOSTNAME_UNWIND": "__eval {MAX_HOSTNAME_LEN} + 1",
9  "CBMCFLAGS":
10  [
11    "--unwind 1",
12    "--unwindset prvCreateDNSMessage.0:{HOSTNAME_UNWIND},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}",
13    "--nondet-static"
14  ],
15  "OBJS":
16  [
17    "$(ENTRY)_harness.goto",
18    "$(FREERTOS_PLUS_TCP)/test/cbmc/stubs/cbmc.goto",
19    "$(FREERTOS_PLUS_TCP)/test/cbmc/stubs/freertos_api.goto",
20    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_DNS.goto",
21    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_DNS_Parser.goto",
22    "$(FREERTOS_PLUS_TCP)/source/FreeRTOS_IP.goto"
23  ],
24  "DEF":
25  [
26    "ipconfigDNS_USE_CALLBACKS={callback}",
27    "MAX_HOSTNAME_LEN={MAX_HOSTNAME_LEN}",
28    # This value is defined only when ipconfigUSE_DNS_CACHE==1
29    "ipconfigDNS_CACHE_NAME_LENGTH=254"
30  ]
31}
32