• Lucas Clemente Vella's avatar
    CURLOPT_IPRESOLVE: preventing wrong IP version from being used · 84d28397
    Lucas Clemente Vella authored
    In some situations, it was possible that a transfer was setup to
    use an specific IP version, but due do DNS caching or connection
    reuse, it ended up using a different IP version from requested.
    
    This commit changes the effect of CURLOPT_IPRESOLVE from simply
    restricting address resolution to preventing the wrong connection
    type being used, when choosing a connection from the pool, and
    to restricting what addresses could be used when establishing
    a new connection.
    
    It is important that all addresses versions are resolved, even if
    not used in that transfer in particular, because the result is
    cached, and could be useful for a different transfer with a
    different CURLOPT_IPRESOLVE setting.
    
    Closes #6853
    84d28397