Eelco Dolstra
052b6fb149
* Pass the verbosity level to the worker.
2006-12-04 13:15:29 +00:00
Eelco Dolstra
1e16d20655
* Install the worker in bindir, not libexecdir.
...
* Allow the worker path to be overriden through the NIX_WORKER
environment variable.
2006-12-04 13:09:16 +00:00
Eelco Dolstra
f4279bcde0
* Don't run setuid root when build-users is empty.
...
* Send startup errors to the client.
2006-12-03 16:25:19 +00:00
Eelco Dolstra
4251f94b32
* Use a Unix domain socket instead of pipes.
2006-12-03 02:36:44 +00:00
Eelco Dolstra
8c76df93e6
* Better error message if the worker doesn't start.
2006-12-03 02:22:04 +00:00
Eelco Dolstra
7951c3c546
* Some hackery to propagate the worker's stderr and exceptions to the
...
client.
2006-12-03 02:08:13 +00:00
Eelco Dolstra
e25fad691a
* Move addTempRoot() to the store API, and add another function
...
syncWithGC() to allow clients to register GC roots without needing
write access to the global roots directory or the GC lock.
2006-12-02 16:41:36 +00:00
Eelco Dolstra
8ba5d32769
* Remove queryPathHash().
...
* Help for nix-worker.
2006-12-02 14:27:24 +00:00
Eelco Dolstra
a824d58b56
* Merge addToStore and addToStoreFixed.
...
* addToStore now adds unconditionally, it doesn't use readOnlyMode.
Read-only operation is up to the caller (who can call
computeStorePathForPath).
2006-12-01 20:51:18 +00:00
Eelco Dolstra
b0d8e05be1
* More operations.
...
* addToStore() and friends: don't do a round-trip to the worker if
we're only interested in the path (i.e., in read-only mode).
2006-12-01 18:00:01 +00:00
Eelco Dolstra
0565b5f2b3
* More remote operations.
...
* Added new operation hasSubstitutes(), which is more efficient than
querySubstitutes().size() > 0.
2006-11-30 22:43:55 +00:00
Eelco Dolstra
0263279071
* More operations.
2006-11-30 20:45:20 +00:00
Eelco Dolstra
a711689368
* First remote operation: isValidPath().
2006-11-30 20:13:59 +00:00
Eelco Dolstra
765bdfe542
* When NIX_REMOTE is set to "slave", fork off nix-worker in slave
...
mode. Presumably nix-worker would be setuid to the Nix store user.
The worker performs all operations on the Nix store and database, so
the caller can be completely unprivileged.
This is already much more secure than the old setuid scheme, since
the worker doesn't need to do Nix expression evaluation and so on.
Most importantly, this means that it doesn't need to access any user
files, with all resulting security risks; it only performs pure
store operations.
Once this works, it is easy to move to a daemon model that forks off
a worker for connections established through a Unix domain socket.
That would be even more secure.
2006-11-30 19:54:43 +00:00
Eelco Dolstra
9adc074dc3
* Oops.
2006-11-30 18:35:50 +00:00