aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/remote-store.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2022-01-25 21:14:27 +0100
committerEelco Dolstra <edolstra@gmail.com>2022-01-25 21:15:58 +0100
commit35dbdbedd41dea45bf38ae11d74f72c39eb304c3 (patch)
treed9d72e5e38c227c95097fb6cdd39abc24986843a /src/libstore/remote-store.cc
parentfcf3528ad1ad3fc0eeac9a1241b7edfebf67eb3d (diff)
nix store ping: Report Nix daemon version
Fixes #5952.
Diffstat (limited to 'src/libstore/remote-store.cc')
-rw-r--r--src/libstore/remote-store.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc
index aac2965e0..573becfbd 100644
--- a/src/libstore/remote-store.cc
+++ b/src/libstore/remote-store.cc
@@ -188,7 +188,12 @@ void RemoteStore::initConnection(Connection & conn)
}
if (GET_PROTOCOL_MINOR(conn.daemonVersion) >= 11)
- conn.to << false;
+ conn.to << false; // obsolete reserveSpace
+
+ if (GET_PROTOCOL_MINOR(conn.daemonVersion) >= 33) {
+ conn.to.flush();
+ conn.daemonNixVersion = readString(conn.from);
+ }
auto ex = conn.processStderr();
if (ex) std::rethrow_exception(ex);
@@ -920,6 +925,13 @@ void RemoteStore::addBuildLog(const StorePath & drvPath, std::string_view log)
}
+std::optional<std::string> RemoteStore::getVersion()
+{
+ auto conn(getConnection());
+ return conn->daemonNixVersion;
+}
+
+
void RemoteStore::connect()
{
auto conn(getConnection());