diff options
Diffstat (limited to 'util-vserver/patches/0.30.210-r9')
14 files changed, 0 insertions, 1077 deletions
diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-fix-fastboot.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-fix-fastboot.patch deleted file mode 100644 index 7bf246d..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-fix-fastboot.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Nrup util-vserver-0.30.208.orig/scripts/vserver.functions util-vserver-0.30.208/scripts/vserver.functions ---- util-vserver-0.30.208.orig/scripts/vserver.functions 2005-07-03 19:47:06.000000000 +0200 -+++ util-vserver-0.30.208/scripts/vserver.functions 2005-08-03 11:59:32.000000000 +0200 -@@ -627,8 +627,7 @@ function prepareInit - find var/lock ! -type d -print0; } | xargs -0r $_CHROOT_SH rm - ;; - plain) -- $_CHROOT_SH rm .autofsck forcefsck 2>/dev/null || : -- : | $_CHROOT_SH truncate fastboot 2>/dev/null || : -+ $_CHROOT_SH rm .autofsck forcefsck fastboot 2> /dev/null || : - ;; - minit) - ;; diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-nicefix.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-nicefix.patch deleted file mode 100644 index 8b489f0..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-nicefix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -NurpP util-vserver-0.30.208/scripts/legacy/vserver util-vserver-0.30.208-nicefix/scripts/legacy/vserver ---- util-vserver-0.30.208/scripts/legacy/vserver 2005-03-21 21:03:31.000000000 +0100 -+++ util-vserver-0.30.208-nicefix/scripts/legacy/vserver 2005-10-27 13:33:37.384017250 +0200 -@@ -514,7 +514,7 @@ elif [ "$2" = "start" ] ; then - DOMAINOPT="--domainname $S_DOMAINNAME" - fi - if [ "$S_NICE" != "" ] ; then -- NICECMD="nice -$S_NICE" -+ NICECMD="nice -n $S_NICE" - fi - mkdir -p $__PKGSTATEDIR - chmod 700 $__PKGSTATEDIR -diff -NurpP util-vserver-0.30.208/scripts/vserver.functions util-vserver-0.30.208-nicefix/scripts/vserver.functions ---- util-vserver-0.30.208/scripts/vserver.functions 2005-07-03 19:47:06.000000000 +0200 -+++ util-vserver-0.30.208-nicefix/scripts/vserver.functions 2005-10-27 13:32:33.332014250 +0200 -@@ -100,7 +100,7 @@ function _generateNiceCommand - test -r "$vdir/nice" || return 0; - read nice <"$vdir"/nice - -- NICE_CMD=( $_NICE -$nice ) -+ NICE_CMD=( $_NICE -n $nice ) - } - - diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-rkill.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-rkill.patch deleted file mode 100644 index 058e404..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-rkill.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -NurpP util-vserver-0.30.208/lib/cflags-v13.c util-vserver-0.30.208-rkill/lib/cflags-v13.c ---- util-vserver-0.30.208/lib/cflags-v13.c 2004-10-21 21:00:20.000000000 +0200 -+++ util-vserver-0.30.208-rkill/lib/cflags-v13.c 2005-09-30 14:32:27.575320000 +0200 -@@ -54,6 +54,9 @@ static struct Mapping_uint64 const VALUE - DECL("state_setup", VC_VXF_STATE_SETUP), - DECL("state_init", VC_VXF_STATE_INIT), - -+ DECL("sc_helper", VC_VXF_SC_HELPER), -+ DECL("reboot_kill", VC_VXF_REBOOT_KILL), -+ - DECL("fork_rss", VC_VXF_FORK_RSS), - DECL("prolific", VC_VXF_PROLIFIC), - DECL("igneg_nice", VC_VXF_IGNEG_NICE), -diff -NurpP util-vserver-0.30.208/lib/vserver.h util-vserver-0.30.208-rkill/lib/vserver.h ---- util-vserver-0.30.208/lib/vserver.h 2005-07-15 18:27:02.000000000 +0200 -+++ util-vserver-0.30.208-rkill/lib/vserver.h 2005-09-30 14:33:08.485876750 +0200 -@@ -181,6 +181,9 @@ - #define VC_VXF_STATE_SETUP (1ULL<<32) - #define VC_VXF_STATE_INIT (1ULL<<33) - -+#define VC_VXF_SC_HELPER (1ULL<<36) -+#define VC_VXF_REBOOT_KILL (1ULL<<37) -+ - #define VC_VXF_FORK_RSS (1ULL<<48) - #define VC_VXF_PROLIFIC (1ULL<<49) - diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-sharedportage.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-sharedportage.patch deleted file mode 100644 index 051e7f5..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.208-sharedportage.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -NurpP util-vserver-0.30.208/distrib/misc/fstab util-vserver-0.30.208-sharedportage/distrib/misc/fstab ---- util-vserver-0.30.208/distrib/misc/fstab 2005-02-19 19:12:34.000000000 +0100 -+++ util-vserver-0.30.208-sharedportage/distrib/misc/fstab 2005-09-30 14:39:41.790456750 +0200 -@@ -1,3 +1,7 @@ - none /proc proc defaults 0 0 - none /tmp tmpfs size=16m,mode=1777 0 0 - none /dev/pts devpts gid=5,mode=620 0 0 -+ -+# shared portage tree -+#/usr/portage /usr/portage none bind,ro 0 0 -+#/usr/portage/distfiles /usr/portage/distfiles none bind,rw 0 0 diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.209-remove-traditional-syscall.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.209-remove-traditional-syscall.patch deleted file mode 100644 index fdb676a..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.209-remove-traditional-syscall.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: util-vserver-0.30.209/config.h.in -=================================================================== ---- util-vserver-0.30.209.orig/config.h.in -+++ util-vserver-0.30.209/config.h.in -@@ -232,10 +232,4 @@ - /* Use 64bit interface for filesystem operations */ - #undef _FILE_OFFSET_BITS - -- --#if defined(__pic__) && defined(__i386) && !defined(ENSC_SYSCALL_TRADITIONAL) && !defined(ENSC_USE_ALTERNATIVE_SYSCALL_MACROS) --# define ENSC_SYSCALL_TRADITIONAL 1 --#endif -- - #include "compat.h" -- -Index: util-vserver-0.30.209/m4/ensc_syscall.m4 -=================================================================== ---- util-vserver-0.30.209.orig/m4/ensc_syscall.m4 -+++ util-vserver-0.30.209/m4/ensc_syscall.m4 -@@ -101,9 +101,4 @@ int main() { - if test x"$with_syscall" = xtraditional; then - AC_DEFINE(ENSC_SYSCALL_TRADITIONAL, 1, [Define to 1 when the fast syscall(2) invocation does not work]) - fi -- -- AH_BOTTOM([ --#if defined(__pic__) && defined(__i386) && !defined(ENSC_SYSCALL_TRADITIONAL) && !defined(ENSC_USE_ALTERNATIVE_SYSCALL_MACROS) --# define ENSC_SYSCALL_TRADITIONAL 1 --#endif]) - ]) diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-bmask.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-bmask.patch deleted file mode 100644 index 93270c1..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-bmask.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- util-vserver-0.30.210.orig/lib/syscall_setccaps-v13.hc 2004-03-24 02:07:11.000000000 +0100 -+++ util-vserver-0.30.210/lib/syscall_setccaps-v13.hc 2006-03-03 17:19:15.000000000 +0100 -@@ -25,7 +25,10 @@ - { - struct vcmd_ctx_caps_v0 k_caps; - -- k_caps.bcaps = caps->bcaps & caps->bmask; -+ if (caps->bmask) -+ k_caps.bcaps = caps->bcaps & caps->bmask; -+ else -+ k_caps.bcaps = ~0; - k_caps.ccaps = caps->ccaps; - k_caps.cmask = caps->cmask; - diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-chcontext-secure.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-chcontext-secure.patch deleted file mode 100644 index 2b91fc2..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-chcontext-secure.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- util-vserver-0.30.210.orig/scripts/chcontext 2005-04-08 21:14:47.000000000 +0200 -+++ util-vserver-0.30.210/scripts/chcontext 2006-03-25 05:17:00.000000000 +0100 -@@ -153,9 +153,9 @@ - chain_cmd=( "${chain_cmd[@]}" - -- - $_VATTRIBUTE --set -+ ${OPT_SECURE:+--secure} - ${OPT_CAPS:+--bcap "${OPT_CAPS[*]}"} -- ${OPT_FLAGS:+--flag "${OPT_FLAGS[*]}"} -- ${OPT_SECURE:+--secure} ) -+ ${OPT_FLAGS:+--flag "${OPT_FLAGS[*]}"} ) - - migrate_cmd=( $_VCONTEXT - ${OPT_SILENT:+--silent} diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-delete-cmd.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-delete-cmd.patch deleted file mode 100644 index b6f446f..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-delete-cmd.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -NurpP util-vserver-0.30.210/scripts/vserver util-vserver-0.30.210-delete/scripts/vserver ---- util-vserver-0.30.210/scripts/vserver 2005-10-28 20:29:00.000000000 +0200 -+++ util-vserver-0.30.210-delete/scripts/vserver 2006-03-12 08:21:19.293748750 +0100 -@@ -43,6 +43,7 @@ Possible commands are: - restart ... restarts the specified vserver; this is the subsequent - execution of a synchronized 'stop' and a 'start' - condrestart ... restarts the vserver when it is running already -+ delete ... deletes the specified vserver - suexec <user> <shell-command> <args*> - ... executes a command as the specified user in the vserver - exec <shell-command> <args*> -@@ -96,6 +97,17 @@ the GNU General Public License. This pr - exit 0 - } - -+function delete() -+{ -+ if [[ -z "$OPTION_SILENT" ]]; then -+ read -p "Really remove '$vserver'? [y/N]" deleteok -+ [[ "$deleteok" != [Yy] ]] && exit 2 -+ fi -+ -+ isVserverRunning "$VSERVER_DIR" && "${SELF[@]}" $OPTION_SILENT --sync "$vserver" stop -+ rm -rf $(readlink -f "$VSERVER_DIR"/vdir) "$VSERVER_DIR" -+} -+ - function suexec() - { - . $__PKGLIBDIR/vserver.suexec -@@ -203,7 +215,7 @@ case "$2" in - shift 2 - . $__PKGLIBDIR/vserver.$cmd - ;; -- (suexec|restart) -+ (suexec|restart|delete) - shift 2 - $cmd "$@" - ;; diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-gentoo-tools.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-gentoo-tools.patch deleted file mode 100644 index a415d0a..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-gentoo-tools.patch +++ /dev/null @@ -1,74 +0,0 @@ -Index: util-vserver-0.30.210/scripts/Makefile-files -=================================================================== ---- util-vserver-0.30.210.orig/scripts/Makefile-files -+++ util-vserver-0.30.210/scripts/Makefile-files -@@ -38,6 +38,7 @@ AM_INSTALLCHECK_STD_OPTIONS_EXEMPT += \ - - - scripts_pkglib_src_DTA = scripts/functions \ -+ scripts/gentoo-functions.sh \ - scripts/vserver-build.apt-rpm \ - scripts/vserver-build.skeleton \ - scripts/vserver-build.debootstrap \ -@@ -68,6 +69,7 @@ scripts_pkglib_src_SCRPTS = scripts/pkgm - scripts/vservers.grabinfo.sh \ - scripts/vshelper \ - scripts/vsysvwrapper \ -+ scripts/vschedcalc \ - scripts/vyum-worker - - scripts_legacy_src_SCRPTS = scripts/legacy/save_s_context \ -@@ -85,7 +87,12 @@ scripts_sbin_src_PRGS = scripts/chconte - scripts/vserver \ - scripts/vsomething \ - scripts/vtop \ -- scripts/vyum -+ scripts/vyum \ -+ scripts/vdispatch-conf \ -+ scripts/vemerge \ -+ scripts/vesync \ -+ scripts/vserver-new \ -+ scripts/vupdateworld - - scripts_sbin_gen_PRGS = - scripts_sbincfg_gen_DTA = -Index: util-vserver-0.30.210/scripts/util-vserver-vars.pathsubst -=================================================================== ---- util-vserver-0.30.210.orig/scripts/util-vserver-vars.pathsubst -+++ util-vserver-0.30.210/scripts/util-vserver-vars.pathsubst -@@ -43,6 +43,7 @@ _IFSPEC="$__LEGACYDIR/ifspec" - _INITSYNC_MINIT_START=: - _KEEP_CTX_ALIVE="$__PKGLIBDIR/keep-ctx-alive" - _LIB_FUNCTIONS="$__PKGLIBDIR/functions" -+_LIB_GENTOO_FUNCTIONS="$__PKGLIBDIR/gentoo-functions.sh" - _LIB_VSERVER_SETUP_FUNCTIONS="$__PKGLIBDIR/vserver-setup.functions" - _LIB_VSERVER_BUILD_FUNCTIONS="$__PKGLIBDIR/vserver-build.functions" - _LIB_VSERVER_BUILD_FUNCTIONS_APT="$__PKGLIBDIR/vserver-build.functions.apt" -@@ -68,6 +69,9 @@ _VAPT_GET_WORKER="$__PKGLIBDIR/vapt-get- - _VATTRIBUTE="$__SBINDIR/vattribute" - _VCONTEXT="$__SBINDIR/vcontext" - _VDLIMIT="$__SBINDIR/vdlimit" -+_VDISPATCH_CONF="$__SBINDIR/vdispatch-conf" -+_VEMERGE="$__SBINDIR/vemerge" -+_VESYNC="$__SBINDIR/vesync" - _VDU="$__SBINDIR/vdu" - _VHASHIFY="$__PKGLIBDIR/vhashify" - _VKILL="$__SBINDIR/vkill" -@@ -81,7 +85,9 @@ _VRPM="$__SBINDIR/vrpm" - _VRPM_PRELOAD="$__PKGLIBDIR/vrpm-preload" - _VRPM_WORKER="$__PKGLIBDIR/vrpm-worker" - _VSCHED="$__SBINDIR/vsched" -+_VSCHEDCALC="$__PKGLIBDIR/vschedcalc" - _VSERVER="$__SBINDIR/vserver" -+_VSERVER_NEW="$__SBINDIR/vserver-new" - _VSERVER_LEGACY="$__LEGACYDIR/vserver" - _VSERVER_BUILD="$__PKGLIBDIR/vserver-build" - _VSERVER_INFO="$__SBINDIR/vserver-info" -@@ -92,6 +98,7 @@ _VSOMETHING="$__SBINDIR/vsomething" - _VWAIT="$__SBINDIR/vwait" - _VUNAME="$__SBINDIR/vuname" - _VUNIFY="$__PKGLIBDIR/vunify" -+_VUPDATEWORLD="$__SBINDIR/vupdateworld" - _VYUM="$__SBINDIR/vyum" - _VYUM_WORKER="$__PKGLIBDIR/vyum-worker" - diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-remove-init-style-gentoo.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-remove-init-style-gentoo.patch deleted file mode 100644 index 7fabe46..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-remove-init-style-gentoo.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: util-vserver-0.30.210/scripts/vserver.functions -=================================================================== ---- util-vserver-0.30.210.orig/scripts/vserver.functions -+++ util-vserver-0.30.210/scripts/vserver.functions -@@ -292,9 +292,7 @@ function _generateInitOptions - ;; - - (xgentoo) -- INITCMD_START=( /sbin/rc default ) -- INITCMD_STOP=( /sbin/rc shutdown ) -- ;; -+ panic "init-style '$INITSTYLE' is no longer supported; please use plain instead; aborting";; - - (x) ;; - (*) panic "Unknown init-style '$INITSTYLE'; aborting";; diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-syscall-update.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-syscall-update.patch deleted file mode 100644 index 47d07b8..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-syscall-update.patch +++ /dev/null @@ -1,244 +0,0 @@ -diff -NurpP util-vserver-0.30.210/lib/syscall-alternative.h util-vserver-0.30.210-shiny10/lib/syscall-alternative.h ---- util-vserver-0.30.210/lib/syscall-alternative.h 2005-10-28 18:33:50.000000000 +0200 -+++ util-vserver-0.30.210-shiny10/lib/syscall-alternative.h 2006-04-02 21:07:52.000000000 +0200 -@@ -1,9 +1,7 @@ -- // from http://vserver.13thfloor.at/Experimental/SYSCALL/syscall_shiny7.h -- - #ifndef __SYSCALL_NEW_H - #define __SYSCALL_NEW_H - --/* Copyright (C) 2005 Herbert Pötzl -+/* Copyright (C) 2005-2006 Herbert Pötzl - - global config options - -@@ -39,12 +37,13 @@ - __sysc_rcon(n) ... syscall register constraint - __sysc_regs ... list of input regs for clobber - __sysc_type ... register type -+ __sysc_aout ... asm code output constraint - - if all else fails - - __sc_asmload(n,N,...) ... asm code to prepare arguments - __sc_asmsysc(n,N) ... asm code to execute syscall -- __sc_asmsave(n,r,e) ... asm code to store results -+ __sc_asmsave(n) ... asm code to store results - - */ - -@@ -243,7 +242,8 @@ - sret: r0(r28) - serr: (sret >= (unsigned)-EMAXERRNO) - call: ble 0x100(%%sr2, %%r0) -- clob: r1, r2, r4, r20, r29, r31, memory -+ clob: r1, r2, (r4), r20, r29, r31, memory -+ picr: pr(r19) - */ - - #define __sysc_max_err 4095 -@@ -253,13 +253,21 @@ - ("r26", "r25", "r24", "r23", "r22", "r21") - - #define __sysc_cmd_sys "ble 0x100(%%sr2,%%r0)" --#define __sysc_cmd_fin "ldi %0,%%r20" - --#define __sysc_clobber __sysc_regs, \ -- "r1", "r2", "r4", "r20", "r29", "r31", "memory" -+#define __sysc_pre(n) \ -+ __pasm(n,1,1, "copy %%r19, %%r4" , ) - --#warning syscall arch hppa not tested yet -+#define __sysc_fin(n) \ -+ __casm(n,1,1, "ldi %0,%%r20" , )\ -+ __pasm(n,1,1, "copy %%r4, %%r19" , ) - -+#ifndef __PIC__ -+#define __sysc_clobber __sysc_regs, \ -+ "r1", "r2", "r20", "r29", "r31", "memory" -+#else -+#define __sysc_clobber __sysc_regs, \ -+ "r1", "r2", "r4", "r20", "r29", "r31", "memory" -+#endif - - - /* ***************************************** -@@ -277,6 +285,7 @@ - sret: r0(eax) - serr: (sret >= (unsigned)-EMAXERRNO) - call: int 0x80 -+ picr: pr(ebx) - clob: memory - */ - -@@ -301,15 +310,18 @@ - __casm(n,6,1, "pushl %%ebp" , )\ - ""::__sc_iregs(n,__VA_ARGS__):__sysc_clobber) - -+#define __sc_asmsave(n) -+ - #define __sysc_pre(n) \ - __casm(n,6,1, "movl %%eax,%%ebp" , )\ -- __casm(n,0,1, "movl %0,%%eax" , )\ -+ __casm(n,0,1, "movl %1,%%eax" , )\ - - #define __sysc_fin(n) \ - __casm(n,6,1, "popl %%ebp" , )\ - __pasm(n,1,1, "popl %%ebx" , )\ - --#define __sysc_clobber __sysc_regs, "eax", "memory" -+#define __sysc_aout "=a"(__res) -+#define __sysc_clobber __sysc_regs, "memory" - - - /* ***************************************** -@@ -399,8 +411,43 @@ - - #elif defined(__mips__) - --#error syscall arch mips not implemented yet -+/* The ABIO32 calling convention uses a0-a3 to pass the first -+ four arguments, the rest is passed on the userspace stack. The 5th arg -+ starts at 16($sp). -+ -+ ABIN32 and ABI64 pass 6 args in a0-a3, t0-t1. -+ -+ scnr: id(v0) -+ args: a1(a0), a2(a1), a3(a2), a4(a3), a5(16($sp)), a6(20($sp)) -+ sret: r0(v0) -+ serr: e0(a3) -+ call: syscall -+ clob: at, v0, t0-t7, t8-t9 -+*/ -+ -+#define __sysc_reg_cid "v0" -+#define __sysc_reg_ret "v0" -+#define __sysc_reg_err "a3" -+#define __sysc_cmd_sys "syscall" -+ -+#define __sysc_reg(n) __arg_##n\ -+ ("a0","a1","a2","a3", "t0", "t1") - -+#define __sysc_clobber "$1", "$3", "$8", "$9", "$10", "$11", "$12", \ -+ "$13", "$14", "$15", "$24", "$25", "memory" -+ -+#if _MIPS_SIM == _ABIO32 -+#define __sysc_pre(n) \ -+ __casm(n,5,1,"addiu $sp,$sp,-32",) \ -+ __casm(n,6,1,"sw $9,20($sp)",) \ -+ __casm(n,5,1,"sw $8, 16($sp)",) -+#define __sysc_fin(n) \ -+ __casm(n,5,1,"addiu $sp,$sp,32",) -+#elif (_MIPS_SIM == _ABIN32) || (_MIPS_SIM == _ABI64) -+#warning syscall arch mips with ABI N32 and 64 not tested yet -+#else -+#error unknown mips ABI version -+#endif - - - /* ***************************************** -@@ -651,6 +698,7 @@ - #define __sysc_clobber __sysc_regs, \ - "cc", "r11", "rcx", "memory" - -+#define __sysc_aout "=a"(__res) - - #else - #error unknown kernel arch -@@ -834,7 +882,7 @@ - #define __sc_inp_def(n,value) - #endif - --#ifndef __sysc_save -+#if !defined(__sysc_save) && !defined(__sysc_aout) - #define __sc_res_def(n,r) __sc_asm_reg(n, r); - #else - #define __sc_res_def(n,r) __sc_reg(n); -@@ -865,7 +913,6 @@ - #endif - - -- - #ifdef __sc_complex /* complex result */ - - #ifndef __sysc_errc -@@ -918,6 +965,7 @@ - return (type)(res) - #endif - -+ - #define __sc_results \ - __sc_res_def(__res, __sysc_reg_res) - -@@ -939,8 +987,13 @@ - __casm(n,3,0,"%3 ",) __casm(n,4,0,"%4 ",) __casm(n,5,0,"%5 ",) \ - __casm(n,6,0,"%6 ",) "*/" - -+#ifdef __sysc_aout -+#define __sc_dummy_save(n) -+#define __sc_asmsave(n) -+#else - #define __sc_dummy_save(n) "/* gcc dummy save " \ - __casm(n,0,0,"%0 ",) __casm(n,1,0,"%1 ",) "*/" -+#endif - - #define __comment(name) "\t/* kernel sys_" \ - #name "[" __stringify(__sc_id(name)) "] */" -@@ -1006,10 +1059,14 @@ - #endif - #endif - -+#ifndef __sysc_aout -+#define __sysc_aout -+#endif -+ - #ifndef __sc_asmsysc - #define __sc_asmsysc(n,N) __sc_asm_vol( \ - __casm(n,0,0, __sc_cmds(n,N) , )\ -- ::"i"(__sc_id(N)) : __sysc_clobber) -+ :__sysc_aout:"i"(__sc_id(N)) : __sysc_clobber) - #endif - - #ifndef __sc_asmsave -@@ -1031,33 +1088,33 @@ - - - --#define _syscall0(type, name) \ -+#define _syscall0(type, name) \ - type name(void) \ - __sc_body(0, type, name, *) - --#define _syscall1(type, name, type1, arg1) \ -+#define _syscall1(type, name, type1, arg1) \ - type name(type1 arg1) \ - __sc_body(1, type, name, arg1) - --#define _syscall2(type, name, type1, arg1, type2, arg2) \ -+#define _syscall2(type, name, type1, arg1, type2, arg2) \ - type name(type1 arg1, type2 arg2) \ - __sc_body(2, type, name, arg1, arg2) - --#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3) \ -+#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3) \ - type name(type1 arg1, type2 arg2, type3 arg3) \ - __sc_body(3, type, name, arg1, arg2, arg3) - --#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3, \ -+#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3, \ - type4, arg4) \ - type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ - __sc_body(4, type, name, arg1, arg2, arg3, arg4) - --#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3, \ -- type4, arg4, type5, arg5) \ -+#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3, \ -+ type4, arg4, type5, arg5) \ - type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \ - __sc_body(5, type, name, arg1, arg2, arg3, arg4, arg5) - --#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3, \ -+#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3, \ - type4, arg4, type5, arg5, type6, arg6) \ - type name(type1 arg1, type2 arg2, type3 arg3, \ - type4 arg4, type5 arg5, type6 arg6) \ diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-testsuite-fix.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-testsuite-fix.patch deleted file mode 100644 index b9cfd46..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-testsuite-fix.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff -NurpP util-vserver-0.30.210/lib/testsuite/personality.c util-vserver-0.30.210-testfix/lib/testsuite/personality.c ---- util-vserver-0.30.210/lib/testsuite/personality.c 2005-12-31 11:31:55.000000000 +0100 -+++ util-vserver-0.30.210-testfix/lib/testsuite/personality.c 2006-03-16 17:41:30.239559250 +0100 -@@ -73,7 +73,6 @@ int main() - TEST_T2PF("SHORT_INODE", 0, SHORT_INODE); - TEST_T2PF("WHOLE_SECONDS", 0, WHOLE_SECONDS); - TEST_T2PF("STICKY_TIMEOUTS", 0, STICKY_TIMEOUTS); -- TEST_T2PF("ADDR_LIMIT_3GB", 0, ADDR_LIMIT_3GB); - - - // the _loc* tests -@@ -82,7 +81,6 @@ int main() - TEST_PF2T("SHORT_INODE", SHORT_INODE); - TEST_PF2T("WHOLE_SECONDS", WHOLE_SECONDS); - TEST_PF2T("STICKY_TIMEOUTS", STICKY_TIMEOUTS); -- TEST_PF2T("ADDR_LIMIT_3GB", ADDR_LIMIT_3GB); - - - -@@ -123,10 +121,10 @@ int main() - TEST_LIST("mmap_page_zero,any", 0, -1, MMAP_PAGE_ZERO, 15, 3); - - TEST_LIST("mmap_page_zero,addr_limit_32bit,short_inode,whole_seconds," -- "sticky_timeouts,addr_limit_3gb", -+ "sticky_timeouts", - 0, 0, - MMAP_PAGE_ZERO|ADDR_LIMIT_32BIT|SHORT_INODE|WHOLE_SECONDS| -- STICKY_TIMEOUTS|ADDR_LIMIT_3GB, -+ STICKY_TIMEOUTS, - -1, 0); - - TEST_T2PT("linux", 0, PER_LINUX); -diff -NurpP util-vserver-0.30.210/src/testsuite/vunify-test.sh util-vserver-0.30.210-testfix/src/testsuite/vunify-test.sh ---- util-vserver-0.30.210/src/testsuite/vunify-test.sh 2005-03-21 21:03:33.000000000 +0100 -+++ util-vserver-0.30.210-testfix/src/testsuite/vunify-test.sh 2006-03-16 17:37:04.014921250 +0100 -@@ -1,6 +1,7 @@ - #! /bin/bash - --: ${srcdir=.} -+: ${srcdir:=.} -+: ${builddir:=.} - : ${tmptopdir=/var/tmp} - - set -e -@@ -49,5 +50,5 @@ pushd $tmpdir &>/dev/null - popd &>/dev/null - - --$D ./src/vunify -n --manually $tmpdir/a '' $tmpdir/b '' >/dev/null --$D ./src/vunify -n --manually $tmpdir/a '' $tmpdir/c '' >/dev/null -+$builddir/src/vunify -n --manually $tmpdir/a '' $tmpdir/b '' >/dev/null -+$builddir/src/vunify -n --manually $tmpdir/a '' $tmpdir/c '' >/dev/null diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-vlogin.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-vlogin.patch deleted file mode 100644 index e24296e..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-vlogin.patch +++ /dev/null @@ -1,514 +0,0 @@ -diff -Nurp util-vserver-0.30.210.orig/ensc_wrappers/wrappers.h util-vserver-0.30.210.vlogin/ensc_wrappers/wrappers.h ---- util-vserver-0.30.210.orig/ensc_wrappers/wrappers.h 2006-01-22 12:18:14.000000000 +0100 -+++ util-vserver-0.30.210.vlogin/ensc_wrappers/wrappers.h 2006-04-04 04:18:38.000000000 +0200 -@@ -111,6 +111,10 @@ - # include "wrappers-stat.hc" - #endif - -+#ifdef ENSC_WRAPPERS_TERMIOS -+# include "wrappers-termios.hc" -+#endif -+ - #undef ENSC_DETAIL2 - #undef ENSC_DETAIL1 - #undef ENSC_DOQUOTE_COND -diff -Nurp util-vserver-0.30.210.orig/ensc_wrappers/wrappers-termios.hc util-vserver-0.30.210.vlogin/ensc_wrappers/wrappers-termios.hc ---- util-vserver-0.30.210.orig/ensc_wrappers/wrappers-termios.hc 1970-01-01 01:00:00.000000000 +0100 -+++ util-vserver-0.30.210.vlogin/ensc_wrappers/wrappers-termios.hc 2006-04-04 04:18:38.000000000 +0200 -@@ -0,0 +1,32 @@ -+// $Id$ --*- c -*-- -+ -+// Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> -+// -+// This program is free software; you can redistribute it and/or modify -+// it under the terms of the GNU General Public License as published by -+// the Free Software Foundation; version 2 of the License. -+// -+// This program is distributed in the hope that it will be useful, -+// but WITHOUT ANY WARRANTY; without even the implied warranty of -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+// GNU General Public License for more details. -+// -+// You should have received a copy of the GNU General Public License -+// along with this program; if not, write to the Free Software -+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+#ifndef H_ENSC_IN_WRAPPERS_H -+# error wrappers-termios.hc can not be used in this way -+#endif -+ -+inline static WRAPPER_DECL void -+Etcgetattr(int fd, struct termios *termios_p) -+{ -+ FatalErrnoError(tcgetattr(fd, termios_p)==-1, "tcgetattr()"); -+} -+ -+inline static WRAPPER_DECL void -+Etcsetattr(int fd, int optional_actions, struct termios *termios_p) -+{ -+ FatalErrnoError(tcsetattr(fd, optional_actions, termios_p)==-1, "tcsetattr()"); -+} -diff -Nurp util-vserver-0.30.210.orig/Makefile.in util-vserver-0.30.210.vlogin/Makefile.in ---- util-vserver-0.30.210.orig/Makefile.in 2006-01-22 20:33:21.000000000 +0100 -+++ util-vserver-0.30.210.vlogin/Makefile.in 2006-04-04 05:00:11.000000000 +0200 -@@ -965,7 +965,7 @@ src_testsuite_vunify_functest_DEPENDENCI - am_src_vattribute_OBJECTS = src/vattribute.$(OBJEXT) - src_vattribute_OBJECTS = $(am_src_vattribute_OBJECTS) - src_vattribute_DEPENDENCIES = $(am__DEPENDENCIES_11) --am_src_vcontext_OBJECTS = src/vcontext.$(OBJEXT) -+am_src_vcontext_OBJECTS = src/vcontext.$(OBJEXT) src/vlogin.$(OBJEXT) - src_vcontext_OBJECTS = $(am_src_vcontext_OBJECTS) - src_vcontext_DEPENDENCIES = $(am__DEPENDENCIES_11) \ - $(am__DEPENDENCIES_9) -@@ -1746,7 +1746,7 @@ src_chbind_LDFLAGS = $(VSERVER_LDFLGS) - src_chcontext_compat_SOURCES = src/chcontext.c - src_chcontext_compat_LDADD = $(VSERVER_LDADDS) $(LIBINTERNAL) - src_chcontext_compat_LDFLAGS = $(VSERVER_LDFLGS) --src_vcontext_SOURCES = src/vcontext.c -+src_vcontext_SOURCES = src/vcontext.c src/vlogin.c - src_vcontext_LDADD = $(VSERVER_LDADDS) $(LIBINTERNAL) - src_vcontext_LDFLAGS = $(VSERVER_LDFLGS) - src_vsched_SOURCES = src/vsched.c -@@ -3489,6 +3489,8 @@ src/vattribute$(EXEEXT): $(src_vattribut - $(LINK) $(src_vattribute_LDFLAGS) $(src_vattribute_OBJECTS) $(src_vattribute_LDADD) $(LIBS) - src/vcontext.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -+src/vlogin.$(OBJEXT): src/$(am__dirstamp) \ -+ src/$(DEPDIR)/$(am__dirstamp) - src/vcontext$(EXEEXT): $(src_vcontext_OBJECTS) $(src_vcontext_DEPENDENCIES) src/$(am__dirstamp) - @rm -f src/vcontext$(EXEEXT) - $(LINK) $(src_vcontext_LDFLAGS) $(src_vcontext_OBJECTS) $(src_vcontext_LDADD) $(LIBS) -@@ -4222,6 +4224,7 @@ mostlyclean-compile: - -rm -f src/vdu.$(OBJEXT) - -rm -f src/vhashify.$(OBJEXT) - -rm -f src/vlimit.$(OBJEXT) -+ -rm -f src/vlogin.$(OBJEXT) - -rm -f src/vnamespace.$(OBJEXT) - -rm -f src/vps.$(OBJEXT) - -rm -f src/vreboot.$(OBJEXT) -@@ -4593,6 +4596,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vdu.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vhashify.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vlimit.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vlogin.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vnamespace.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vps.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vreboot.Po@am__quote@ -diff -Nurp util-vserver-0.30.210.orig/scripts/vserver.functions util-vserver-0.30.210.vlogin/scripts/vserver.functions ---- util-vserver-0.30.210.orig/scripts/vserver.functions 2006-01-22 13:24:25.000000000 +0100 -+++ util-vserver-0.30.210.vlogin/scripts/vserver.functions 2006-04-04 04:18:38.000000000 +0200 -@@ -39,7 +39,7 @@ declare -a ENTER_SHELL=() - - declare -a OPTS_VCONTEXT_CREATE=() - declare -a OPTS_VCONTEXT_MIGRATE=() --declare -a OPTS_VCONTEXT_ENTER=() -+declare -a OPTS_VCONTEXT_ENTER=( --vlogin ) - declare -a OPTS_VATTRIBUTE=( --flag fakeinit ) - declare -a OPTS_VSCHED=() - -diff -Nurp util-vserver-0.30.210.orig/src/Makefile-files util-vserver-0.30.210.vlogin/src/Makefile-files ---- util-vserver-0.30.210.orig/src/Makefile-files 2006-01-22 12:28:00.000000000 +0100 -+++ util-vserver-0.30.210.vlogin/src/Makefile-files 2006-04-04 04:18:38.000000000 +0200 -@@ -167,7 +167,7 @@ src_chcontext_compat_SOURCES = src/chcon - src_chcontext_compat_LDADD = $(VSERVER_LDADDS) $(LIBINTERNAL) - src_chcontext_compat_LDFLAGS = $(VSERVER_LDFLGS) - --src_vcontext_SOURCES = src/vcontext.c -+src_vcontext_SOURCES = src/vcontext.c src/vlogin.c - src_vcontext_LDADD = $(VSERVER_LDADDS) $(LIBINTERNAL) - src_vcontext_LDFLAGS = $(VSERVER_LDFLGS) - -diff -Nurp util-vserver-0.30.210.orig/src/vcontext.c util-vserver-0.30.210.vlogin/src/vcontext.c ---- util-vserver-0.30.210.orig/src/vcontext.c 2005-10-30 00:38:36.000000000 +0200 -+++ util-vserver-0.30.210.vlogin/src/vcontext.c 2006-04-04 04:18:38.000000000 +0200 -@@ -62,6 +62,7 @@ - #define CMD_NAMESPACE 0x400d - #define CMD_PERSTYPE 0x400e - #define CMD_PERSFLAG 0x400f -+#define CMD_VLOGIN 0x4010 - - - struct option const -@@ -85,6 +86,7 @@ CMDLINE_OPTIONS[] = { - { "syncmsg", required_argument, 0, CMD_SYNCMSG }, - { "personality-type", required_argument, 0, CMD_PERSTYPE }, - { "personality-flags", required_argument, 0, CMD_PERSFLAG }, -+ { "vlogin", no_argument, 0, CMD_VLOGIN }, - #if 1 - { "fakeinit", no_argument, 0, CMD_INITPID }, // compatibility - #endif -@@ -100,6 +102,7 @@ struct Arguments { - bool is_initpid; - bool is_silentexist; - bool set_namespace; -+ bool do_vlogin; - uint_least32_t personality_flags; - uint_least32_t personality_type; - int verbosity; -@@ -112,6 +115,8 @@ struct Arguments { - - int wrapper_exit_code = 255; - -+void do_vlogin(char *argv[]); -+ - static void - showHelp(int fd, char const *cmd, int res) - { -@@ -145,6 +150,7 @@ showHelp(int fd, char const *cmd, int re - " --syncmsg <message>\n" - " ... use <message> as synchronization message; by\n" - " default, 'ok' will be used\n" -+ " --vlogin ... enable terminal proxy\n" - "\n" - "'vcontext --create' exits with code 254 iff the context exists already.\n" - "\n" -@@ -287,12 +293,15 @@ doit(struct Arguments const *args, char - sys_personality(args->personality_type | args->personality_flags)==-1) { - perror(ENSC_WRAPPERS_PREFIX "personality()"); - exit(wrapper_exit_code); -- } -+ } - - doExternalSync(ext_sync_fd, args->sync_msg); - doSyncStage1(p, args->do_disconnect); - DPRINTF("doit: pid=%u, ppid=%u\n", getpid(), getppid()); -- execvp (argv[optind],argv+optind); -+ if (!args->do_vlogin) -+ execvp (argv[optind],argv+optind); -+ else -+ do_vlogin(argv+optind); - doSyncStage2(p, args->do_disconnect); - - PERROR_Q(ENSC_WRAPPERS_PREFIX "execvp", argv[optind]); -@@ -341,6 +350,7 @@ int main (int argc, char *argv[]) - .do_migrateself = false, - .do_disconnect = false, - .do_endsetup = false, -+ .do_vlogin = false, - .is_initpid = false, - .is_silentexist = false, - .set_namespace = false, -@@ -363,6 +373,7 @@ int main (int argc, char *argv[]) - case CMD_MIGRATE : args.do_migrate = true; break; - case CMD_DISCONNECT : args.do_disconnect = true; break; - case CMD_ENDSETUP : args.do_endsetup = true; break; -+ case CMD_VLOGIN : args.do_vlogin = true; break; - case CMD_INITPID : args.is_initpid = true; break; - case CMD_CHROOT : args.do_chroot = true; break; - case CMD_NAMESPACE : args.set_namespace = true; break; -diff -Nurp util-vserver-0.30.210.orig/src/vlogin.c util-vserver-0.30.210.vlogin/src/vlogin.c ---- util-vserver-0.30.210.orig/src/vlogin.c 1970-01-01 01:00:00.000000000 +0100 -+++ util-vserver-0.30.210.vlogin/src/vlogin.c 2006-04-04 06:48:12.000000000 +0200 -@@ -0,0 +1,312 @@ -+// $Id$ -+ -+// Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> -+// Based on vserver-utils' vlogin program. -+// -+// This program is free software; you can redistribute it and/or modify -+// it under the terms of the GNU General Public License as published by -+// the Free Software Foundation; version 2 of the License. -+// -+// This program is distributed in the hope that it will be useful, -+// but WITHOUT ANY WARRANTY; without even the implied warranty of -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+// GNU General Public License for more details. -+// -+// You should have received a copy of the GNU General Public License -+// along with this program; if not, write to the Free Software -+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ -+ -+#ifdef HAVE_CONFIG_H -+# include <config.h> -+#endif -+ -+#include "util.h" -+#include <lib/vserver.h> -+#include <lib/fmt.h> -+ -+#include <stdlib.h> -+#include <getopt.h> -+#include <stdint.h> -+#include <errno.h> -+#include <sys/stat.h> -+#include <sys/ioctl.h> -+#include <sys/wait.h> -+#include <sys/socket.h> -+#include <termios.h> -+#include <signal.h> -+#include <pty.h> -+#include <fcntl.h> -+ -+#define ENSC_WRAPPERS_PREFIX "vlogin: " -+#define ENSC_WRAPPERS_IOCTL 1 -+#define ENSC_WRAPPERS_UNISTD 1 -+#define ENSC_WRAPPERS_SOCKET 1 -+#define ENSC_WRAPPERS_IO 1 -+#define ENSC_WRAPPERS_TERMIOS 1 -+#define ENSC_WRAPPERS_FCNTL 1 -+#include <wrappers.h> -+ -+struct terminal { -+ int fd; /* terminal file descriptor */ -+ struct termios term; /* terminal settings */ -+ struct winsize ws; /* terminal size */ -+ pid_t pid; /* terminal process id */ -+ struct termios termo; /* original terminal settings */ -+ enum { TS_RESET, TS_RAW } state; /* terminal state */ -+}; -+ -+static struct terminal t; -+extern int wrapper_exit_code; -+ -+/* set terminal to raw mode */ -+static void -+terminal_raw(void) -+{ -+ struct termios buf; -+ -+ /* save original terminal settings */ -+ Etcgetattr(STDIN_FILENO, &t.termo); -+ -+ buf = t.termo; -+ -+ /* echo off -+ ** canonical mode off -+ ** extended input processing off -+ ** signal chars off */ -+ buf.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG); -+ -+ /* no SIGINT on BREAK -+ ** CR-to-NL off -+ ** input parity check off -+ ** don't strip 8th bit on input -+ ** output flow control off */ -+ buf.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON); -+ -+ /* clear size bits -+ ** parity checking off */ -+ buf.c_cflag &= ~(CSIZE | PARENB); -+ -+ /* set 8 bits/char */ -+ buf.c_cflag |= CS8; -+ -+ /* output processing off */ -+ buf.c_oflag &= ~(OPOST); -+ -+ /* 1 byte at a time -+ ** no timer */ -+ buf.c_cc[VMIN] = 1; -+ buf.c_cc[VTIME] = 0; -+ -+ Etcsetattr(STDIN_FILENO, TCSAFLUSH, &buf); -+ -+ t.state = TS_RAW; -+} -+ -+/* reset terminal to original state */ -+static void -+terminal_reset(void) -+{ -+ if (t.state != TS_RAW) -+ return; -+ -+ Etcsetattr(STDIN_FILENO, TCSAFLUSH, &t.termo); -+ -+ t.state = TS_RESET; -+} -+ -+/* exit handler */ -+static void -+terminal_atexit(void) -+{ -+ terminal_reset(); -+} -+ -+/* send signal to terminal */ -+static void -+terminal_kill(int sig) -+{ -+ pid_t pgrp = -1; -+ -+ /* try to get process group leader */ -+ if (ioctl(t.fd, TIOCGPGRP, &pgrp) >= 0 && -+ pgrp != -1 && -+ kill(-pgrp, sig) != -1) -+ return; -+ -+ /* fallback using terminal pid */ -+ kill(-t.pid, sig); -+} -+ -+/* redraw the terminal screen */ -+static void -+terminal_redraw(void) -+{ -+ /* get winsize from stdin */ -+ if (ioctl(STDIN_FILENO, TIOCGWINSZ, &t.ws) == -1) -+ return; -+ -+ /* set winsize in terminal */ -+ ioctl(t.fd, TIOCSWINSZ, &t.ws); -+ -+ /* set winsize change signal to terminal */ -+ terminal_kill(SIGWINCH); -+} -+ -+/* copy terminal activity to user */ -+static void -+terminal_activity(void) -+{ -+ char buf[64]; -+ size_t len; -+ -+ /* read terminal activity */ -+ len = Eread(t.fd, buf, sizeof(buf)); -+ -+ /* write activity to user */ -+ EwriteAll(STDOUT_FILENO, buf, len); -+} -+ -+/* copy user activity to terminal */ -+static void -+user_activity(void) -+{ -+ char buf[64]; -+ size_t len; -+ -+ len = Eread(STDIN_FILENO, buf, sizeof(buf)); -+ EwriteAll(t.fd, buf, len); -+} -+ -+/* shuffle all output, and reset the terminal */ -+static void -+terminal_end(void) -+{ -+ char buf[64]; -+ ssize_t len; -+ long options; -+ -+ options = Efcntl(t.fd, F_GETFL, 0) | O_NONBLOCK; -+ Efcntl(t.fd, F_SETFL, options); -+ for (;;) { -+ len = read(t.fd, buf, sizeof(buf)); -+ if (len == 0 || len == -1) -+ break; -+ EwriteAll(STDOUT_FILENO, buf, len); -+ } -+ -+ /* in case atexit hasn't been setup yet */ -+ terminal_reset(); -+} -+ -+/* catch signals */ -+static void -+signal_handler(int sig) -+{ -+ int status; -+ -+ switch(sig) { -+ /* catch interrupt */ -+ case SIGINT: -+ terminal_kill(sig); -+ break; -+ -+ /* terminal died */ -+ case SIGCHLD: -+ terminal_end(); -+ wait(&status); -+ exit(WEXITSTATUS(status)); -+ break; -+ -+ /* window size has changed */ -+ case SIGWINCH: -+ terminal_redraw(); -+ break; -+ -+ default: -+ exit(0); -+ } -+ -+} -+ -+void do_vlogin(char *argv[]) -+{ -+ int slave; -+ pid_t pid; -+ int n; -+ fd_set rfds; -+ -+ if (!isatty(0) || !isatty(1)) { -+ execvp(argv[0], argv); -+ return; -+ } -+ -+ /* set terminal to raw mode */ -+ terminal_raw(); -+ -+ /* fork new pseudo terminal */ -+ if (openpty(&t.fd, &slave, NULL, NULL, NULL) == -1) { -+ perror(ENSC_WRAPPERS_PREFIX "openpty()"); -+ exit(EXIT_FAILURE); -+ } -+ -+ /* setup SIGCHLD here, so we're sure to get the signal */ -+ signal(SIGCHLD, signal_handler); -+ -+ pid = Efork(); -+ -+ if (pid == 0) { -+ /* we don't need the master side of the terminal */ -+ close(t.fd); -+ -+ /* login_tty() stupid dietlibc doesn't have it */ -+ Esetsid(); -+ -+ Eioctl(slave, TIOCSCTTY, NULL); -+ -+ Edup2(slave, 0); -+ Edup2(slave, 1); -+ Edup2(slave, 2); -+ -+ if (slave > 2) -+ close(slave); -+ -+ Eexecvp(argv[0], argv); -+ } -+ -+ /* setup SIGINT and SIGWINCH here, as they can cause loops in the child */ -+ signal(SIGWINCH, signal_handler); -+ signal(SIGINT, signal_handler); -+ -+ /* save terminals pid */ -+ t.pid = pid; -+ -+ /* we want a redraw */ -+ atexit(terminal_atexit); -+ terminal_redraw(); -+ -+ /* main loop */ -+ for (;;) { -+ /* init file descriptors for select */ -+ FD_ZERO(&rfds); -+ FD_SET(STDIN_FILENO, &rfds); -+ FD_SET(t.fd, &rfds); -+ n = t.fd; -+ -+ /* wait for something to happen */ -+ while (select(n + 1, &rfds, NULL, NULL, NULL) == -1) { -+ if (errno == EINTR || errno == EAGAIN) -+ continue; -+ perror(ENSC_WRAPPERS_PREFIX "select()"); -+ exit(wrapper_exit_code); -+ } -+ -+ if (FD_ISSET(STDIN_FILENO, &rfds)) -+ user_activity(); -+ -+ if (FD_ISSET(t.fd, &rfds)) -+ terminal_activity(); -+ } -+ -+ /* never get here, signal handler exits */ -+} diff --git a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-vprocunhide-fix.patch b/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-vprocunhide-fix.patch deleted file mode 100644 index 5e0bf95..0000000 --- a/util-vserver/patches/0.30.210-r9/util-vserver-0.30.210-vprocunhide-fix.patch +++ /dev/null @@ -1,9 +0,0 @@ -Index: util-vserver-0.30.210/distrib/misc/vprocunhide-files -=================================================================== ---- util-vserver-0.30.210.orig/distrib/misc/vprocunhide-files -+++ util-vserver-0.30.210/distrib/misc/vprocunhide-files -@@ -28,3 +28,4 @@ - /proc/uptime - -/proc/cmdline - /proc/version -+/proc/mounts |