Lines Matching refs:owner

2308 mDNSlocal void SetupOwnerOpt(const mDNS *const m, const NetworkInterfaceInfo *const intf, rdataOPT *const owner)
2310 owner->u.owner.vers = 0;
2311 owner->u.owner.seq = m->SleepSeqNum;
2312 owner->u.owner.HMAC = m->PrimaryMAC;
2313 owner->u.owner.IMAC = intf->MAC;
2314 owner->u.owner.password = zeroEthAddr;
2317 // Right now the DNSOpt_Owner_Space macro does not depend on the owner->u.owner being set up correctly, but in the future it might
2318 owner->opt = kDNSOpt_Owner;
2319 owner->optlen = DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC) - 4;
2426 // owner, because these packets can cause some IPv6 stacks to falsely conclude that there's an address conflict.
5840 mDNSlocal void SendSPSRegistrationForOwner(mDNS *const m, NetworkInterfaceInfo *const intf, const mDNSOpaque16 id, const OwnerOptData *const owner)
5866 // In the case of sleep proxy server transfering its records when it goes to sleep, the owner
5867 // option check below will set the same ID across the records from the same owner. Records
5868 // with different owner option gets different ID.
5876 if (mDNSPlatformMemSame(owner, &rr->WakeUp, sizeof(*owner)))
5906 if (mDNSPlatformMemSame(owner, &rr->WakeUp, sizeof(*owner)))
5954 if (!owner->HMAC.l[0]) // If no owner data,
5956 else // otherwise, use the owner data we were given
5958 opt.resrec.rdata->u.opt[1].u.owner = *owner;
5960 opt.resrec.rdata->u.opt[1].optlen = DNSOpt_Owner_Space(&owner->HMAC, &owner->IMAC) - 4;
6104 OwnerOptData owner = zeroOwner;
6106 SendSPSRegistrationForOwner(m, intf, id, &owner);
6110 if (!mDNSPlatformMemSame(&owner, &ar->WakeUp, sizeof(owner)) && RecordIsFirstOccurrenceOfOwner(m, ar))
6112 owner = ar->WakeUp;
6113 SendSPSRegistrationForOwner(m, intf, id, &owner);
7128 mDNSlocal void ClearKeepaliveProxyRecords(mDNS *const m, const OwnerOptData *const owner, AuthRecord *const thelist, const mDNSInterfaceID InterfaceID)
7139 if (InterfaceID == rr->resrec.InterfaceID && mDNSSameEthAddress(&owner->HMAC, &rr->WakeUp.HMAC))
7144 m->ProxyRecords, &rr->WakeUp.HMAC, &rr->WakeUp.IMAC, rr->WakeUp.seq, owner->seq, ARDisplayString(m, rr));
7157 mDNSlocal void ClearIdenticalProxyRecords(mDNS *const m, const OwnerOptData *const owner, AuthRecord *const thelist)
7165 if (m->rec.r.resrec.InterfaceID == rr->resrec.InterfaceID && mDNSSameEthAddress(&owner->HMAC, &rr->WakeUp.HMAC))
7169 m->ProxyRecords, &rr->WakeUp.HMAC, &rr->WakeUp.IMAC, rr->WakeUp.seq, owner->seq, ARDisplayString(m, rr));
7179 // Called from ProcessQuery when we get an mDNS packet with an owner record in it
7180 mDNSlocal void ClearProxyRecords(mDNS *const m, const OwnerOptData *const owner, AuthRecord *const thelist)
7188 if (m->rec.r.resrec.InterfaceID == rr->resrec.InterfaceID && mDNSSameEthAddress(&owner->HMAC, &rr->WakeUp.HMAC))
7189 if (owner->seq != rr->WakeUp.seq || m->timenow - rr->TimeRcvd > mDNSPlatformOneSecond * 60)
7204 &rr->WakeUp.HMAC, &rr->WakeUp.IMAC, rr->WakeUp.seq, owner->seq, ARDisplayString(m, rr));
7253 // Find owner sub-option(s). We verify that the MAC is non-zero, otherwise we could inadvertently
7256 if (opt->opt == kDNSOpt_Owner && opt->u.owner.vers == 0 && opt->u.owner.HMAC.l[0])
7258 ClearProxyRecords(m, &opt->u.owner, m->DuplicateRecords);
7259 ClearProxyRecords(m, &opt->u.owner, m->ResourceRecords);
8928 // Find owner sub-option(s). We verify that the MAC is non-zero, otherwise we could inadvertently
8931 if (opt->opt == kDNSOpt_Owner && opt->u.owner.vers == 0 && opt->u.owner.HMAC.l[0])
8933 ClearProxyRecords(m, &opt->u.owner, m->DuplicateRecords);
8934 ClearProxyRecords(m, &opt->u.owner, m->ResourceRecords);
9354 // This gives the owner a chance to rescue it if necessary.
9510 ScheduleWakeup(m, ar->resrec.InterfaceID, &ar->WakeUp.HMAC); // Schedule all other records with the same owner to be woken
9979 OwnerOptData owner = zeroOwner; // Need to zero this, so we'll know if this Update packet was missing its Owner option
10007 else if (o->opt == kDNSOpt_Owner && o->u.owner.vers == 0) owner = o->u.owner;
10015 if (!updatelease || !owner.HMAC.l[0])
10022 !updatelease ? " No lease" : "", !owner.HMAC.l[0] ? " No owner" : "");
10039 LogSPS("Received Update for H-MAC %.6a I-MAC %.6a Password %.6a seq %d", &owner.HMAC, &owner.IMAC, &owner.password, owner.seq);
10050 ClearKeepaliveProxyRecords(m, &owner, m->DuplicateRecords, InterfaceID);
10051 ClearKeepaliveProxyRecords(m, &owner, m->ResourceRecords, InterfaceID);
10072 ClearIdenticalProxyRecords(m, &owner, m->DuplicateRecords); // Make sure we don't have any old stale duplicates of this record
10073 ClearIdenticalProxyRecords(m, &owner, m->ResourceRecords);
10081 ar->WakeUp = owner;
10108 ClearProxyRecords(m, &owner, m->DuplicateRecords);
10109 ClearProxyRecords(m, &owner, m->ResourceRecords);
13672 // need to send new ARP Announcements, because the owner's ARP broadcasts will have updated neighboring ARP caches, so we need to
13719 static const char msg1[] = "ARP Req from owner -- re-probing";
13752 // If the sender hardware address is the original owner this is benign, so we just suppress our own proxy answering for a while longer.
13753 // If the sender hardware address is *not* the original owner, then this is a conflict, and we need to wake the sleeping machine to handle it.
13773 LogSPS("%-7s ARP %s from owner %.6a %.4a for %-15.4a -- re-starting probing for %s", intf->ifname,
13824 static const char msg1[] = "NDP Req from owner -- re-probing";
13876 LogSPS("%-7s NDP %s from owner %.6a %.16a for %.16a -- re-starting probing for %s", intf->ifname,