mirror of
				https://git.proxmox.com/git/libgit2
				synced 2025-10-31 16:14:28 +00:00 
			
		
		
		
	Add upstream patch to support mbedTLS
This commit is contained in:
		
							parent
							
								
									27f4a70e4b
								
							
						
					
					
						commit
						6939eb20c6
					
				
							
								
								
									
										122
									
								
								debian/patches/Use-curl-for-TLS.patch
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										122
									
								
								debian/patches/Use-curl-for-TLS.patch
									
									
									
									
										vendored
									
									
								
							| @ -1,122 +0,0 @@ | ||||
| Subject: Use curl for TLS | ||||
| Forwarded: no | ||||
| Applied-Upstream: no | ||||
| From: Nicolas Braud-Santoni <nicolas@braud-santoni.eu> | ||||
| Reviewed-by: Nicolas Braud-Santoni <nicolas@braud-santoni.eu> | ||||
| Last-Update: 2018-05-02 | ||||
| 
 | ||||
| The original Debian patchset was authored by Ximin Luo <infinity0@debian.org> | ||||
| Original pull request https://github.com/libgit2/libgit2/pull/4325 | ||||
| ---
 | ||||
|  src/CMakeLists.txt    |  3 +++ | ||||
|  src/streams/curl.c    | 14 +++++++++++--- | ||||
|  src/streams/curl.h    |  2 +- | ||||
|  src/streams/openssl.c |  2 +- | ||||
|  src/streams/tls.c     |  2 ++ | ||||
|  src/transports/http.c |  2 +- | ||||
|  6 files changed, 19 insertions(+), 6 deletions(-) | ||||
| 
 | ||||
| diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
 | ||||
| index b03b96a..2739fb5 100644
 | ||||
| --- a/src/CMakeLists.txt
 | ||||
| +++ b/src/CMakeLists.txt
 | ||||
| @@ -124,6 +124,9 @@ ELSE ()
 | ||||
|   | ||||
|  	IF (CURL_FOUND) | ||||
|  		SET(GIT_CURL 1) | ||||
| +		IF (USE_CURL_SSL)
 | ||||
| +			ADD_DEFINITIONS(-DGIT_CURL_SSL)
 | ||||
| +		ENDIF()
 | ||||
|  		LIST(APPEND LIBGIT2_INCLUDES ${CURL_INCLUDE_DIRS}) | ||||
|  		LIST(APPEND LIBGIT2_LIBDIRS ${CURL_LIBRARY_DIRS}) | ||||
|  		LIST(APPEND LIBGIT2_LIBS ${CURL_LIBRARIES}) | ||||
| diff --git a/src/streams/curl.c b/src/streams/curl.c
 | ||||
| index ee13be1..afb3775 100644
 | ||||
| --- a/src/streams/curl.c
 | ||||
| +++ b/src/streams/curl.c
 | ||||
| @@ -314,7 +314,7 @@ static void curls_free(git_stream *stream)
 | ||||
|  	git__free(s); | ||||
|  } | ||||
|   | ||||
| -int git_curl_stream_new(git_stream **out, const char *host, const char *port)
 | ||||
| +int git_curl_stream_new(git_stream **out, const char *host, const char *port, int encrypted)
 | ||||
|  { | ||||
|  	curl_stream *st; | ||||
|  	CURL *handle; | ||||
| @@ -335,7 +335,15 @@ int git_curl_stream_new(git_stream **out, const char *host, const char *port)
 | ||||
|  		return error; | ||||
|  	} | ||||
|   | ||||
| -	curl_easy_setopt(handle, CURLOPT_URL, host);
 | ||||
| +	if (encrypted) {
 | ||||
| +		git_buf buf = GIT_BUF_INIT;
 | ||||
| +		git_buf_printf(&buf, "https://%s", host);
 | ||||
| +		curl_easy_setopt(handle, CURLOPT_URL, buf.ptr);
 | ||||
| +		git_buf_free(&buf);
 | ||||
| +	} else {
 | ||||
| +		curl_easy_setopt(handle, CURLOPT_URL, host);
 | ||||
| +	}
 | ||||
| +
 | ||||
|  	curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, st->curl_error); | ||||
|  	curl_easy_setopt(handle, CURLOPT_PORT, iport); | ||||
|  	curl_easy_setopt(handle, CURLOPT_CONNECT_ONLY, 1); | ||||
| @@ -347,7 +355,7 @@ int git_curl_stream_new(git_stream **out, const char *host, const char *port)
 | ||||
