diff --git a/source/dmlxdns/cosa_xdns_dml.c b/source/dmlxdns/cosa_xdns_dml.c index 3db549f..bafdc72 100644 --- a/source/dmlxdns/cosa_xdns_dml.c +++ b/source/dmlxdns/cosa_xdns_dml.c @@ -1561,6 +1561,10 @@ DNSMappingTable_DelEntry RemoveDnsmasqConfEntry(pDnsTableEntry->MacAddress); + /* XDNS firewall rules are per-client; refresh them so the removed + * client's DNS redirect rule is dropped immediately (RDKB-64441) */ + commonSyseventSet("firewall-restart", ""); + if ( returnStatus == ANSC_STATUS_SUCCESS ) { /* Remove entery from the Queue */ @@ -1940,6 +1944,10 @@ DNSMappingTable_Commit #endif ReplaceDnsmasqConfEntry(pDnsTableEntry->MacAddress, dnsoverrideEntry,1); + /* XDNS firewall rules are per-client; refresh them so the new/updated + * client's DNS redirect rule is applied immediately (RDKB-64441) */ + commonSyseventSet("firewall-restart", ""); + pDnsTableEntry->MacAddressChanged = FALSE; pDnsTableEntry->DnsIPv4Changed = FALSE; pDnsTableEntry->DnsIPv6Changed = FALSE;