|
Description
|
Adding experimental support for running newer versions of CentOS in an lx branded zone.
List of changes:
Changed uname to output kernel version 2.6 when kernel version attribute is set to 2.6, since CentOS 4 and 5 init will fail with the error "Kernel to old".
Login, ssh, useradd and other programs on CentOS 4 and 5 expect an auditing subsystem. Since we do not have such as system, the following work around seems to work: I modified the brand library socket code to map all AF_ROUTE SOCK_RAW sockets, which auditing uses, to INET, SOCK_STREAM sockets. This prevents the socket call from returning an error code. Also modified sendto to return -ECONNREFUSED if family is AF_ROUTE. This seems to make code expecting an auditing subsystem happy since auditing clients will fail if they cannot create AF_ROUTE sockets, but will gracefully handle an error when calling sendto.
Added the following key ring system calls: add_key=286, request_key=287 and key_ctl=288. My implementation simply returns -ENOSYS, which is sufficient to make login work.
Implemented CLONE_CHILD_SETTID option for clone system call. Also removed the constraint that the CLONE_THREAD flag matches the CLONE_DETACHED flag for kernel 2.6, since CLONE_DETACHED was dropped in kernel 2.6.
Expanded the information displayed by /proc/stat to include iowait, irq and softirq, procs_running and procs_blocked. Iowait and softirq are used as place holders only and always return 0.
Implemented utimes system call.
Implemented waitid system call.
Emulated abstract namespace unix sockets. See bug 6574205. This allows Gnome IPC to work.
Set TERM environmental variable to vt100 if unset in init process. Ubuntu's init seems to expect this.
Modified lx_setsockopt to not return an error code when the SO_PASSCRED option is passed. Ubuntu init will fail is setsockopt returns an error code for this option.
Fixed problems with proc symbolic links. See bug 6584784.
|