Maven 2 & 3

[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

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: