Exhibit merge bug that clobbers index&WT
[gitweb.git] / http.c
diff --git a/http.c b/http.c
index aeb69b3f29e35f1171f259f9141f7fdae377c7bf..4814217c6401faa1fd8f13f0288758f57b5e3755 100644 (file)
--- a/http.c
+++ b/http.c
@@ -40,9 +40,6 @@ static long curl_low_speed_time = -1;
 static int curl_ftp_no_epsv;
 static const char *curl_http_proxy;
 static char *user_name, *user_pass;
-#ifdef LIBCURL_CAN_HANDLE_AUTH_ANY
-static int curl_http_auth_any = 0;
-#endif
 
 #if LIBCURL_VERSION_NUM >= 0x071700
 /* Use CURLOPT_KEYPASSWD as is */
@@ -197,12 +194,6 @@ static int http_options(const char *var, const char *value, void *cb)
                        http_post_buffer = LARGE_PACKET_MAX;
                return 0;
        }
-#ifdef LIBCURL_CAN_HANDLE_AUTH_ANY
-       if (!strcmp("http.authany", var)) {
-               curl_http_auth_any = git_config_bool(var, value);
-               return 0;
-       }
-#endif
 
        /* Fall back on the default ones */
        return git_default_config(var, value, cb);
@@ -213,7 +204,7 @@ static void init_curl_http_auth(CURL *result)
        if (user_name) {
                struct strbuf up = STRBUF_INIT;
                if (!user_pass)
-                       user_pass = xstrdup(getpass("Password: "));
+                       user_pass = xstrdup(git_getpass("Password: "));
                strbuf_addf(&up, "%s:%s", user_name, user_pass);
                curl_easy_setopt(result, CURLOPT_USERPWD,
                                 strbuf_detach(&up, NULL));
@@ -228,7 +219,7 @@ static int has_cert_password(void)
                return 0;
        /* Only prompt the user once. */
        ssl_cert_password_required = -1;
-       ssl_cert_password = getpass("Certificate Password: ");
+       ssl_cert_password = git_getpass("Certificate Password: ");
        if (ssl_cert_password != NULL) {
                ssl_cert_password = xstrdup(ssl_cert_password);
                return 1;
@@ -254,8 +245,7 @@ static CURL *get_curl_handle(void)
        curl_easy_setopt(result, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
 #endif
 #ifdef LIBCURL_CAN_HANDLE_AUTH_ANY
-       if (curl_http_auth_any)
-               curl_easy_setopt(result, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
+       curl_easy_setopt(result, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
 #endif
 
        init_curl_http_auth(result);
@@ -408,11 +398,6 @@ void http_init(struct remote *remote)
        if (getenv("GIT_CURL_FTP_NO_EPSV"))
                curl_ftp_no_epsv = 1;
 
-#ifdef LIBCURL_CAN_HANDLE_AUTH_ANY
-       if (getenv("GIT_HTTP_AUTH_ANY"))
-               curl_http_auth_any = 1;
-#endif
-
        if (remote && remote->url && remote->url[0]) {
                http_auth_init(remote->url[0]);
                if (!ssl_cert_password_required &&
@@ -666,7 +651,7 @@ static void closedown_active_slot(struct active_request_slot *slot)
        slot->in_use = 0;
 }
 
-void release_active_slot(struct active_request_slot *slot)
+static void release_active_slot(struct active_request_slot *slot)
 {
        closedown_active_slot(slot);
        if (slot->curl && curl_session_count > min_curl_sessions) {
@@ -849,7 +834,13 @@ int http_get_strbuf(const char *url, struct strbuf *result, int options)
        return http_request(url, result, HTTP_REQUEST_STRBUF, options);
 }
 
-int http_get_file(const char *url, const char *filename, int options)
+/*
+ * Downloads an url and stores the result in the given file.
+ *
+ * If a previous interrupted download is detected (i.e. a previous temporary
+ * file is still around) the download is resumed.
+ */
+static int http_get_file(const char *url, const char *filename, int options)
 {
        int ret;
        struct strbuf tmpfile = STRBUF_INIT;
@@ -1281,7 +1272,7 @@ int finish_http_object_request(struct http_object_request *freq)
        process_http_object_request(freq);
 
        if (freq->http_code == 416) {
-               fprintf(stderr, "Warning: requested range invalid; we may already have all the data.\n");
+               warning("requested range invalid; we may already have all the data.");
        } else if (freq->curl_result != CURLE_OK) {
                if (stat(freq->tmpfile, &st) == 0)
                        if (st.st_size == 0)