guix/src/libutil
Eelco Dolstra bd013b6f98 On Linux, make the Nix store really read-only by using the immutable bit
I was bitten one time too many by Python modifying the Nix store by
creating *.pyc files when run as root.  On Linux, we can prevent this
by setting the immutable bit on files and directories (as in ‘chattr
+i’).  This isn't supported by all filesystems, so it's not an error
if setting the bit fails.  The immutable bit is cleared by the garbage
collector before deleting a path.  The only tricky aspect is in
optimiseStore(), since it's forbidden to create hard links to an
immutable file.  Thus optimiseStore() temporarily clears the immutable
bit before creating the link.
2012-02-15 01:31:56 +01:00
..
Makefile.am On Linux, make the Nix store really read-only by using the immutable bit 2012-02-15 01:31:56 +01:00
archive.cc * Revert r15436. This was a workaround for a bug in btrfs which seems 2010-05-04 12:42:58 +00:00
archive.hh * Revert r15436. This was a workaround for a bug in btrfs which seems 2010-05-04 12:42:58 +00:00
hash.cc Use data() instead of c_str() where appropriate 2012-02-09 18:27:45 +01:00
hash.hh * Refactoring: move sink/source buffering into separate classes. 2011-12-15 16:19:53 +00:00
immutable.cc On Linux, make the Nix store really read-only by using the immutable bit 2012-02-15 01:31:56 +01:00
immutable.hh On Linux, make the Nix store really read-only by using the immutable bit 2012-02-15 01:31:56 +01:00
md5.c * Optional switch "--with-openssl=<PATH>" to use OpenSSL's 2006-02-13 19:52:43 +00:00
md5.h * Some Cygwin fixes. 2006-05-24 13:23:20 +00:00
md32_common.h * Add SHA-256. 2005-01-14 12:03:04 +00:00
serialise.cc Use data() instead of c_str() where appropriate 2012-02-09 18:27:45 +01:00
serialise.hh * importPath() -> importPaths(). Because of buffering of the input 2011-12-16 22:31:25 +00:00
sha1.c * Optional switch "--with-openssl=<PATH>" to use OpenSSL's 2006-02-13 19:52:43 +00:00
sha1.h * Optional switch "--with-openssl=<PATH>" to use OpenSSL's 2006-02-13 19:52:43 +00:00
sha256.c * Add SHA-256. 2005-01-14 12:03:04 +00:00
sha256.h * FreeBSD 4.x doesn't have stdint.h, use inttypes.h instead (which is 2005-05-04 16:32:54 +00:00
types.hh * Sync with the trunk. 2011-02-09 12:25:53 +00:00
util.cc On Linux, make the Nix store really read-only by using the immutable bit 2012-02-15 01:31:56 +01:00
util.hh * In the garbage collector, delete invalid paths before deleting 2011-12-22 15:55:53 +00:00
xml-writer.cc Escape `>' signs in the XML output. 2010-03-31 08:29:01 +00:00
xml-writer.hh * Use a proper namespace. 2006-09-04 21:06:23 +00:00