Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion deps/libgit2.mk
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/libgit2-openssl-hang.patch-applied: $(SRCD
cd $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR) && patch -p1 -f < $(SRCDIR)/patches/libgit2-openssl-hang.patch
echo 1 > $@

$(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/libgit2-mbedtls-writer-fix.patch-applied: $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/source-extracted
cd $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR) && patch -p1 -f < $(SRCDIR)/patches/libgit2-mbedtls-writer-fix.patch
echo 1 > $@

$(build_datarootdir)/julia/cert.pem: $(CERTFILE)
mkdir -p $(build_datarootdir)/julia
-cp $(CERTFILE) $@
Expand All @@ -81,7 +85,8 @@ $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/build-configured: \
$(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/libgit2-mbedtls.patch-applied \
$(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/libgit2-openssl-hang.patch-applied \
$(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/libgit2-ssh.patch-applied \
$(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/libgit2-agent-nonfatal.patch-applied
$(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/libgit2-agent-nonfatal.patch-applied \
$(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/libgit2-mbedtls-writer-fix.patch-applied

ifneq ($(CERTFILE),)
$(BUILDDIR)/$(LIBGIT2_SRC_DIR)/build-configured: $(build_datarootdir)/julia/cert.pem
Expand Down
30 changes: 30 additions & 0 deletions deps/patches/libgit2-mbedtls-writer-fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
diff -rup libgit2-211e117a0590583a720c53172406f34186c543bd/src/mbedtls_stream.c libgit2-211e117a0590583a720c53172406f34186c543bd-fix-write/src/mbedtls_stream.c
--- libgit2-211e117a0590583a720c53172406f34186c543bd/src/mbedtls_stream.c 2016-10-24 17:10:21.000000000 -0400
+++ libgit2-211e117a0590583a720c53172406f34186c543bd-fix-write/src/mbedtls_stream.c 2016-10-24 17:04:26.000000000 -0400
@@ -368,16 +368,20 @@ static int mbedtls_set_proxy(git_stream

ssize_t mbedtls_stream_write(git_stream *stream, const char *data, size_t len, int flags)
{
+ size_t read = 0;
mbedtls_stream *st = (mbedtls_stream *) stream;
- int ret;

GIT_UNUSED(flags);

- if ((ret = mbedtls_ssl_write(st->ssl, (const unsigned char *)data, len)) <= 0) {
- return ssl_set_error(st->ssl, ret);
- }
+ do {
+ int error = mbedtls_ssl_write(st->ssl, (const unsigned char *)data + read, len - read);
+ if (error <= 0) {
+ return ssl_set_error(st->ssl, error);
+ }
+ read += error;
+ } while (read < len);

- return ret;
+ return read;
}

ssize_t mbedtls_stream_read(git_stream *stream, void *data, size_t len)