I tried to compile the latest mDNSResponder (2881.120.11) for linux and discovered that it simply doesn't build:
../mDNSShared/uds_daemon.c: In function ‘resolve_result_callback’:
../mDNSShared/uds_daemon.c:3629:46: error: ‘request_state’ has no member named ‘resolve_awdl’
3629 | const mDNSBool is_split_awdl_query = (req->resolve_awdl && question->InterfaceID == AWDLInterfaceID);
| ^~
../mDNSShared/uds_daemon.c:3629:89: error: ‘AWDLInterfaceID’ undeclared (first use in this function); did you mean ‘mDNSInterfaceID’?
3629 | const mDNSBool is_split_awdl_query = (req->resolve_awdl && question->InterfaceID == AWDLInterfaceID);
| ^~~~~~~~~~~~~~~
This line was introduced in release 2881.60.4 (Jan 5, 2026), and all of the AWDL-related changes made to uds_daemon in that version look like unfinished code:
The line shown above which references a non-existent struct field and nowhere-defined identifier/constant.
Two functions in uds_daemon.c define a variable mDNSBool has_split_awdl_query = mDNSfalse; which is unused apart from its (unconditionally false) value being logged.
The max-size-check for struct request_state in uds_daemon.h is increased but the struct itself wasn't changed (nor does the release introduce any other changes that might indirectly change the size of the struct)
This code is common to all supported targets, so that means all four mDNSResponder releases done this year fail to build on all platforms.
I'm a bit astonished how this even happens and has gone unnoticed for this long.
Unfortunately it's not clear how to properly report this, the github repo has no issue tracker and the feedback assistant doesn't seem to have applicable options for this.
3
0
371