about summary refs log tree commit diff
path: root/src/libstore/worker-protocol.hh (follow)
AgeCommit message (Collapse)AuthorFilesLines
2008-06-18 * Some refactoring: put the GC options / results in separate structs.Eelco Dolstra1-17/+17
* The garbage collector now also prints the number of blocks freed.
2007-11-16 * Flag `--no-build-hook' to disable distributed builds.Eelco Dolstra1-1/+2
* queryDeriver in daemon mode: don't barf if the other side returns an empty string (which means there is no deriver).
2007-09-18 * Pass various options to the worker so that flags like -K or -j workEelco Dolstra1-2/+6
in multi-user Nix (NIX-72). * Client/worker: exchange a protocol version number for future compatibility.
2007-08-30 * Create the Nix daemon socket in a separate directoryEelco Dolstra1-3/+6
(/nix/var/nix/daemon-socket). This allows access to the Nix daemon to be restricted by setting the mode/ownership on that directory as desired, e.g. $ chmod 770 /nix/var/nix/daemon-socket $ chown root.wheel /nix/var/nix/daemon-socket to allow only users in the wheel group to use Nix. Setting the ownership on a socket is much trickier, since the socket must be deleted and recreated every time the daemon is started (which would require additional Nix configuration file directives to specify the mode/ownership, and wouldn't support arbitrary ACLs), some BSD variants appear to ignore permissions on sockets, and it's not clear whether the umask is respected on every platform when creating sockets.
2007-08-13 * Backwards compatibility.Eelco Dolstra1-2/+2
2007-08-12 * Get rid of the substitutes database table (NIX-47). Instead, if weEelco Dolstra1-1/+0
need any info on substitutable paths, we just call the substituters (such as download-using-manifests.pl) directly. This means that it's no longer necessary for nix-pull to register substitutes or for nix-channel to clear them, which makes those operations much faster (NIX-95). Also, we don't have to worry about keeping nix-pull manifests (in /nix/var/nix/manifests) and the database in sync with each other. The downside is that there is some overhead in calling an external program to get the substitutes info. For instance, "nix-env -qas" takes a bit longer. Abolishing the substitutes table also makes the logic in local-store.cc simpler, as we don't need to store info for invalid paths. On the downside, you cannot do things like "nix-store -qR" on a substitutable but invalid path (but nobody did that anyway). * Never catch interrupts (the Interrupted exception).
2007-06-12 * Support queryDeriver() in multi-user installations.Eelco Dolstra1-0/+1
2007-02-21 * `nix-store --import' now also works in remote mode. The workerEelco Dolstra1-1/+2
always requires a signature on the archive. This is to ensure that unprivileged users cannot add Trojan horses to the Nix store.
2007-02-21 * Support exportPath() in remote mode.Eelco Dolstra1-0/+3
2006-12-05 * Allow unprivileged users to run the garbage collector and to doEelco Dolstra1-0/+1
`nix-store --delete'. But unprivileged users are not allowed to ignore liveness. * `nix-store --delete --ignore-liveness': ignore the runtime roots as well.
2006-12-05 * The determination of the root set should be made by the privilegedEelco Dolstra1-0/+11
process, so forward the operation. * Spam the user about GC misconfigurations (NIX-71). * findRoots: skip all roots that are unreadable - the warnings with which we spam the user should be enough.
2006-12-04 * Add indirect root registration to the protocol so that unprivilegedEelco Dolstra1-1/+2
processes can register indirect roots. Of course, there is still the problem that the garbage collector can only read the targets of the indirect roots when it's running as root...
2006-12-04 * When NIX_REMOTE=daemon, connect to /nix/var/nix/daemon.socketEelco Dolstra1-0/+5
instead of forking a worker.
2006-12-03 * Some hackery to propagate the worker's stderr and exceptions to theEelco Dolstra1-0/+5
client.
2006-12-02 * Move addTempRoot() to the store API, and add another functionEelco Dolstra1-0/+2
syncWithGC() to allow clients to register GC roots without needing write access to the global roots directory or the GC lock.
2006-12-01 * Merge addToStore and addToStoreFixed.Eelco Dolstra1-1/+0
* addToStore now adds unconditionally, it doesn't use readOnlyMode. Read-only operation is up to the caller (who can call computeStorePathForPath).
2006-11-30 * More remote operations.Eelco Dolstra1-0/+7
* Added new operation hasSubstitutes(), which is more efficient than querySubstitutes().size() > 0.
2006-11-30 * More operations.Eelco Dolstra1-3/+5
2006-11-30 * First remote operation: isValidPath().Eelco Dolstra1-0/+16