[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#330670: marked as done (ITP: fakeroot-ng -- Fakeroot next gen, based on PTRACE)



Your message dated Sat, 19 Jan 2008 11:21:05 +0100
with message-id <20080119102105.GA5355@localhost>
and subject line closing old ITP bug
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: fakeroot
Version: 1.2.10
Severity: wishlist

Revise the method in which fakeroot communicates with the faked daemon:
- The library will not override any of the libc symbols. Instead, a
  "syscall" type table is held inside.
- During the preload stage, fakeroot opens a socket/whatever to the
  daemon, and asks it to ptrace the process. It also passes the daemon
  the address of the symbol table.
- The daemon knows what socket number the process uses to communicate
  with it (probably a high value to avoid collision. We'll assume it's
  510).
- Whenever a "write" with fd "510" is registered at the debugging
  daemon, the content is pulled from the process memory and placed in
  the appropriate registers. This allows the library to perform system
  calls directly.
- (Almost) any other syscall is redirected to the library for
  interception and possibly replacement.

Advantages:
- Can intercept "open" without races.
- Can emulate "chroot".
- Can emulate root for statically linked and non-standard executeables.
- Can kill all faked processes when the daemon is killed.
- Can emulate a no-LD_PRELOAD environment (remove variable on SO load,
  restore it upon execve). Also - can make sure that our LD_PRELOAD is
  always first.

Disadvantages:
- Performance? Probably not serious, as only syscalls will ever trigger a
  ptrace breakpoint.
- Will probably cause problems for recursive debuggers (i.e. - cannot
  run "strace" inside fakeroot).

-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-686
Locale: LANG=en_US, LC_CTYPE=he_IL (charmap=ISO-8859-8)

Versions of packages fakeroot depends on:
ii  libc6                       2.3.2.ds1-22 GNU C Library: Shared libraries an

-- no debconf information


--- End Message ---
--- Begin Message ---
Source: fakeroot-ng
Source-Version: 0.04-2

-- 
Thomas Huriaux


--- End Message ---

Reply to: