Maven 2 & 3
  1. Maven 2 & 3
  2. MNG-4236

[regression] http wagon uploads files twice with Maven 2.2.0 when preemptive auth is disabled (default setting)

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.2.0
    • Fix Version/s: 2.2.1
    • Labels:
      None
    • Complexity:
      Intermediate
    • Number of attachments :
      0

      Issue Links

        Activity

        Hide
        John Casey added a comment -

        Need to make sure httpclient-driven http wagon is compliant with the spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html (see section 8.2.3)

        Show
        John Casey added a comment - Need to make sure httpclient-driven http wagon is compliant with the spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html (see section 8.2.3)
        Hide
        John Casey added a comment -

        This seems to be a problem that will definitely affect repository managers that use Jetty: https://fisheye.codehaus.org/browse/JETTY-341 (which, let's face it, is a common configuration).

        Show
        John Casey added a comment - This seems to be a problem that will definitely affect repository managers that use Jetty: https://fisheye.codehaus.org/browse/JETTY-341 (which, let's face it, is a common configuration).
        Hide
        John Casey added a comment -

        The difference between httpclient and what the sun HttpURLConnection does seems to be that sun's impl caches authentication and preemptively sends the Authorization header after the first challenge happens. This means that the first transfer happens twice, to trigger the authentication challenge, and then subsequent transfers happen once only with preemptive auth.

        We need to look into a way to cache the fact of an auth challenge so we know to authenticate preemptively in the httpclient-driven wagon.

        Show
        John Casey added a comment - The difference between httpclient and what the sun HttpURLConnection does seems to be that sun's impl caches authentication and preemptively sends the Authorization header after the first challenge happens. This means that the first transfer happens twice, to trigger the authentication challenge, and then subsequent transfers happen once only with preemptive auth. We need to look into a way to cache the fact of an auth challenge so we know to authenticate preemptively in the httpclient-driven wagon.
        Hide
        John Casey added a comment -

        MNG-4254 is a stop-gap until this can be solved in the next WAGON release.

        Show
        John Casey added a comment - MNG-4254 is a stop-gap until this can be solved in the next WAGON release.
        Hide
        John Casey added a comment -

        This issue has been filed against WAGON for the next release. We have a stop-gap measure in place that's in testing now, so we'll close this issue for Maven 2.2.1 and come back to the longer-term solution in WAGON-277

        Show
        John Casey added a comment - This issue has been filed against WAGON for the next release. We have a stop-gap measure in place that's in testing now, so we'll close this issue for Maven 2.2.1 and come back to the longer-term solution in WAGON-277
        Hide
        John Casey added a comment -

        HTTP wagon implementation is selectable for Maven 2.2.1, with the lightweight (Sun-driven, not HttpClient-driven) implementation selected by default. This default is the same as was used for Maven prior to 2.2.0

        Show
        John Casey added a comment - HTTP wagon implementation is selectable for Maven 2.2.1, with the lightweight (Sun-driven, not HttpClient-driven) implementation selected by default. This default is the same as was used for Maven prior to 2.2.0

          People

          • Assignee:
            John Casey
            Reporter:
            John Casey
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: