diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target
index 3f30ef533..17db411e8 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target
@@ -30,7 +30,7 @@
-
+
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/blame/BlameGenerator.java b/org.eclipse.jgit/src/org/eclipse/jgit/blame/BlameGenerator.java
index 8961537ce..e69cfa9d1 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/blame/BlameGenerator.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/blame/BlameGenerator.java
@@ -45,6 +45,7 @@ package org.eclipse.jgit.blame;
import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
import static org.eclipse.jgit.lib.FileMode.TYPE_FILE;
+import static org.eclipse.jgit.lib.FileMode.TYPE_MASK;
import java.io.IOException;
import java.util.Collection;
@@ -955,7 +956,7 @@ public class BlameGenerator {
}
private static final boolean isFile(int rawMode) {
- return (rawMode & TYPE_FILE) == TYPE_FILE;
+ return (rawMode & TYPE_MASK) == TYPE_FILE;
}
private DiffEntry findRename(RevCommit parent, RevCommit commit,
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/HttpAuthMethod.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/HttpAuthMethod.java
index 47cbf691f..3594ea91b 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/HttpAuthMethod.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/HttpAuthMethod.java
@@ -85,24 +85,44 @@ abstract class HttpAuthMethod {
public HttpAuthMethod method(String hdr) {
return None.INSTANCE;
}
+
+ @Override
+ public String getSchemeName() {
+ return "None"; //$NON-NLS-1$
+ }
},
BASIC {
@Override
public HttpAuthMethod method(String hdr) {
return new Basic();
}
+
+ @Override
+ public String getSchemeName() {
+ return "Basic"; //$NON-NLS-1$
+ }
},
DIGEST {
@Override
public HttpAuthMethod method(String hdr) {
return new Digest(hdr);
}
+
+ @Override
+ public String getSchemeName() {
+ return "Digest"; //$NON-NLS-1$
+ }
},
NEGOTIATE {
@Override
public HttpAuthMethod method(String hdr) {
return new Negotiate(hdr);
}
+
+ @Override
+ public String getSchemeName() {
+ return "Negotiate"; //$NON-NLS-1$
+ }
};
/**
* Creates a HttpAuthMethod instance configured with the provided HTTP
@@ -112,6 +132,13 @@ abstract class HttpAuthMethod {
* @return a configured HttpAuthMethod instance
*/
public abstract HttpAuthMethod method(String hdr);
+
+ /**
+ * @return the name of the authentication scheme in the form to be used
+ * in HTTP authentication headers as specified in RFC2617 and
+ * RFC4559
+ */
+ public abstract String getSchemeName();
}
static final String EMPTY_STRING = ""; //$NON-NLS-1$
@@ -270,7 +297,7 @@ abstract class HttpAuthMethod {
void configureRequest(final HttpConnection conn) throws IOException {
String ident = user + ":" + pass; //$NON-NLS-1$
String enc = Base64.encodeBytes(ident.getBytes("UTF-8")); //$NON-NLS-1$
- conn.setRequestProperty(HDR_AUTHORIZATION, type.name()
+ conn.setRequestProperty(HDR_AUTHORIZATION, type.getSchemeName()
+ " " + enc); //$NON-NLS-1$
}
}
@@ -357,7 +384,7 @@ abstract class HttpAuthMethod {
v.append(e.getValue());
v.append('"');
}
- conn.setRequestProperty(HDR_AUTHORIZATION, type.name()
+ conn.setRequestProperty(HDR_AUTHORIZATION, type.getSchemeName()
+ " " + v); //$NON-NLS-1$
}
@@ -514,7 +541,7 @@ abstract class HttpAuthMethod {
byte[] token = context.initSecContext(prevToken, 0,
prevToken.length);
- conn.setRequestProperty(HDR_AUTHORIZATION, getType().name()
+ conn.setRequestProperty(HDR_AUTHORIZATION, getType().getSchemeName()
+ " " + Base64.encodeBytes(token)); //$NON-NLS-1$
} catch (GSSException e) {
IOException ioe = new IOException();