Merge pull request #4263 from libgit2/ethomson/config_for_inmemory_repo

Allow creation of a configuration object in an in-memory repository
diff --git a/script/install-deps-osx.sh b/script/install-deps-osx.sh
index 4b8393b..27d8096 100755
--- a/script/install-deps-osx.sh
+++ b/script/install-deps-osx.sh
@@ -5,4 +5,5 @@
 brew update
 brew install homebrew/dupes/zlib
 brew install curl
+brew install openssl
 brew install libssh2
diff --git a/src/odb.c b/src/odb.c
index b66324f..ae8f247 100644
--- a/src/odb.c
+++ b/src/odb.c
@@ -1116,8 +1116,11 @@
 		if (b->read_prefix != NULL) {
 			git_oid full_oid;
 			error = b->read_prefix(&full_oid, &raw.data, &raw.len, &raw.type, b, key, len);
-			if (error == GIT_ENOTFOUND || error == GIT_PASSTHROUGH)
+
+			if (error == GIT_ENOTFOUND || error == GIT_PASSTHROUGH) {
+				error = 0;
 				continue;
+			}
 
 			if (error)
 				goto out;
diff --git a/src/transports/smart_protocol.c b/src/transports/smart_protocol.c
index 25e78c6..8146fa1 100644
--- a/src/transports/smart_protocol.c
+++ b/src/transports/smart_protocol.c
@@ -325,7 +325,8 @@
 
 		if (pkt->type == GIT_PKT_ACK &&
 		    (pkt->status != GIT_ACK_CONTINUE &&
-		     pkt->status != GIT_ACK_COMMON)) {
+		     pkt->status != GIT_ACK_COMMON &&
+		     pkt->status != GIT_ACK_READY)) {
 			git__free(pkt);
 			return 0;
 		}