Skip to content
  • Nick Mathewson's avatar
    An attempt at bug3940 and making AllowDotExit 0 work with MapAddress · 35d08e30
    Nick Mathewson authored
    This time, I follow grarpamp's suggestion and move the check for
    .exit+AllowDotExit 0 to the top of connection_ap_rewrite_and_attach,
    before any rewriting occurs.  This way, .exit addresses are
    forbidden as they arrive from a socks connection or a DNSPort
    request, and not otherwise.
    
    It _is_ a little more complicated than that, though.  We need to
    treat any .exit addresses whose source is TrackHostExits as meaning
    that we can retry without that exit.  We also need to treat any
    .exit address that comes from an AutomapHostsOnResolve operation as
    user-provided (and thus forbidden if AllowDotExits==0), so that
    transitioning from AllowDotExits==1 to AllowDotExits==0 will
    actually turn off automapped .exit addresses.
    35d08e30