Function hickory_proto::op::update_message::delete_by_rdata
source · pub fn delete_by_rdata(
rrset: RecordSet,
zone_origin: Name,
use_edns: bool
) -> Message
Expand description
Deletes a record (by rdata) from an rrset, optionally require the rrset to exist.
RFC 2136, DNS Update, April 1997
2.4.1 - RRset Exists (Value Independent)
At least one RR with a specified NAME and TYPE (in the zone and class
specified in the Zone Section) must exist.
For this prerequisite, a requestor adds to the section a single RR
whose NAME and TYPE are equal to that of the zone RRset whose
existence is required. RDLENGTH is zero and RDATA is therefore
empty. CLASS must be specified as ANY to differentiate this
condition from that of an actual RR whose RDLENGTH is naturally zero
(0) (e.g., NULL). TTL is specified as zero (0).
2.5.4 - Delete An RR From An RRset
RRs to be deleted are added to the Update Section. The NAME, TYPE,
RDLENGTH and RDATA must match the RR being deleted. TTL must be
specified as zero (0) and will otherwise be ignored by the Primary
Zone Server. CLASS must be specified as NONE to distinguish this from an
RR addition. If no such RRs exist, then this Update RR will be
silently ignored by the Primary Zone Server.
§Arguments
rrset
- the record(s) to delete from a RRSet, the name, type and rdata must match the record to deletezone_origin
- the zone name to update, i.e. SOA namesigner
- the signer, with private key, to use to sign the request
The update must go to a zone authority (i.e. the server used in the ClientConnection). If the rrset does not exist and must_exist is false, then the RRSet will be deleted.