include $(MAKEFILEPATH)/pb_makefiles/platform.make
-MVERS = "mDNSResponder-522.1.11"
+MVERS = "mDNSResponder-522.90.2"
DDNSWRITECONFIG = "$(DSTROOT)/Library/Application Support/Bonjour/ddnswriteconfig"
VER =
}
break;
case kDNSOpt_Trace:
- length += mDNS_snprintf(buffer+length, RemSpc, " Platform %d", opt->u.tracer.platf);
- length += mDNS_snprintf(buffer+length, RemSpc, " mDNSVers %d", opt->u.tracer.mDNSv);
+ length += mDNS_snprintf(buffer+length, RemSpc, " Platform %d", opt->u.tracer.platf);
+ length += mDNS_snprintf(buffer+length, RemSpc, " mDNSVers %d", opt->u.tracer.mDNSv);
break;
default:
length += mDNS_snprintf(buffer+length, RemSpc, " Unknown %d", opt->opt);
break;
case kDNSOpt_Trace:
*ptr++ = opt->u.tracer.platf;
- ptr = putVal16(ptr, opt->u.tracer.mDNSv);
+ ptr = putVal32(ptr, opt->u.tracer.mDNSv);
break;
}
}
case kDNSOpt_Trace:
if (opt->optlen == DNSOpt_TraceData_Space - 4)
{
- opt->u.tracer.platf = ptr[0];
- opt->u.tracer.mDNSv = (mDNSu16)((mDNSu16)ptr[1] << 8 | ptr[2]);
+ opt->u.tracer.platf = ptr[0];
+ opt->u.tracer.mDNSv = (mDNSu32) ((mDNSu32)ptr[1] << 24 | (mDNSu32)ptr[2] << 16 | (mDNSu32)ptr[3] << 8 | ptr[4]);
opt++;
}
break;
mDNSlocal void SetupTracerOpt(const mDNS *const m, rdataOPT *const Trace)
{
- Trace->u.tracer.platf = m->mDNS_plat;
- Trace->u.tracer.mDNSv = _DNS_SD_H/1000;
+ mDNSu32 DNS_VERS = _DNS_SD_H;
+ Trace->u.tracer.platf = m->mDNS_plat;
+ Trace->u.tracer.mDNSv = DNS_VERS;
Trace->opt = kDNSOpt_Trace;
Trace->optlen = DNSOpt_TraceData_Space - 4;
typedef struct
{
- mDNSu8 platf; // Running platform (see enum Platform_t)
- mDNSu16 mDNSv; // mDNSResponder Version (defined in dns_sd.h)
+ mDNSu8 platf; // Running platform (see enum Platform_t)
+ mDNSu32 mDNSv; // mDNSResponder Version (DNS_SD_H defined in dns_sd.h)
} TracerOptData;
// Note: rdataOPT format may be repeated an arbitrary number of times in a single resource record
// LLQ rdata 18 bytes (opt 2, len 2, vers 2, op 2, err 2, id 8, lease 4)
// Lease rdata 8 bytes (opt 2, len 2, lease 4)
// Owner rdata 12-24 bytes (opt 2, len 2, owner 8-20)
-// Trace rdata 7 bytes (opt 2, len 2, platf 1, mDNSv 2)
+// Trace rdata 9 bytes (opt 2, len 2, platf 1, mDNSv 4)
#define DNSOpt_Header_Space 11
#define DNSOpt_OwnerData_ID_Wake_Space (4 + 2 + 6 + 6)
#define DNSOpt_OwnerData_ID_Wake_PW4_Space (4 + 2 + 6 + 6 + 4)
#define DNSOpt_OwnerData_ID_Wake_PW6_Space (4 + 2 + 6 + 6 + 6)
-#define DNSOpt_TraceData_Space (4 + 1 + 2)
+#define DNSOpt_TraceData_Space (4 + 1 + 4)
#define ValidOwnerLength(X) ( (X) == DNSOpt_OwnerData_ID_Space - 4 || \
(X) == DNSOpt_OwnerData_ID_Wake_Space - 4 || \
typedef struct D2DRecordListElem
{
struct D2DRecordListElem *next;
- AuthRecord ar;
D2DServiceInstance instanceHandle;
D2DTransportType transportType;
+ AuthRecord ar; // must be last in the structure to accomodate extra space
+ // allocated for large records.
} D2DRecordListElem;
static D2DRecordListElem *D2DRecords = NULL; // List of records returned with D2DServiceFound events
*/
#ifndef _DNS_SD_H
-#define _DNS_SD_H 5220111
+#define _DNS_SD_H 5229002
#ifdef __cplusplus
extern "C" {
int ret;
mDNSu32 i = 0;
- LogInfo("udsserver_init: %d %d", _DNS_SD_H/10000, mDNSStorage.mDNS_plat);
+ LogInfo("udsserver_init: %d %d", _DNS_SD_H, mDNSStorage.mDNS_plat);
// If a particular platform wants to opt out of having a PID file, define PID_FILE to be ""
if (PID_FILE[0])