Home | History | Annotate | Download | only in mDNSShared

Lines Matching refs:RData

120 mDNSlocal mStatus update_record(AuthRecord *ar, mDNSu16 rdlen, const mDNSu8 *rdata, mDNSu32 ttl,
970 // Data must be in the following format: flags, interfaceIndex, name, rrtype, rrclass, rdlen, rdata, (optional) ttl
981 const mDNSu8 *const rdata = get_rdata(&request->msgptr, request->msgend, rdlen);
1052 rr->resrec.rdata->MaxRDLength = (mDNSu16)rdcapacity;
1053 if (!SetRData(mDNSNULL, rdata, rdata + rdlen, &rr->resrec, rdlen))
1198 if (rr->resrec.rdata != &rr->rdatastorage)
1199 freeL("Extra RData", rr->resrec.rdata);
1230 if (srv->srs.RR_TXT.resrec.rdata != &srv->srs.RR_TXT.rdatastorage)
1231 freeL("TXT RData", srv->srs.RR_TXT.resrec.rdata);
1241 // Count how many other service records we have locally with the same name, but different rdata.
1264 mDNSSameIPPort(rr->resrec.rdata->u.srv.port, port) &&
1334 mDNSVal16(srs->RR_SRV.resrec.rdata->u.srv.port), result_description);
1442 // If the record has been updated, we need to free the rdata. Every time we call mDNS_Update, it calls update_callback
1443 // with the old rdata (so that we can free it) and stores the new rdata in "rr->resrec.rdata". This means, we need
1444 // to free the latest rdata for which the update_callback was never called with.
1445 if (rr->resrec.rdata != &rr->rdatastorage) freeL("RData/regrecord_callback", rr->resrec.rdata);
1869 rdataOPT * const rdata = &ar->resrec.rdata->u.opt[0];
1870 rdata->opt = kDNSOpt_TSR;
1871 rdata->optlen = DNSOpt_TSRData_Space - 4;
1872 rdata->u.tsr.timeStamp = tsrTimestamp;
1873 rdata->u.tsr.hostkeyHash = tsrHostkeyHash;
1874 rdata->u.tsr.recIndex = 0;
1901 RDataBody2 *const rdb = (RDataBody2 *)tsr->resrec.rdata->u.data;
2094 mDNSVal16(p->srs.RR_SRV.resrec.rdata->u.srv.port), request->process_id, request->pid_name,
2100 DM_NAME_PARAM(srv_rr->name), mDNS_DomainNameFNV1aHash(srv_rr->name), mDNSVal16(srv_rr->rdata->u.srv.port));
2152 const mDNSu16 rdlen, const mDNSu8 *const rdata, const mDNSu32 ttl)
2161 extra->r.resrec.rdata = &extra->r.rdatastorage;
2162 extra->r.resrec.rdata->MaxRDLength = (mDNSu16)rdcapacity;
2165 if (!SetRData(mDNSNULL, rdata, rdata + rdlen, &extra->r.resrec, rdlen))
2205 const mDNSu8 *const rdata = (const mDNSu8 *)get_rdata(&request->msgptr, request->msgend, rdlen);
2244 result = add_record_to_service(request, i, rrtype, rdlen, rdata, ttl);
2252 mDNSlocal void update_callback(mDNS *const m, AuthRecord *const rr, RData *oldrd, mDNSu16 oldrdlen)
2273 if (ext.rdlength == oldrdlen && mDNSPlatformMemSame(&ext.rdata->u, &oldrd->u, oldrdlen)) goto exit;
2282 if (oldrd != &rr->rdatastorage) freeL("RData/update_callback", oldrd);
2285 mDNSlocal mStatus update_record(AuthRecord *ar, mDNSu16 rdlen, const mDNSu8 *const rdata, mDNSu32 ttl,
2291 RData *newrd = (RData *) callocL("RData/update_record", sizeof(*newrd) - sizeof(RDataBody) + rdcapacity);
2297 rr.rdata = newrd;
2298 rr.rdata->MaxRDLength = (mDNSu16)rdcapacity;
2300 if (!SetRData(mDNSNULL, rdata, rdata + rdlen, &rr, rdlen))
2305 freeL("RData/update_record", newrd);
2309 // BIND named (name daemon) doesn't allow TXT records with zero-length rdata. This is strictly speaking correct,
2317 if (result) { LogMsg("update_record: Error %d for %s", (int)result, ARDisplayString(&mDNSStorage, ar)); freeL("RData/update_record", newrd); }
2359 const mDNSu8 *const rdata = (const mDNSu8 *)get_rdata(&request->msgptr, request->msgend, rdlen);
2395 result = update_record(reptr->rr, rdlen, rdata, ttl, &reptr->external_advertise, request->request_id);
2434 mDNSPlatformMemCopy(servicereg->txtdata, rdata, rdlen);
2458 result = update_record(rr, rdlen, rdata, ttl, &i->external_advertise, request->request_id);
3265 if (GenerateNTDResponse(&answer->rdata->u.name, answer->InterfaceID, req, &rep, browse_reply_op, flags, mStatus_NoError) != mStatus_NoError)
3271 GenerateBrowseReply(&answer->rdata->u.name, answer->InterfaceID, req, &rep, browse_reply_op, flags, mStatus_NoError);
3276 req->sd, answer->name->c, answer->rdata->u.name.c);
3603 AssignDomainName(&ptr->ar.resrec.rdata->u.name, d);
3638 if (SameDomainName(&(*ptr)->ar.resrec.rdata->u.name, d) && SameDomainName((*ptr)->ar.resrec.name, &lhs))
3874 const domainname *const name = &answer->rdata->u.name;
3906 "name: " PRI_DM_NAME ", event: " PUB_S ", interface ID: %p" PUB_S, DM_NAME_PARAM(&answer->rdata->u.name),
3914 if (AddRecord) AddAutoBrowseDomain(0, &answer->rdata->u.name);
3915 else RmvAutoBrowseDomain(0, &answer->rdata->u.name);
3921 SameDomainName(&answer->rdata->u.name, Do53_UNICAST_DISCOVERY_DOMAIN))
4323 // Clear any positive rdata we held previously
4349 // Copy the target name and port number from the rdata of the SRV record.
4350 const domainname *const target_name = &answer->rdata->u.srv.target;
4358 resolve->srv_port = answer->rdata->u.srv.port;
4372 // Copy the rdata of TXT record directly.
4373 const mDNSu8 *const txt_rdata = answer->rdata->u.data;
4376 // MAX(1, txt_rdlength) ensures that resolve->txt_rdata is non-null, when the TXT record rdata length is 0,
4379 // [TXT RDATA format](https://datatracker.ietf.org/doc/html/rfc1035#section-3.3.14)
4438 // We need to return SRV target name, SRV port number and TXT rdata to the client.
4446 // If SRV or TXT record is positive, set the pointer to the rdata we have copied before.
4484 // If the SRV record is negative, then we will sign rdata filled with zeros.
4940 hostnameResult = mdns_signed_hostname_result_create_ipv6(resolveResult, answer->rdata->u.data,
4945 hostnameResult = mdns_signed_hostname_result_create_ipv4(resolveResult, answer->rdata->u.data, &err);
4967 answer->rdata->u.data, answer->rdlength, &err);
5475 ConvertDomainNameToCString(&answer->rdata->u.name, domain);
6146 // with 64kB of rdata. Adding 1009 byte for a maximal domain name, plus a safety margin