about summary refs log tree commit diff
path: root/src/libstore/local-store.cc
AgeCommit message (Collapse)AuthorFilesLines
2006-12-09 * Use lchown() instead of chown() in canonicalisePathMetaData(). ThisEelco Dolstra1-8/+38
matters when running as root, since then we don't use the setuid helper (which already used lchown()). * Also check for an obscure security problem on platforms that don't have lchown. Then we can't change the ownership of symlinks, which doesn't matter *except* when the containing directory is writable by the owner (which is the case with the top-level Nix store directory).
2006-12-09 * Use deletePathWrapped() in more places.Eelco Dolstra1-14/+3
2006-12-07 * In the garbage collector, if deleting a path fails, try to fix itsEelco Dolstra1-1/+12
ownership, then try again.
2006-12-07 * When not running as root, call the setuid helper to change theEelco Dolstra1-6/+6
ownership of the build result after the build.
2006-12-05 * Allow unprivileged users to run the garbage collector and to doEelco Dolstra1-1/+0
`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-03 * Removed `build-allow-root'.Eelco Dolstra1-3/+3
* Added `build-users-group', the group under which builds are to be performed. * Check that /nix/store has 1775 permission and is owner by the build-users-group.
2006-12-02 * Remove SwitchToOriginalUser, we're not going to need it anymore.Eelco Dolstra1-4/+1
2006-12-01 * Merge addToStore and addToStoreFixed.Eelco Dolstra1-19/+7
* addToStore now adds unconditionally, it doesn't use readOnlyMode. Read-only operation is up to the caller (who can call computeStorePathForPath).
2006-12-01 * More operations.Eelco Dolstra1-26/+5
* 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-11-30 * More remote operations.Eelco Dolstra1-4/+4
* Added new operation hasSubstitutes(), which is more efficient than querySubstitutes().size() > 0.
2006-11-30 * Skeleton of the privileged worker program.Eelco Dolstra1-2/+2
* Some refactoring: put the NAR archive integer/string serialisation code in a separate file so it can be reused by the worker protocol implementation.
2006-11-30 * Skeleton of remote store implementation.Eelco Dolstra1-0/+1
2006-11-30 * Refactoring. There is now an abstract interface class StoreAPIEelco Dolstra1-0/+1037
containing functions that operate on the Nix store. One implementation is LocalStore, which operates on the Nix store directly. The next step, to enable secure multi-user Nix, is to create a different implementation RemoteStore that talks to a privileged daemon process that uses LocalStore to perform the actual operations.