RFC Errata
Found 2 records.
Status: Verified (1)
RFC 2782, "A DNS RR for specifying the location of services (DNS SRV)", February 2000
Note: This RFC has been updated by RFC 6335, RFC 8553
Source of RFC: dnsext (int)
Errata ID: 6600
Status: Verified
Type: Editorial
Publication Format(s) : TEXT
Reported By: Oleksandr Chychkan
Date Reported: 2021-06-06
Verifier Name: Erik Kline
Date Verified: 2021-06-06
Section Fictional ex says:
; using the sysdmin's box and the server
It should say:
; using the sysadmin's box and the server
Notes:
A typo in the "sysdmin's"
Status: Rejected (1)
RFC 2782, "A DNS RR for specifying the location of services (DNS SRV)", February 2000
Note: This RFC has been updated by RFC 6335, RFC 8553
Source of RFC: dnsext (int)
Errata ID: 2984
Status: Rejected
Type: Technical
Publication Format(s) : TEXT
Reported By: Jordan Brown
Date Reported: 2011-10-04
Rejected by: Brian Haberman
Date Rejected: 2012-05-01
Section Weight says:
To select a target to be contacted next, arrange all SRV RRs (that have not been ordered yet) in any order, except that all those with weight 0 are placed at the beginning of the list. Compute the sum of the weights of those RRs, and with each RR associate the running sum in the selected order. Then choose a uniform random number between 0 and the sum computed (inclusive), and select the RR whose running sum value is the first in the selected order which is greater than or equal to the random number selected. The target host specified in the selected SRV RR is the next one to be contacted by the client. Remove this SRV RR from the set of the unordered SRV RRs and apply the described algorithm to the unordered SRV RRs to select the next target host. Continue the ordering process until there are no unordered SRV RRs. This process is repeated for each Priority.
It should say:
Correcting the text requires agreement on what to do with entries with weight=0, so I don't want to try to craft text until we have agreement there.
Notes:
The problem with this algorithm is that for a total weight T, it generates a random number 0..T and so allocates T+1 shares and gives the extra share to the first entry. Thus with weights {1, 1}, the first entry is selected 2/3 of the time while the second entry is selected 1/3 of the time.
I suspect that this is an attempt to do *something* with entries with weight=0, but yields unobvious results there: for {0, 1, 1}, the three entries are each selected 1/3 of the time.
I suggest:
- Ordering weight=0 entries to the end.
- Generating random numbers 0..(T-1).
- Using a "greater" test rather than "greater or equal".
- Selecting weight=0 entries in any order when all of the weight!=0 entries have been selected.
--VERIFIER NOTES--
The errata is not actionable. Issue should be raised with the DNSEXT WG.