In lib/roken/resolve.c, we find rk_dns_srv_order() which re-orders the results of an SRV RR lookup by the algorithm in RFC2782. We note that the algorithm doesn't behave according to the RFC w.r.t. entries of weight zero. We solve this by scaling out the remaining weights by the number of zeros we find at a particular priority level and acting like the zero weights have a weight of one.
22 KiB
22 KiB