libcouchbase: fix build

This applies an upstream fix from libcouchbase to fix a timeout issue
with openssl 1.1.

See also https://hydra.nixos.org/build/102495724

ZHF #68361
This commit is contained in:
Maximilian Bosch 2019-10-05 13:49:52 +02:00
parent d72f4e2ae0
commit fd41a333d8
No known key found for this signature in database
GPG Key ID: 091DBF4D1FC46B8E
2 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,36 @@
From 58237e64fa77ec5cdec658b3295f71ec899175fa Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Sat, 5 Oct 2019 13:47:59 +0200
Subject: [PATCH] Fix timeouts in libcouchbase testsuite
Nix-specific patch. Basically
https://github.com/couchbase/libcouchbase/commit/b272f6ab88be523bbcf9d5c4252d07fccb023fe5, but
rebased onto 2.10.4.
---
src/ssl/ssl_e.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/ssl/ssl_e.c b/src/ssl/ssl_e.c
index f4506cf..734a3e6 100644
--- a/src/ssl/ssl_e.c
+++ b/src/ssl/ssl_e.c
@@ -210,10 +210,16 @@ flush_ssl_data(lcbio_ESSL *es)
* calls. While we could have done this inline with the send() call this
* would make future optimization more difficult. */
GT_WRITE_DONE:
+#if !LCB_CAN_OPTIMIZE_SSL_BIO
+ BIO_get_mem_ptr(es->wbio, &wmb);
+#endif
while (wmb->length > (size_t)tmp_len) {
char dummy[4096];
unsigned to_read = MINIMUM(wmb->length-tmp_len, sizeof dummy);
BIO_read(es->wbio, dummy, to_read);
+#if !LCB_CAN_OPTIMIZE_SSL_BIO
+ BIO_get_mem_ptr(es->wbio, &wmb);
+#endif
}
BIO_clear_retry_flags(es->wbio);
return 0;
--
2.23.0

View File

@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
# Running tests in parallel does not work
enableParallelChecking = false;
patches = [ ./0001-Fix-timeouts-in-libcouchbase-testsuite.patch ];
doCheck = !stdenv.isDarwin;
meta = with stdenv.lib; {