diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-10-06T15·33+0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-10-06T15·33+0200 |
commit | 1abda8e17311fbfc27b751b90aff4f691f496b0f (patch) | |
tree | f5ea0a3faa048610cffddcebfa0ee9f022a21440 /src/nix-store | |
parent | 9ffc4f4363d9596e2477645eab94e4140cd47c19 (diff) |
nix-store --serve: Implement log size limit
Diffstat (limited to 'src/nix-store')
-rw-r--r-- | src/nix-store/nix-store.cc | 4 | ||||
-rw-r--r-- | src/nix-store/serve-protocol.hh | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/nix-store/nix-store.cc b/src/nix-store/nix-store.cc index d541b7b7d00a..89518bfb1bd3 100644 --- a/src/nix-store/nix-store.cc +++ b/src/nix-store/nix-store.cc @@ -853,7 +853,7 @@ static void opServe(Strings opFlags, Strings opArgs) if (magic != SERVE_MAGIC_1) throw Error("protocol mismatch"); out << SERVE_MAGIC_2 << SERVE_PROTOCOL_VERSION; out.flush(); - readInt(in); // Client version, unused for now + unsigned int clientVersion = readInt(in); auto getBuildSettings = [&]() { // FIXME: changing options here doesn't work if we're @@ -863,6 +863,8 @@ static void opServe(Strings opFlags, Strings opArgs) settings.useSubstitutes = false; settings.maxSilentTime = readInt(in); settings.buildTimeout = readInt(in); + if (GET_PROTOCOL_MINOR(clientVersion) >= 2) + settings.maxLogSize = readInt(in); }; while (true) { diff --git a/src/nix-store/serve-protocol.hh b/src/nix-store/serve-protocol.hh index f7f151d4603f..c4e2a370300b 100644 --- a/src/nix-store/serve-protocol.hh +++ b/src/nix-store/serve-protocol.hh @@ -5,7 +5,7 @@ namespace nix { #define SERVE_MAGIC_1 0x390c9deb #define SERVE_MAGIC_2 0x5452eecb -#define SERVE_PROTOCOL_VERSION 0x201 +#define SERVE_PROTOCOL_VERSION 0x202 #define GET_PROTOCOL_MAJOR(x) ((x) & 0xff00) #define GET_PROTOCOL_MINOR(x) ((x) & 0x00ff) |