diff --git a/F-Droid/src/org/fdroid/fdroid/net/HttpDownloader.java b/F-Droid/src/org/fdroid/fdroid/net/HttpDownloader.java index 0bc01979e..e6bdfff74 100644 --- a/F-Droid/src/org/fdroid/fdroid/net/HttpDownloader.java +++ b/F-Droid/src/org/fdroid/fdroid/net/HttpDownloader.java @@ -1,6 +1,7 @@ package org.fdroid.fdroid.net; import android.content.Context; +import android.text.TextUtils; import android.util.Log; import org.fdroid.fdroid.FDroidApp; @@ -98,32 +99,10 @@ public class HttpDownloader extends Downloader { connection = (HttpURLConnection) sourceUrl.openConnection(proxy); } else { - // send HEAD request first, then GET afterwards connection = (HttpURLConnection) sourceUrl.openConnection(); - connection.setRequestMethod("HEAD"); - - // fetch HTTP status code and check for authentication - statusCode = connection.getResponseCode(); - connection.disconnect(); - - // reset connection - connection = (HttpURLConnection) sourceUrl.openConnection(); - - // handle status codes - switch (statusCode) { - case 401: - - final String userInfo = sourceUrl.getUserInfo(); - if (userInfo != null) { - // add authorization header from user info in URL if present - connection.setRequestProperty("Authorization", "Basic " + Base64.encodeBase64String(userInfo.getBytes())); - } else { - // add authorization header from username / password - connection.setRequestProperty("Authorization", "Basic " + Base64.encodeBase64String((username + ":" + password).getBytes())); - } - break; - default: - break; + if (!TextUtils.isEmpty(username) && !TextUtils.isEmpty(password)) { + // add authorization header from username / password if set + connection.setRequestProperty("Authorization", "Basic " + Base64.encodeBase64String((username + ":" + password).getBytes())); } } } diff --git a/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java b/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java index ee308107a..80bd14f3b 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java +++ b/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java @@ -71,7 +71,6 @@ import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.util.Locale; -import org.apache.commons.net.util.Base64; public class ManageReposActivity extends ActionBarActivity { private static final String TAG = "ManageReposActivity"; @@ -491,16 +490,9 @@ public class ManageReposActivity extends ActionBarActivity { final HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("HEAD"); - // support discovery of Basic Auth repository URLs without login prompt - final String userInfo = url.getUserInfo(); - if (userInfo != null) { - // authorize request - connection.setRequestProperty("Authorization", "Basic " + Base64.encodeBase64String(userInfo.getBytes())); - } - statusCode = connection.getResponseCode(); - return statusCode == 401 || statusCode == 200; + return statusCode == 401 || statusCode == 200; } @Override