Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 338048 - http authorization fails
Summary: http authorization fails
Status: RESOLVED FIXED
Alias: None
Product: EGit
Classification: Technology
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 major with 1 vote (vote)
Target Milestone: 3.3   Edit
Assignee: Matthias Sohn CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-23 23:53 EST by Tim Patterson CLA
Modified: 2014-04-01 11:46 EDT (History)
10 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Patterson CLA 2011-02-23 23:53:43 EST
Build Identifier: 20100917-0705

I'm running git-http-backend on an apache server (WAMP on Windows Server 2008) with the sspi authentication module.  I can successfully use the command-line (msysgit) and GUI to clone the repository; it simply asks for username and password.  Cloning using egit appears to successfully download the list of branches from the server, however cloning itself fails with the error "Git repository clone failed. http://sharp-svn/git/sharp.git: 401 Authorization Required".

I'm using the latest egit snapshot (0.12.0.201102232118).

The error log event details are below:

null
Error
Thu Feb 24 15:33:45 EST 2011
Git repository clone failed.

org.eclipse.jgit.errors.TransportException: http://patterst@sharp-svn/git/sharp.git: 401 Authorization Required
at org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:287)
at org.eclipse.jgit.transport.TransportHttp$SmartHttpFetchConnection.doFetch(TransportHttp.java:645)
at org.eclipse.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnection.java:225)
at org.eclipse.jgit.transport.FetchProcess.fetchObjects(FetchProcess.java:214)
at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:149)
at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:111)
at org.eclipse.jgit.transport.Transport.fetch(Transport.java:903)
at org.eclipse.egit.core.op.CloneOperation.doFetch(CloneOperation.java:229)
at org.eclipse.egit.core.op.CloneOperation.run(CloneOperation.java:136)
at org.eclipse.egit.ui.internal.clone.GitCloneWizard.executeCloneOperation(GitCloneWizard.java:259)
at org.eclipse.egit.ui.internal.clone.GitCloneWizard.access$3(GitCloneWizard.java:252)
at org.eclipse.egit.ui.internal.clone.GitCloneWizard$3.run(GitCloneWizard.java:216)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: org.eclipse.jgit.errors.TransportException: http://patterst@sharp-svn/git/sharp.git: 401 Authorization Required
at org.eclipse.jgit.transport.TransportHttp$Service.execute(TransportHttp.java:764)
at org.eclipse.jgit.transport.TransportHttp$Service$HttpExecuteStream.read(TransportHttp.java:804)
at org.eclipse.jgit.util.io.UnionInputStream.read(UnionInputStream.java:144)
at org.eclipse.jgit.util.IO.readFully(IO.java:175)
at org.eclipse.jgit.transport.PacketLineIn.readLength(PacketLineIn.java:141)
at org.eclipse.jgit.transport.PacketLineIn.readString(PacketLineIn.java:108)
at org.eclipse.jgit.transport.PacketLineIn.readACK(PacketLineIn.java:86)
at org.eclipse.jgit.transport.BasePackFetchConnection.negotiate(BasePackFetchConnection.java:550)
at org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:273)
... 12 more



Reproducible: Always

Steps to Reproduce:
1. File->Import->Projects from Git->Clone
2. URI: http://sharp-svn/git/sharp.git
3: User and password field filled in (port number blank/default)
4. Default branch selection (all of them) and Local Destination
5. Finish
6. Fails with "Problem Occurred".
Comment 1 Lars Kneschke CLA 2011-04-24 02:56:52 EDT
See also bug 342592 and bug 339220.
Comment 2 Jörn Gersdorf CLA 2012-01-19 03:30:13 EST
Same issue here. Standard git server configured behind Apache with Basic Authorization as descriped in #342592. Works perfectly with standard git command line util. 

Upon POST /git/<repo>.git/git-upload-pack the server answers correctly with 401. The git command line tool answers again with the POST including Basic Authorization header, however, egit (1.2.0.201112221803-r) fails with exception as in stated by Tim in the bug description.

Here's the servers 401 answer (payload omitted):

HTTP/1.1 401 Authorization Required
Date: Thu, 19 Jan 2012 07:59:21 GMT
Server: Apache/2.2.21 (Win32) mod_auth_sspi/1.0.4
WWW-Authenticate: Basic realm="(null)"
Content-Length: 401
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
Comment 3 Matthias Sohn CLA 2014-03-17 06:11:49 EDT
proposed patches
EGit https://git.eclipse.org/r/#/c/23443/
JGit https://git.eclipse.org/r/#/c/23441/
Comment 4 Matthias Sohn CLA 2014-03-24 17:16:01 EDT
jgit:
https://git.eclipse.org/r/#/c/23441/
merged as 8598fe3d2bdc6e4a7e136a8579fad2545f34f546

egit:
https://git.eclipse.org/r/#/c/23643/
merged as bba4e7ff4321b0748d4687e0d40bbf23de5a81d3
https://git.eclipse.org/r/#/c/23443/
merged as b5a2d497ae44fa7ba99a93bb31fc2f0c7c8b7304
Comment 5 Robin Stocker CLA 2014-03-27 03:34:13 EDT
These changes seem to have caused bug 431209.