[PATCH] Support more http features: https no cert, .netrc -> auth
Cause setting environment variable GIT_SSL_NO_VERIFY to turn off curl's ssl peer verification. Only use curl for http transfers, instead of curl and wget. Make curl check ~/.netrc for credentials. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
421cbeb2f7
commit
3dcb90f526
@ -9,8 +9,11 @@ merge_store="$_remote_store"
|
||||
TMP_HEAD="$GIT_DIR/TMP_HEAD"
|
||||
|
||||
case "$merge_repo" in
|
||||
http://*)
|
||||
head=$(wget -q -O - "$merge_repo/$merge_head") || exit 1
|
||||
http://* | https://*)
|
||||
if [ -n "$GIT_SSL_NO_VERIFY" ]; then
|
||||
curl_extra_args="-k"
|
||||
fi
|
||||
head=$(curl -ns $curl_extra_args "$merge_repo/$merge_head") || exit 1
|
||||
echo Fetching "$merge_head" using http
|
||||
git-http-pull -v -a "$head" "$merge_repo/"
|
||||
;;
|
||||
|
@ -16,6 +16,8 @@ static z_stream stream;
|
||||
static int local;
|
||||
static int zret;
|
||||
|
||||
static int curl_ssl_verify;
|
||||
|
||||
struct buffer
|
||||
{
|
||||
size_t posn;
|
||||
@ -173,6 +175,10 @@ int main(int argc, char **argv)
|
||||
|
||||
curl = curl_easy_init();
|
||||
|
||||
curl_ssl_verify = gitenv("GIT_SSL_NO_VERIFY") ? 0 : 1;
|
||||
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, curl_ssl_verify);
|
||||
curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
|
||||
|
||||
base = url;
|
||||
|
||||
if (pull(commit_id))
|
||||
|
Loading…
Reference in New Issue
Block a user