Menu

Tree [468c9f] master /
 History

HTTPS access


File Date Author Commit
 arch 2013-09-07 Shachar Shemesh Shachar Shemesh [468c9f] Add git ignore mask
 tests 2013-09-07 Shachar Shemesh Shachar Shemesh [468c9f] Add git ignore mask
 unit_tests 2013-09-07 Shachar Shemesh Shachar Shemesh [468c9f] Add git ignore mask
 .gitignore 2013-09-07 Shachar Shemesh Shachar Shemesh [468c9f] Add git ignore mask
 AUTHORS 2013-03-23 Shachar Shemesh Shachar Shemesh [3f3898] Update the copyright years, as well as where we...
 COPYING 2007-12-30 Shachar Shemesh Shachar Shemesh [099aa4] Add the explicit COPYING license (GPL V2 or above)
 ChangeLog 2013-04-12 Shachar Shemesh Shachar Shemesh [dacbb4] Update the readmes
 Makefile.am 2013-09-06 Shachar Shemesh Shachar Shemesh [6a7240] Proxy ptrace calls (incomplete)
 NEWS 2013-04-12 Shachar Shemesh Shachar Shemesh [dacbb4] Update the readmes
 README 2013-04-12 Shachar Shemesh Shachar Shemesh [dacbb4] Update the readmes
 README.packaging 2013-04-12 Shachar Shemesh Shachar Shemesh [dacbb4] Update the readmes
 README.porting 2008-02-19 Shachar Shemesh Shachar Shemesh [ada362] Create a helping document for porters
 bootstrap 2013-01-21 Shachar Shemesh Shachar Shemesh [ae42e4] More concise bootstrap
 chroot.cpp 2013-04-01 Shachar Shemesh Shachar Shemesh [666254] Missing includes and a few warnings
 chroot.h 2010-10-25 Shachar Shemesh Shachar Shemesh [f03882] Define all debugged process pointers to be int_...
 configure.ac 2013-07-27 Shachar Shemesh Shachar Shemesh [a97b56] Mechanism for multi threaded control of child p...
 credentials.cpp 2013-09-06 Shachar Shemesh Shachar Shemesh [6a7240] Proxy ptrace calls (incomplete)
 daemon.cpp 2013-09-06 Shachar Shemesh Shachar Shemesh [6a7240] Proxy ptrace calls (incomplete)
 daemon.h 2013-07-20 Shachar Shemesh Shachar Shemesh [700f7a] Thread-main interface for performing operations...
 exceptions.h 2013-07-20 Shachar Shemesh Shachar Shemesh [700f7a] Thread-main interface for performing operations...
 fakeroot-ng.man 2013-04-01 Shachar Shemesh Shachar Shemesh [113db0] Update the man page and the open bugs list
 file.cpp 2013-04-08 Shachar Shemesh Shachar Shemesh [4f1c81] Handle fchmodat on 64 bit intel
 file_lie.cpp 2013-08-03 Shachar Shemesh Shachar Shemesh [d5ab16] Move ptlib to C++
 file_lie.h 2013-08-03 Shachar Shemesh Shachar Shemesh [d5ab16] Move ptlib to C++
 log.cpp 2013-04-01 Shachar Shemesh Shachar Shemesh [3e3148] Intermediate - rewrite the startup code.
 log.h 2013-01-25 Shachar Shemesh Shachar Shemesh [b0ccd7] Refactor the logging code into a spearate file
 main.cpp 2013-08-03 Shachar Shemesh Shachar Shemesh [d5ab16] Move ptlib to C++
 parent.cpp 2013-09-06 Shachar Shemesh Shachar Shemesh [6a7240] Proxy ptrace calls (incomplete)
 parent.h 2013-09-06 Shachar Shemesh Shachar Shemesh [6a7240] Proxy ptrace calls (incomplete)
 process.cpp 2013-01-19 Shachar Shemesh Shachar Shemesh [dd27ad] Fix compilation errors on modern gcc
 process.h 2009-05-30 Shachar Shemesh Shachar Shemesh [c3111a] Move responsibility into "handle_new_process" t...
 ptrace.cpp 2013-01-19 Shachar Shemesh Shachar Shemesh [dd27ad] Fix compilation errors on modern gcc
 refcount.h 2008-04-29 Shachar Shemesh Shachar Shemesh [6f12a4] Merge the readonly_shared@... branch into trunk
 syscalls.h 2013-09-06 Shachar Shemesh Shachar Shemesh [6a7240] Proxy ptrace calls (incomplete)
 unique_fd.h 2013-07-20 Shachar Shemesh Shachar Shemesh [700f7a] Thread-main interface for performing operations...

Read Me

When building fakeroot-ng, it is recommended that the --with-memdir
configure option be used to direct the shared memory files into a directory
that resides on a tmpfs file system. On Debian systems, this is typically the
/dev/shm directory. Care must be taken, however, that this directory not reside
on a file system that is mounted with the noexec flag, or fakeroot-ng will not
be able to function properly.

This file lists bugs and limitations of fakeroot-ng. There are three lists:
SCOPE - areas that are left, on purpose, outside the scope
TODO - lists action items that are simply not yet implemented
BUGS - lists functions that are implemented, but have known limitations that
will be addressed soonish
LIMITATIONS - lists limitations either inherent to the technology, or that
are outside the scope of coverage intended in the foreseeable future.

SCOPE
- When switching users, file permissions do not mimic the real system. For
  files created as part of the fake root environment, all access is "root"
  access, regardless of the file's true permissions.

TODO
- Wider support for "old" syscalls (16 bit getuid, 32bit stat etc.)
- Multithreaded debugger
- Redirect opens of "character devices" to real device with same major/minor.
- In chroot, the actual interpreter file (ld-linux for ELF executable) is
  searched for in the real root, rather than in the chrooted jail.

BUGS
- The "wait" type syscalls are only emulated enough to allow two specific
  debuggers to run: fakeroot-ng and strace
- Poor handling of multithreaded programs - mostly solved
- Poor handling of 32 bit programs on X86_64
- Files created inside SGID directories do not inherit their gid from the
  directory.

LIMITATIONS
- Program has limited access to the fakeroot-ng controlled memory inside the
  program's address space