|  	/* curl_easy_setopt(handle, CURLOPT_VERBOSE, 1); */ | ||||
|   | ||||
|  	st->parent.version = GIT_STREAM_VERSION; | ||||
| -	st->parent.encrypted = 0; /* we don't encrypt ourselves */
 | ||||
| +	st->parent.encrypted = encrypt; /* we don't encrypt ourselves */
 | ||||
|  	st->parent.proxy_support = 1; | ||||
|  	st->parent.connect = curls_connect; | ||||
|  	st->parent.certificate = curls_certificate; | ||||
| diff --git a/src/streams/curl.h b/src/streams/curl.h
 | ||||
| index 511cd89..ac0df1c 100644
 | ||||
| --- a/src/streams/curl.h
 | ||||
| +++ b/src/streams/curl.h
 | ||||
| @@ -12,6 +12,6 @@
 | ||||
|  #include "git2/sys/stream.h" | ||||
|   | ||||
|  extern int git_curl_stream_global_init(void); | ||||
| -extern int git_curl_stream_new(git_stream **out, const char *host, const char *port);
 | ||||
| +extern int git_curl_stream_new(git_stream **out, const char *host, const char *port, int encrypted);
 | ||||
|   | ||||
|  #endif | ||||
| diff --git a/src/streams/openssl.c b/src/streams/openssl.c
 | ||||
| index 9cbb274..063750f 100644
 | ||||
| --- a/src/streams/openssl.c
 | ||||
| +++ b/src/streams/openssl.c
 | ||||
| @@ -607,7 +607,7 @@ int git_openssl_stream_new(git_stream **out, const char *host, const char *port)
 | ||||
|   | ||||
|  	st->io = NULL; | ||||
|  #ifdef GIT_CURL | ||||
| -	error = git_curl_stream_new(&st->io, host, port);
 | ||||
| +	error = git_curl_stream_new(&st->io, host, port, false);
 | ||||
|  #else | ||||
|  	error = git_socket_stream_new(&st->io, host, port); | ||||
|  #endif | ||||
| diff --git a/src/streams/tls.c b/src/streams/tls.c
 | ||||
| index d6ca7d4..7279306 100644
 | ||||
| --- a/src/streams/tls.c
 | ||||
| +++ b/src/streams/tls.c
 | ||||
| @@ -31,6 +31,8 @@ int git_tls_stream_new(git_stream **out, const char *host, const char *port)
 | ||||
|  	return git_stransport_stream_new(out, host, port); | ||||
|  #elif defined(GIT_OPENSSL) | ||||
|  	return git_openssl_stream_new(out, host, port); | ||||
| +#elif defined(GIT_CURL_SSL)
 | ||||
| +	return git_curl_stream_new(out, host, port, true);
 | ||||
|  #else | ||||
|  	GIT_UNUSED(out); | ||||
|  	GIT_UNUSED(host); | ||||
| diff --git a/src/transports/http.c b/src/transports/http.c
 | ||||
| index e051c8a..984be08 100644
 | ||||
| --- a/src/transports/http.c
 | ||||
| +++ b/src/transports/http.c
 | ||||
| @@ -605,7 +605,7 @@ static int http_connect(http_subtransport *t)
 | ||||
|  		error = git_tls_stream_new(&t->io, t->connection_data.host, t->connection_data.port); | ||||
|  	} else { | ||||
|  #ifdef GIT_CURL | ||||
| -		error = git_curl_stream_new(&t->io, t->connection_data.host, t->connection_data.port);
 | ||||
| +		error = git_curl_stream_new(&t->io, t->connection_data.host, t->connection_data.port, false);
 | ||||
|  #else | ||||
|  		error = git_socket_stream_new(&t->io,  t->connection_data.host, t->connection_data.port); | ||||
|  #endif | ||||
							
								
								
									
										2
									
								
								debian/patches/series
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								debian/patches/series
									
									
									
									
										vendored
									
									
								
							| @ -1 +1 @@ | ||||
| Use-curl-for-TLS.patch | ||||
| use-mbedtls.patch | ||||
|  | ||||
							
								
								
									
										1721
									
								
								debian/patches/use-mbedtls.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1721
									
								
								debian/patches/use-mbedtls.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Pirate Praveen
						Pirate Praveen