From: Erik A. H. <er...@he...> - 2002-01-28 21:47:09
|
BProc 3.1.6 is up on sourceforge. http://sourceforge.net/project/showfiles.php?group_id=24453&release_id=72421 3.1.6 --------------------------------------------------------------------- Transparent Remote Exec This release adds a facility to allow sys_execve on slave nodes to transparently use their ghost to provide a binary image. Essentially, this looks like bproc_rexec(-1, ...) followed by bproc_move(original_slave) except that the process never really leaves the slave and therefore maintains stuff like its current working directory and open files. This is a big step in being able to do script-like things on slave nodes. Shells don't quite work like they do on the front end since it's not possible to walk a path and find a binary before exec()ing it. Anything with a full path name on the binary works though. Hot Reconnect for Slaves The hot reconnect feature allows slaves to reconnect to the front end without resetting their state. This is *not* a fail-over feature. The old connection needs to be shutdown cleanly to avoid loss of messages in flight. Hot reconnect is intended to allow slaves to switch networks after startup. Bugs There's also the usual round of bug fixes. See the change log for more info on those. Changes from 3.1.5 to 3.1.6 * Added bproc_execve which allows processes on slave nodes to perform execve on the front end machine using their ghost process. * Added a hook in sys_execve to transparently use the ghost for execve if the local execve fails. This can behavior can be switched on and off via /proc/sys/bproc/execve_hook. * Updated kernel patch for new features. Included patch is against 2.4.17. * Added hot reconnect for slave daemons. The slave can now reconnect to the master at runtime w/o affecting the slave's state. (bpctl --reconnect) * Added another work-around for another Linux TCP bug. TCP sure does seem awfully broken lately. * Added "async" versions of the cache mangement calls. * Fixed bproc.o so that sysctl table registration can fail w/o causing insmod to fail. This is incase the kernel doesn't support sysctl. * Fixed master daemon bug which resulted in failure to note a process's new location during a move and resulted in message loops between the kernel and the master daemon. * Fixed a security hole involving ptrace and setuid binaries on slave nodes. * Fixed a security that would cause the master default to allowing connections from unreserved ports. * Fixed BProc's CLONE_PARENT, CLONE_THREAD, CLONE_PTRACE handling to some extent. It's still got a few race conditions but at least it does something approaching "correct" at this point. * Reworked VMADump to reduce its foot print on the caller's kernel stack. Kernel stack overflows have been observed here. |