Using DNS Callbacks without DNS caching
I’m setting ipconfigDNSUSECALLBACKS (1), but not setting ipconfigUSEDNSCACHE. Is this supposed to be a supported combination? If so, it doesn’t work. There is a compile error where the variable “pcName” is undeclared in the callback code. I’ve implemented a bit of a hack which just feeds a NULL to the callback function, but would appreciate advice from the community.
Thanks,
-Mike
Using DNS Callbacks without DNS caching
Hi Mike, thanks for reporting this. This combination was indeed not yet supported:
~~~
define ipconfigDNSUSECALLBACKS 1
define ipconfigUSEDNSCACHE 0
~~~ It would be nice to havepcName
properly set when doing the call-back.
The DNS call-back feature has been disabled for a while because it lacked security. It would update DNS cache entries even if the DNS reply was unsolicited.
Currently, there is a safer version in this pull request.
I am attaching this more secure version, along with the changes that you propose: using the call-back without the caching.
DNS_callback.zip contains two files:
~~~
FreeRTOSUDPIP.c // Forward DNS replies to the DNS module
FreeRTOS_DNS.c // with the above changes
~~~
I just did a quick test with it in real hardware, and it worked. I don’t have the time now for more testing. Please report back how it works for you, thanks.