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>
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/"
;;
static int local;
static int zret;
+static int curl_ssl_verify;
+
struct buffer
{
size_t posn;
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))