Skip to content
  • Michał Kępień's avatar
    Ensure server-specific "edns-udp-size" is obeyed · d27f96cc
    Michał Kępień authored
    If "edns-udp-size" is set in a "server" block matching the queried
    server, it is accounted for in the process of determining the advertised
    UDP buffer size, but its value may still be overridden before the query
    is sent.  This behavior contradicts the ARM which claims that when set,
    the server-specific "edns-udp-size" value is used for all EDNS queries
    sent to a given server.
    
    Furthermore, calling dns_peer_getudpsize() with the "udpsize" variable
    as an argument makes the code hard to follow as that call may either
    update the value of "udpsize" or leave it untouched.
    
    Ensure the code matches the documentation by moving the
    dns_peer_getudpsize() call below all other blocks of code potentially
    affecting the advertised UDP buffer size, which is where it was located
    when server-specific "edns-udp-size" support was first implemented [1].
    Improve code readability by calling dns_peer_getudpsize() with a helper
    variable instead of "udpsize".
    
    [1] see commit 1c153afc
    d27f96cc