Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-7132

mirrorOf external:* external:http:* detect only 127.0.01 as local, missing IPv6, 127.x.y.z and other

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      DefaultMirrorSelector used in org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory#newRepositorySession does not implement isLocal properly - more exactly it only handles 2 particular cases whereas local can be way more numerous:

      1. ipv4 case: 127.x.y.z (test can be has 4 segments separated by a dot and starts with 127.)
      2. ipv6 case: starts with 1 and ends with 0 (see java.net.Inet6Address.Inet6AddressHolder#isLoopbackAddress)
      3. host case: not sure we want to handle it but except localhost hardcoded string we could parse /etc/hosts (or windows specific location) too to resolve the ip without going through InetAddress - see next point) and use the ip with 1+2 rules.

      this can be implemented as string parsing (faster) or reusing java.net.InetAddress#isLoopbackAddress (which can fallback in some resolution which can be slow at startup but works better overall and is easier).

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              romain.manni-bucau Romain Manni-Bucau
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: