Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-8941

Nuget packageId case sensitivity

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 3.1.0
    • 3.0.0-m4, 3.0.0-m5, 3.0.0
    • NuGet
    • 1
    • Sprint 67 - Chinook, Sprint 68 - Chinook

    Description

      Nuget presumes that packageId searches will be case insensitive, but our Orient/NuGet component metadata searches are case sensitive.

      Symptom:

      1. Define a proxy repo for nuget.org
      2. Request http://localhost:8081/repository/[repo]/NUGET.CORE/2.8.5

      ..throws:

      Caused by: java.lang.IllegalStateException: Component metadata does not exist yet
      at com.google.common.base.Preconditions.checkState(Preconditions.java:173) [na:na]
      at com.sonatype.nexus.repository.nuget.internal.NugetGalleryFacetImpl$3.execute(NugetGalleryFacetImpl.java:273) [na:na]
      at org.sonatype.nexus.repository.storage.StorageFacetImpl.perform(StorageFacetImpl.java:249) [na:na]
      ... 92 common frames omitted

      What's happening is:
      1. proxy facet looks for the component by the passed-in package id, 'NUGET.CORE'.
      2. It find nothing.
      3. NugetProxyFacet.fetch() obtains metadata for 'NUGET.CORE' '2.8.5' - nuget.org is case insensitive, and so returns the feed entry for NuGet.Core 2.8.5, which Nexus stores.
      4. Nexus then requests content for NUGET.CORE 2.8.5 - nuget.org complies, but when Nexus tries to look up component metadata to attach the content to, it fails, because it's looking up NUGET.CORE.

      Attachments

        Issue Links

          Activity

            People

              jtom Joe Tom
              mprescott Michael Prescott
              Joe Tom Joe Tom
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                tigCommentSecurity.panel-title