This commit was generated by cvs2svn to compensate for changes in r2562,
authorMarc Fiuczynski <mef@cs.princeton.edu>
Thu, 18 Jan 2007 16:31:58 +0000 (16:31 +0000)
committerMarc Fiuczynski <mef@cs.princeton.edu>
Thu, 18 Jan 2007 16:31:58 +0000 (16:31 +0000)
which included commits to RCS files with non-trunk default branches.

543 files changed:
COPYING
ChangeLog
INSTALL
NEWS
README
THANKS
compat-c99.h
compat.h
compile
config.h.in
contrib/Makefile-files
contrib/yum-2.6.0-chroot.patch [new file with mode: 0644]
contrib/yum-2.9.6-chroot.patch [new file with mode: 0644]
depcomp
distrib/centos4/pkgs/01 [new file with mode: 0644]
distrib/centos4/pkgs/02 [new file with mode: 0644]
distrib/centos4/pkgs/03 [new file with mode: 0644]
distrib/centos4/yum.repos.d/CentOS-Base.repo [new file with mode: 0644]
distrib/centos4/yum/yum.conf [new file with mode: 0644]
distrib/fc3/yum/yum.conf
distrib/fc4/yum/yum.conf
distrib/fc5/apt/rpmpriorities [new file with mode: 0644]
distrib/fc5/apt/sources.list [new file with mode: 0644]
distrib/fc5/pkgs/01 [new file with mode: 0644]
distrib/fc5/pkgs/02 [new file with mode: 0644]
distrib/fc5/pkgs/03 [new file with mode: 0644]
distrib/fc5/rpmlist.d/00.lst [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-core.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-development.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-extras-development.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-extras.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-legacy.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-updates-testing.repo [new file with mode: 0644]
distrib/fc5/yum.repos.d/fedora-updates.repo [new file with mode: 0644]
distrib/fc5/yum/yum.conf [new file with mode: 0644]
distrib/fc6/apt/rpmpriorities [new file with mode: 0644]
distrib/fc6/apt/sources.list [new file with mode: 0644]
distrib/fc6/pkgs/01 [new file with mode: 0644]
distrib/fc6/pkgs/02 [new file with mode: 0644]
distrib/fc6/pkgs/03 [new file with mode: 0644]
distrib/fc6/rpmlist.d/00.lst [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-core.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-development.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-extras-development.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-extras.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-legacy.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-updates-testing.repo [new file with mode: 0644]
distrib/fc6/yum.repos.d/fedora-updates.repo [new file with mode: 0644]
distrib/fc6/yum/yum.conf [new file with mode: 0644]
distrib/gentoo/init-vserver.sh [new file with mode: 0644]
distrib/gentoo/initpost [new file with mode: 0755]
distrib/gentoo/initpre [new file with mode: 0755]
distrib/misc/debootstrap.uri
distrib/misc/environment [new file with mode: 0644]
distrib/misc/vprocunhide-files
distrib/redhat/initpost
doc/Makefile-files
doc/configuration-wiki.xsl [new file with mode: 0644]
doc/configuration-xhtml.xsl
doc/configuration.html
doc/configuration.xml
doc/configuration.xsd
ensc_fmt/Makefile-files
ensc_fmt/fmt-32.c
ensc_fmt/fmt-64.c
ensc_fmt/fmt-internal.h
ensc_fmt/fmt-tai64n.c
ensc_fmt/fmt.h
ensc_fmt/fmt.hc
ensc_fmt/fmtx-32.c
ensc_fmt/fmtx-64.c
ensc_fmt/fmtx.hc
ensc_vector/Makefile-files
ensc_vector/list-add.c
ensc_vector/list-at.c
ensc_vector/list-free.c
ensc_vector/list-init.c
ensc_vector/list-insertinternal.c
ensc_vector/list-internal.h
ensc_vector/list-search.c
ensc_vector/list-searchselforg.c
ensc_vector/list.h
ensc_vector/list.hc
ensc_vector/testsuite/Makefile-files
ensc_vector/testsuite/test1.c
ensc_vector/testsuite/test2.c
ensc_vector/vector-clear.c
ensc_vector/vector-foreach.c
ensc_vector/vector-free.c
ensc_vector/vector-init.c
ensc_vector/vector-insert.c
ensc_vector/vector-internal.h
ensc_vector/vector-popback.c
ensc_vector/vector-pushback.c
ensc_vector/vector-resize.c
ensc_vector/vector-resizeinternal.hc
ensc_vector/vector-search.c
ensc_vector/vector-searchselforg.c
ensc_vector/vector-sort.c
ensc_vector/vector-unique.c
ensc_vector/vector-zeroend.c
ensc_vector/vector.h
ensc_vector/vector.hc
ensc_wrappers/Makefile-files
ensc_wrappers/wrappers-clone.hc
ensc_wrappers/wrappers-dirent.hc
ensc_wrappers/wrappers-fcntl.hc
ensc_wrappers/wrappers-io.hc
ensc_wrappers/wrappers-ioctl.hc
ensc_wrappers/wrappers-iosock.hc
ensc_wrappers/wrappers-mount.hc
ensc_wrappers/wrappers-pivot.hc
ensc_wrappers/wrappers-resource.hc
ensc_wrappers/wrappers-socket.hc
ensc_wrappers/wrappers-stat.hc [new file with mode: 0644]
ensc_wrappers/wrappers-stdlib.hc
ensc_wrappers/wrappers-string.hc
ensc_wrappers/wrappers-termios.hc [new file with mode: 0644]
ensc_wrappers/wrappers-unistd.hc
ensc_wrappers/wrappers-vserver.hc
ensc_wrappers/wrappers-wait.hc
ensc_wrappers/wrappers.h
ensc_wrappers/wrappers_handler.hc
install-sh
kernel/cacct_cmd.h [new file with mode: 0644]
kernel/context_cmd.h
kernel/cvirt_cmd.h
kernel/debug_cmd.h
kernel/dlimit_cmd.h
kernel/inode_cmd.h
kernel/legacy.h
kernel/limit_cmd.h
kernel/monitor.h [new file with mode: 0644]
kernel/network.h
kernel/network_cmd.h
kernel/sched_cmd.h
kernel/signal_cmd.h
kernel/space_cmd.h [new file with mode: 0644]
kernel/switch.h
lib/apidoc/Makefile-files
lib/bcaps-v13.c
lib/bcaps_list-v13.c
lib/capabilities.c
lib/ccaps-v13.c
lib/ccaps_list-v13.c
lib/cflags-compat.c
lib/cflags_list-compat.c
lib/cflags_list-v13.c
lib/checkconfig.c [new file with mode: 0644]
lib/checkversion.c
lib/comparevserverbyid.c [new file with mode: 0644]
lib/createskeleton-full.hc
lib/createskeleton-short.hc
lib/createskeleton.c
lib/ext2fs.h
lib/fmt.h
lib/getfilecontext.c
lib/getnbipv4root.c
lib/getprocentry-legacy.c
lib/getversion-internal.hc
lib/getversion.c
lib/getvserverappdir.c
lib/getvserverbyctx-compat.hc
lib/getvserverbyctx-v13.hc
lib/getvserverbyctx.c
lib/getvservercfgdir.c
lib/getvservercfgstyle.c
lib/getvserverctx.c
lib/getvservername.c
lib/getvservervdir.c
lib/getxidtype.c
lib/internal.h
lib/ioctl-getfilecontext.hc
lib/ioctl-getxflg.hc
lib/ioctl-setfilecontext.hc
lib/ioctl-setxflg.hc
lib/isdirectory.c
lib/isdynamicxid.c
lib/isfile.c
lib/islink.c
lib/issupported.c
lib/issupportedstring.c
lib/listparser.hc
lib/listparser_uint32.c
lib/listparser_uint64.c
lib/ncaps-net.c
lib/ncaps_list-net.c
lib/nflags-net.c
lib/nflags_list-net.c
lib/nidopt2nid.c [new file with mode: 0644]
lib/parselimit.c
lib/personalityflag.c
lib/personalityflag_list.c
lib/personalitytype.c
lib/safechroot-internal.hc
lib/syscall-alternative.h
lib/syscall-compat.hc
lib/syscall-fallback.h [new file with mode: 0644]
lib/syscall-legacy.hc
lib/syscall-syscall.c
lib/syscall-wrap.h
lib/syscall.c
lib/syscall_adddlimit-v13.hc
lib/syscall_adddlimit.c
lib/syscall_cleanupnamespace-v13.hc
lib/syscall_cleanupnamespace.c
lib/syscall_ctxcreate-v13.hc
lib/syscall_ctxcreate.c
lib/syscall_ctxmigrate-v13.hc
lib/syscall_ctxmigrate-v21.hc [new file with mode: 0644]
lib/syscall_ctxmigrate.c
lib/syscall_ctxstat-v21.hc [new file with mode: 0644]
lib/syscall_ctxstat.c [new file with mode: 0644]
lib/syscall_enternamespace-v13.hc
lib/syscall_enternamespace-v21.hc [new file with mode: 0644]
lib/syscall_enternamespace.c
lib/syscall_getccaps-v13.hc
lib/syscall_getccaps.c
lib/syscall_getcflags-v13.hc
lib/syscall_getcflags.c
lib/syscall_getdlimit-v13.hc
lib/syscall_getdlimit.c
lib/syscall_getiattr-fscompat.hc
lib/syscall_getiattr-v13.hc
lib/syscall_getiattr.c
lib/syscall_getncaps-net.hc
lib/syscall_getncaps.c
lib/syscall_getnflags-net.hc
lib/syscall_getnflags.c
lib/syscall_getnxinfo-net.hc
lib/syscall_getnxinfo.c
lib/syscall_getspacemask-v21.hc [new file with mode: 0644]
lib/syscall_getspacemask.c [new file with mode: 0644]
lib/syscall_gettasknid-net.hc
lib/syscall_gettasknid.c
lib/syscall_gettaskxid-oldproc.hc
lib/syscall_gettaskxid-v13.hc
lib/syscall_gettaskxid.c
lib/syscall_getvci-v21.hc [new file with mode: 0644]
lib/syscall_getvci.c [new file with mode: 0644]
lib/syscall_getvhiname-olduts.hc
lib/syscall_getvhiname-v13.hc
lib/syscall_getvhiname.c
lib/syscall_getvxinfo-oldproc.hc
lib/syscall_getvxinfo-v13.hc
lib/syscall_getvxinfo.c
lib/syscall_kill-v11.hc
lib/syscall_kill.c
lib/syscall_netadd-net.hc
lib/syscall_netadd.c
lib/syscall_netcreate-net.hc
lib/syscall_netcreate.c
lib/syscall_netmigrate-net.hc
lib/syscall_netmigrate.c
lib/syscall_netremove-net.hc
lib/syscall_netremove.c
lib/syscall_remdlimit-v13.hc
lib/syscall_remdlimit.c
lib/syscall_resetminmax-v21.hc [new file with mode: 0644]
lib/syscall_resetminmax.c [new file with mode: 0644]
lib/syscall_rlimit-v11.hc
lib/syscall_rlimit.c
lib/syscall_rlimitstat-v21.hc [new file with mode: 0644]
lib/syscall_rlimitstat.c [new file with mode: 0644]
lib/syscall_setccaps-v13.hc
lib/syscall_setccaps-v21.hc [new file with mode: 0644]
lib/syscall_setccaps.c
lib/syscall_setcflags-v13.hc
lib/syscall_setcflags.c
lib/syscall_setdlimit-v13.hc
lib/syscall_setdlimit.c
lib/syscall_setiattr-fscompat.hc
lib/syscall_setiattr-v13.hc
lib/syscall_setiattr.c
lib/syscall_setnamespace-v13.hc
lib/syscall_setnamespace-v21.hc [new file with mode: 0644]
lib/syscall_setnamespace.c
lib/syscall_setncaps-net.hc
lib/syscall_setncaps.c
lib/syscall_setnflags-net.hc
lib/syscall_setnflags.c
lib/syscall_setsched-v13obs.hc [new file with mode: 0644]
lib/syscall_setsched-v21.hc [new file with mode: 0644]
lib/syscall_setvhiname-olduts.hc
lib/syscall_setvhiname-v13.hc
lib/syscall_setvhiname.c
lib/syscall_virtstat-v21.hc [new file with mode: 0644]
lib/syscall_virtstat.c [new file with mode: 0644]
lib/syscall_waitexit-v13.hc
lib/syscall_waitexit.c
lib/testsuite/Makefile-files
lib/testsuite/cflags.c
lib/testsuite/fmt.c
lib/testsuite/parselimit.c
lib/testsuite/personality.c
lib/utils-legacy.h
lib/val2text-t2v-uint32.c
lib/val2text-t2v-uint64.c
lib/val2text-v2t-uint32.c
lib/val2text-v2t-uint64.c
lib/val2text.hc
lib/xidopt2xid.c
lib_internal/Makefile-files
lib_internal/command-appendparameter.c
lib_internal/command-exec.c
lib_internal/command-free.c
lib_internal/command-init.c
lib_internal/command-reset.c
lib_internal/command-setparams.c
lib_internal/command-wait.c
lib_internal/command.h
lib_internal/coreassert.h
lib_internal/errinfo-writeerrno.c
lib_internal/errinfo.h
lib_internal/filecfg-iteratemultiline.c
lib_internal/filecfg-readentryflag.c
lib_internal/filecfg-readentrystr.c
lib_internal/filecfg.h
lib_internal/jail.h
lib_internal/jailintotempdir.c
lib_internal/matchlist-appendfiles.c
lib_internal/matchlist-compare.c
lib_internal/matchlist-destroy.c
lib_internal/matchlist-init.c
lib_internal/matchlist-initbyvserver.c
lib_internal/matchlist-initmanually.c
lib_internal/matchlist-initrefserverlist.c
lib_internal/matchlist-printid.c
lib_internal/matchlist.h
lib_internal/matchvserverinfo-free.c
lib_internal/matchvserverinfo-init.c
lib_internal/pathinfo-append.c
lib_internal/pathinfo-test.c
lib_internal/pathinfo.h
lib_internal/string.h
lib_internal/string.hc
lib_internal/switchtowatchxid.c
lib_internal/sys_clone.h
lib_internal/sys_personality.h
lib_internal/testsuite/Makefile-files
lib_internal/testsuite/command.c
lib_internal/testsuite/copy-check
lib_internal/testsuite/copy.c
lib_internal/testsuite/filecfg-ml.c
lib_internal/testsuite/isnumber.c [new file with mode: 0644]
lib_internal/testsuite/sigbus.c
lib_internal/unify-copy.c
lib_internal/unify-deunify.c
lib_internal/unify-isiunlinkable.c
lib_internal/unify-settime.c
lib_internal/unify-unify.c
lib_internal/unify.h
lib_internal/util-canonify.c
lib_internal/util-cast.h
lib_internal/util-commonstrings.h
lib_internal/util-debug.h
lib_internal/util-declarecmd.h
lib_internal/util-dimof.h
lib_internal/util-dotfile.h
lib_internal/util-exitlikeprocess.c
lib_internal/util-exitlikeprocess.h
lib_internal/util-io.h
lib_internal/util-isnumber.c
lib_internal/util-isnumber.hc [new file with mode: 0644]
lib_internal/util-isnumberunsigned.c [new file with mode: 0644]
lib_internal/util-lockfile.c
lib_internal/util-lockfile.h
lib_internal/util-mem.h
lib_internal/util-perror.h
lib_internal/util-safechdir.c
lib_internal/util-safechdir.h
lib_internal/util-unixsock.h
lib_internal/util.h
ltmain.sh
m4/changelog.am
m4/ensc_cflags.m4
m4/ensc_changelog.m4
m4/ensc_cxxcompiler.m4
m4/ensc_dietlibc.m4
m4/ensc_dietlibc_compat.m4
m4/ensc_e2fscheck.m4
m4/ensc_initrddir.m4
m4/ensc_pathprog.m4
m4/ensc_personality.m4
m4/ensc_release.m4
m4/ensc_syscall.m4
m4/ensc_syscallnr.m4
m4/ensc_uv_vrootdir.m4
m4/gpgsig.am
m4/install-notify.am
m4/libsel.am
m4/pkgconfig.am
m4/validate.am
man/Makefile-files
man/chcontext.8
man/vserver-copy.8
missing
pathconfig.h.pathsubst
scripts/chbind [new file with mode: 0755]
scripts/chcontext
scripts/functions
scripts/legacy/vserver-copy
scripts/magic.mime [new file with mode: 0644]
scripts/pkgmgmt
scripts/start-vservers
scripts/vapt-get
scripts/vapt-get-worker
scripts/vdispatch-conf [new file with mode: 0755]
scripts/vemerge [new file with mode: 0755]
scripts/vesync [new file with mode: 0755]
scripts/vpkg
scripts/vprocunhide
scripts/vrpm
scripts/vrpm-preload
scripts/vrpm-worker
scripts/vserver-build
scripts/vserver-build.apt-rpm
scripts/vserver-build.debootstrap
scripts/vserver-build.fai [new file with mode: 0644]
scripts/vserver-build.functions
scripts/vserver-build.functions.apt
scripts/vserver-build.functions.pkgmgmt
scripts/vserver-build.functions.rpm
scripts/vserver-build.functions.yum
scripts/vserver-build.rpm
scripts/vserver-build.rsync [new file with mode: 0644]
scripts/vserver-build.skeleton
scripts/vserver-build.template [new file with mode: 0644]
scripts/vserver-build.yum
scripts/vserver-setup.functions
scripts/vserver-wrapper
scripts/vserver.delete [new file with mode: 0644]
scripts/vserver.functions
scripts/vserver.start
scripts/vserver.stop
scripts/vserver.suexec
scripts/vshelper
scripts/vsomething
scripts/vsysvwrapper
scripts/vupdateworld [new file with mode: 0755]
scripts/vyum
scripts/vyum-worker
src/capability-compat.h
src/capchroot.c
src/chain-echo.c
src/chbind.c
src/check-unixfile.c
src/chroot-sh.c
src/chxid.c
src/compat-pivot_root.h
src/context-sync.hc
src/exec-cd.c
src/exec-ulimit.c
src/fakerunlevel.c
src/filetime.c
src/fstool.c
src/fstool.h
src/ifspec.c
src/keep-ctx-alive.c
src/listdevip.c
src/lockfile.c
src/lsxid.c
src/mask2prefix.c
src/naddress.c [new file with mode: 0644]
src/nattribute.c [new file with mode: 0644]
src/ncontext.c [new file with mode: 0644]
src/parserpmdump.c
src/readlink.c
src/rebootmgr.c
src/reducecap.c
src/rpm-fake-resolver.c
src/rpm-fake.c
src/save_ctxinfo.c
src/secure-mount.c
src/setattr.c
src/showperm.c
src/sigexec.c
src/stack-start.h
src/testsuite/Makefile-files
src/testsuite/chbind-test.c
src/testsuite/chcontext-test.c
src/testsuite/hashcalc-plain.c [new file with mode: 0644]
src/testsuite/hashcalc-plain.sh [new file with mode: 0755]
src/testsuite/hashcalc.c [new file with mode: 0644]
src/testsuite/hashcalc.sh [new file with mode: 0755]
src/testsuite/rpm-fake-test.c
src/testsuite/vunify-functest.c
src/testsuite/vwait-test.sh [new file with mode: 0755]
src/util.h
src/vattribute.c
src/vcontext.c
src/vcopy-init.hc
src/vcopy.c
src/vhashify-init.hc
src/vhashify.c
src/vhashify.h
src/vkill.c
src/vlogin.c [new file with mode: 0644]
src/vnamespace.c
src/vps.c
src/vreboot.c
src/vrsetup.c
src/vsched.c
src/vserver-info.c
src/vserver-stat.c
src/vserver-visitdir.hc
src/vshelper-sync.c
src/vuname.c
src/vunify-init.hc
src/vunify.c
src/vunify.h
src/vwait.c
tests/Makefile-files
tests/escaperoot.c
tests/forkbomb.c
tests/getctx.c
tests/getinitpid.c
tests/testipc.c
tests/testlimit.c
tests/testopenf.c
tests/vserver-info.c
vserver-start/Makefile-files
vserver-start/configuration-init.c
vserver-start/configuration.c
vserver-start/configuration.h
vserver-start/defaulttty.c
vserver-start/interface-add.c
vserver-start/interface-free.hc
vserver-start/interface-init.hc
vserver-start/interface-print.c
vserver-start/interface-read.c
vserver-start/interface-remove.c
vserver-start/interface.c
vserver-start/interface.h
vserver-start/main.c
vserver-start/mount.c
vserver-start/mount.h
vserver-start/scriptlets.c
vserver-start/undo.c
vserver-start/undo.h
vserver-start/vserver-start.h
vserver-start/vshelper.c
vserver-start/vshelper.h

diff --git a/COPYING b/COPYING
index d60c31a..623b625 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -2,7 +2,7 @@
                       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 
     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
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
index edc1682..83e247d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2005-07-15 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-09 16:13  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * NEWS, configure.ac:
+       * NEWS, THANKS, configure.ac: Version 0.30.212.
 
-       version 0.30.208
+2006-12-09 16:12  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2005-07-15 21:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib_internal/sys_clone.h, src/rpm-fake.c, src/vdlimit.c:
+         vserver.h defines CLONE_NEW*.
+         Remove unused include of sys_clone.h from vdlimit.
 
-       * configure.ac, lib/personalityflag.c, lib/personalitytype.c,
-         m4/ensc_personality.m4:
+2006-12-09 16:02  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       check whether enums from <linux/personality.h> are available before using
-       them (https://savannah.nongnu.org/bugs/?func=detailitem&item_id=12921)
+       * scripts/functions: Make getFileArray handle multiple files as
+         well.
 
-2005-07-15 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-08 15:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * util-vserver.spec.in:
+       * lib/syscall_ctxmigrate-v21.hc: Only enter the namespaces for
+         static and dynamic xids (i.e. not the spectator).
 
-       - require the -lib subpackage by -devel
-       - copy GPG keys from /etc/pki/rpm-gpg/
+2006-12-08 13:28  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2005-07-15 21:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/functions, scripts/vserver, scripts/vserver.functions:
+         Rather than keeping an unnecessary mount around just because it
+         was the cwd, cd to the root at the beginning while storing the
+         original cwd (so it can be used later).
 
-       * src/testsuite/rpm-fake-test.sh:
+2006-12-08 13:25  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       fixed paths so that it works again...
+       * doc/configuration-xhtml.xsl: Change the default stylesheet.
 
-2005-07-15 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-08 13:25  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * sysv/vprocunhide:
+       * ensc_wrappers/wrappers-vserver.hc: Add missing hunks from last
+         commit.
 
-       do not run when IATTR feature is not supported
+2006-12-08 13:24  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2005-07-15 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/Makefile-files, lib/checkconfig.c, lib/getxidtype.c,
+         lib/internal.h, lib/isdynamicxid.c,
+         lib/syscall_ctxmigrate-v21.hc, lib/syscall_ctxmigrate.c,
+         lib/syscall_enternamespace-v13.hc,
+         lib/syscall_enternamespace-v21.hc, lib/syscall_enternamespace.c,
+         lib/syscall_getspacemask-v21.hc, lib/syscall_getspacemask.c,
+         lib/syscall_getvci-v21.hc, lib/syscall_getvci.c,
+         lib/syscall_setnamespace-v13.hc, lib/syscall_setnamespace-v21.hc,
+         lib/syscall_setnamespace.c, lib/virtual.h,
+         lib/vserver-internal.h, lib/vserver.h, src/vcontext.c,
+         src/vnamespace.c: Work better on 2.6.19.
+         This includes adding a new kind of API that depends on the
+         VCI-bits, to detect the presence of spaces.
+         vnamespace now only enters the filesystem related namespaces
+         (CLONE_NEWNS|CLONE_FS).
+         vc_ctx_migrate_spaces enters the others.
+         Fix dynamic context detection by using the VCI-bits.
 
-       * scripts/: vserver.start, vserver.suexec:
+2006-12-08 13:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       readded the limit-ulimits-per-vserver stuff due popular request
-       (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=12840)
+       * src/ncontext.c: Remove unused argument.
 
-2005-07-15 20:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-12-08 13:05  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/getinsecurebcaps.c:
+       * kernel/cacct.h, kernel/cacct_cmd.h, kernel/cacct_def.h,
+         kernel/cacct_int.h, kernel/context.h, kernel/context_cmd.h,
+         kernel/cvirt.h, kernel/cvirt_cmd.h, kernel/cvirt_def.h,
+         kernel/debug.h, kernel/debug_cmd.h, kernel/dlimit.h,
+         kernel/dlimit_cmd.h, kernel/global.h, kernel/history.h,
+         kernel/inode.h, kernel/inode_cmd.h, kernel/legacy.h,
+         kernel/limit.h, kernel/limit_cmd.h, kernel/limit_def.h,
+         kernel/limit_int.h, kernel/namespace.h, kernel/namespace_cmd.h,
+         kernel/network.h, kernel/network_cmd.h, kernel/sched.h,
+         kernel/sched_cmd.h, kernel/sched_def.h, kernel/signal.h,
+         kernel/signal_cmd.h, kernel/space_cmd.h, kernel/switch.h,
+         kernel/tag.h: Update kernel headers to 2.6.19-vs2.1.x-t7.
+         Use the headers from make headers_install to cut down on
+         unnecessary files/content.
 
-       - adjusted insecure caps for the added CAP_AUDIT* and removed
-         CAP_QUOTACTL stuff
-       - assume every unknown capability as insecure
-
-2005-07-15 20:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/testsuite/.cvsignore:
-
-       added 'personality'
-
-2005-07-15 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall_netadd-net.hc, syscall_netremove-net.hc:
-
-       changed code so that it *compiles* with current kernel headers
-
-2005-07-15 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall_getiattr-fscompat.hc, syscall_setiattr-fscompat.hc:
-
-       Changed the barrier-code so that it sets both the 't' ext2-flag and
-       chmod-0 permissions. This is required to work with 1.2.10 patch;
-       formerly the chmod-0 sufficed. [reported by Bjoern Steinbrink,
-       http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13170]
-
-2005-07-15 18:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/capabilities.c:
-
-       use a static '29' for QUOTACTL capability as  VC_CAP_QUOTACTL was removed
-
-2005-07-15 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/ccaps-v13.c:
-
-       added VC_VXC_{SYSLOG,BINARY_MOUNT,QUOTA_CTL}
-       added/moved some aliases
-
-2005-07-15 18:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/bcaps-v13.c:
-
-       removed VC_CAP_QUOTACTL
-       added VC_CAP_AUDIT*
-
-2005-07-15 18:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       removed VC_CAP_QUOTACTL
-       added VC_CAP_AUDIT*
-       added VC_VXC_{SYSLOG,BINARY_MOUNT,QUOTA_CTL}
-
-2005-07-15 18:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/: Makefile-files, yum-2.3.4-chroot.patch:
-
-       added yum-2.3.4-chroot patch
-
-2005-07-15 18:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/: network.h, network_cmd.h, switch.h, xid.h:
-
-       updated to patch-2.6.12.2-vs2.0-rc7
-
-2005-07-05 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions:
-
-       check whether context is already active before starting the build
-       (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=12849)
-
-2005-07-05 00:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-info.c:
-
-       allow to pass a numeric xid to 'vserver-info ... RUNNING'
-
-2005-07-05 00:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/: Makefile-files, util-isnumber.c, util.h:
-
-       isNumber(): added
-
-2005-07-04 20:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.debootstrap:
-
-       give out status message before downloading debootstrap
-       (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13472)
-
-2005-07-04 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/syscall-alternative.h:
-
-       updated to http://vserver.13thfloor.at/Experimental/SYSCALL/syscall.h
-       from 2005-05-07
-
-2005-07-04 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/misc/debootstrap.uri:
-
-       oops... set the wrong value
-
-2005-07-04 00:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/misc/debootstrap.uri:
-
-       updated
-
-2005-07-04 00:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       register fc4 as rh-style distribution
-
-2005-07-03 22:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       check for 'nohup'
-
-2005-07-03 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst:
-
-       removed chroot_* + C++ programs
-       added chroot_sh + vwait
-
-2005-07-03 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am, lib/virtual.h:
-
-       updated used kernel headers to 2.6.12.2-vs2.0-rc5
-
-2005-07-03 19:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall_getvhiname-v13.hc, syscall_setvhiname-v13.hc:
-
-       - s!VCMD_vx_.et_vhi_name!VCMD_.et_vhi_name!
-       - added workaround for older kernels not having the naming above
-
-2005-07-03 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vshelper:
-
-       accept 'async' method
-
-2005-07-03 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.start:
-
-       pipe 'popd' output to /dev/null
-
-2005-07-03 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       initSync(): fixed parameter naming
-       initSync(): set 'async' method when 'vwait' is available
-       _waitForVWait(): read pipe after 'wait' returned
-
-2005-07-03 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build:
-
-       do not set OPTION_KEEP
-
-2005-07-03 19:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added vwait
-
-2005-07-03 19:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/pkgmgmt:
-
-       - cleanups
-       - unset %_dbpath at 'internalize' operation
-
-2005-07-03 19:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       vshelper.initSync(): fixed parameter naming
-
-2005-07-03 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/chroot-sh.c:
-
-       implemented 'testfile' subcommand
-
-2005-07-03 16:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/: Makefile-files, yum-2.3.3-chroot.patch:
-
-       added yum-2.3.3-chroot.patch
-
-2005-07-03 16:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       do not quote $_VSHELPER in help message (reported by Roman Barczynski,
-       https://savannah.nongnu.org/bugs/?func=detailitem&item_id=13162)
-
-2005-07-03 16:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       mentioned the working directory for the scripts
-
-2005-07-03 16:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/: context.h, context_cmd.h, cvirt_cmd.h, debug.h,
-         namespace.h, namespace_cmd.h, network.h, network_cmd.h, switch.h:
-
-       updated to 2.6.12.2-vs2.0-rc5
-
-2005-07-03 15:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.start:
-
-       execute the prepre script in the configuration directory (*not* the
-       vdir directory); this should not cause legacy problems as formerly the
-       directory was not changed overall
-
-2005-07-03 15:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       check whether filesystem is mounted readonly; if so, execute
-       $_SECURE_MOUNT with the '-n' argument
-
-2005-07-03 15:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.apt-rpm, vserver-build.debootstrap,
-         vserver-build.rpm:
-
-       execute base.setSuccess() at the end
-
-2005-07-03 15:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake-resolver.c:
-
-       implemented better error-handling in the read() and write() functions
-
-2005-07-03 14:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_wrappers/: wrappers-io.hc, wrappers-iosock.hc,
-         wrappers-unistd.hc:
-
-       store result of read*(2) and write*(2) fucntions into signed variables;
-       error handling is more cleaner in this way
-
-2005-07-03 14:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-stat.c:
-
-       - cleanups
-       - multiply RSS value with PAGESIZE
-         (https://savannah.nongnu.org/bugs/?func=detailitem&item_id=13184)
-       - prepare the '-O' option: calculate vserver names earlier and use
-         some more helper functions
-
-2005-07-03 14:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       - doPwStringRequest(): fixed x86_64 issue; rpm-fake.so transmitted a
-         'size_t' value, but rpm-fake-resolver expected an uint32_t
-       - minor cleanups
-
-2005-07-03 11:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/: Makefile-files, vector-foreach.c, vector.h,
-         vector.hc:
-
-       added Vector_foreach*() functions
-
-2005-07-02 11:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: Makefile-files, vbuild.cc[DEAD], vcheck.cc[DEAD],
-         vfiles.cc[DEAD], vserver.cc[DEAD], vserver.hh[DEAD],
-         vutil.cc[DEAD], vutil.h[DEAD], vutil.p[DEAD]:
-
-       removed the C++ tools; they do not work with recent configuration and
-       are adding huge dependencies
-
-2005-06-30 08:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.stop:
-
-       use vwait infrastructure
-
-2005-06-30 08:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.functions.pkgmgmt, vserver.functions:
-
-       use CHROOT_SH instead of CHROOT_*
-       use vwait
-
-2005-06-30 08:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions:
-
-       remove generated vserver when build fails and '--keep' was not specified
-
-2005-06-30 08:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.apt-rpm, vserver-build.debootstrap,
-         vserver-build.rpm, vserver-build.skeleton, vserver-build.yum:
-
-       use 'base.init' instead of 'base.initVariables'
-
-2005-06-30 08:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build:
-
-       added '--keep' option
-
-2005-06-30 08:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: X, util-vserver-vars.pathsubst:
-
-       removed CHROOT_*
-       added CHROOT_SH
-
-2005-06-30 08:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/pkgmgmt:
-
-       use CHROOT_SH instead of CHROOT_*
-
-2005-06-30 08:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/virtual.h:
-
-       include signal_cmd.h instead of signal.h
-
-2005-06-30 08:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       added %dist tag
-       buildrequire 'which' and 'diffutils'
-       require 'apt' on i386 only
-
-2005-06-30 08:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc4/: apt/rpmpriorities, apt/sources.list, yum/yum.conf,
-         yum.repos.d/fedora-devel.repo,
-         yum.repos.d/fedora-updates-testing.repo,
-         yum.repos.d/fedora-updates.repo, yum.repos.d/fedora.repo,
-         pkgs/01, pkgs/02, pkgs/03, rpmlist.d/00.lst:
-
-       initial checkin
-
-2005-06-30 08:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpost:
-
-       use CHROOT_SH instead of CHROOT_*
-
-2005-06-30 07:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: .cvsignore, Makefile-files, chroot-cat.c[DEAD],
-         chroot-rm.c[DEAD], chroot-sh.c:
-
-       replaced all the small chroot-* programs with a single 'chroot-sh'
-       program
-
-2005-05-19 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added @NOHUP@
-
-2005-05-19 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/pkgmgmt:
-
-       use new chroot-cat CLI
-
-2005-05-19 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/: context.h, cvirt.h, dlimit.h, dlimit_cmd.h, inode_cmd.h,
-         legacy.h, signal_cmd.h, xid.h, signal.h[DEAD]:
-
-       updated
-
-2005-05-19 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: issupported.c, issupportedstring.c, vserver.h:
-
-       vc_isSupported() et.al: added VWAIT feature
-
-2005-05-19 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_syscall.m4:
-
-       s!enable_val!enableval!
-
-2005-05-19 20:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-stat.c:
-
-       fixed calculation of hours (%24 instead of %60); reported in
-       http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13048 by
-       Roman Barczynski
-
-2005-05-19 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/chroot-cat.c:
-
-       added '-i', '-o' and '-a' options to cat or override a file, or to
-       append something
-
-2005-05-19 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpost:
-
-       use safe chroot-cat commands
-
-2005-05-05 21:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc.m4:
-
-       - give out a more correct helpstring for the '--enable/disable-dietlibc'
-         option
-       - use AS_HELP_STRING instead of AC_HELP_STRING
-
-2005-05-05 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       - removed call to ENSC_FPIC_SYSCALL
-       - enhanced dietlibc version check to the 64 bit version of hppa
-
-2005-05-05 11:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/.cvsignore:
-
-       added vwait
-
-2005-05-05 11:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vwait.c:
-
-       initial checkin
-
-2005-05-05 11:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vshelper-sync.c:
-
-       use '__linux__' instead of '__linux' (reported by Ola Lundqvist)
-
-2005-05-05 11:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/exec-cd.c:
-
-       minor cosmetical cleanup
-
-2005-05-05 11:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/chroot-cat.c:
-
-       - added support for '--help' and '--version'
-       - added '-a' option to append information instead of truncating the
-         file
-
-2005-05-05 11:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/Makefile-files:
-
-       - 'chroot-cat' supports now the '--help' and '--version' options so
-         removed it from AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
-       - added vwait
-
-2005-05-05 11:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/install-notify.am:
-
-       s!^# !## !
-
-2005-05-05 11:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: Makefile-files, syscall_waitexit-v13.hc,
-         syscall_waitexit.c, vserver.h:
-
-       vc_wait_exit(): implemented support for this syscall
-
-2005-05-02 23:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/compat-pivot_root.h:
-
-       use <syscall-wrap.h>
-
-2005-05-02 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_syscall.m4:
-
-       minor cosmetical cleanups
-
-2005-05-02 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_fpicsyscall.m4[DEAD]:
-
-       obsoleted
-
-2005-05-02 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_fpicsyscall.m4:
-
-       use ENSC_SYSCALL_ALTERNATIVE
-
-2005-05-02 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver-internal.h:
-
-       cleaned up '#include <*syscall.h>' stuff
-
-2005-05-02 23:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall-legacy.hc, syscall-wrap.h:
-
-       include <syscall.h> also
-
-2005-05-02 23:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration-xhtml.xsl:
-
-       use class 'directoryname' instead of 'directory' for '<directory/>'
-       markup
-
-2005-05-02 23:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am, distrib/Makefile.am, m4/install-notify.am:
-
-       give out additional information about the 'make install' process
-
-2005-04-28 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.207
-
-2005-04-28 20:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       adjusted dietlibc requirements
-
-2005-04-28 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vcontext.c:
-
-       allow to override the execution domain (personality); added
-       '--personality-type' and '--personality-flags' options
-
-2005-04-28 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake-resolver.c:
-
-       added a TEMP_FAILURE_RETRY around a read(2)
-
-2005-04-28 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver.start, vserver.suexec:
-
-       added support for a rescue mode
-
-2005-04-28 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       * _generatePersonalityOptions(): added and use it
-       * added support for a rescue mode
-
-2005-04-28 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.pkgmgmt:
-
-       YUM_RELEASEPKGS: added
-
-2005-04-28 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver:
-
-       fixed docu for 'stop' and 'start'
-
-2005-04-28 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/pkgmgmt:
-
-       * verifyInternalPackages(): added
-       * added some sanity checks for a sany environment when internalizing
-         the package management
-
-2005-04-28 20:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       * isRegularFile():  fixed evaluation of params
-       * hasSubstring():   added
-       * getAllVservers(): fixed typo
-
-2005-04-28 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/sys_clone.h:
-
-       cleanups; do not include <sys/syscall.h>
-
-2005-04-28 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/: Makefile-files, sys_personality.h:
-
-       added sys_personality.h
-
-2005-04-28 19:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-copy[DEAD], legacy/vserver-copy:
-
-       moved to legacy
-
-2005-04-28 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/testsuite/: Makefile-files, personality.c:
-
-       added testcases for the vc_*personality*() functions
-
-2005-04-28 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       added prototypes for vc_*personality* support
-
-2005-04-28 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/virtual.h:
-
-       updated to new kernel headers
-
-2005-04-28 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/cflags_list-v13.c:
-
-       do not include <string.h> anymore
-
-2005-04-28 19:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/internal.h:
-
-       utilvserver_listparser_uint*(): removed the 'nonnull' attribute for the 'mask' param
-
-2005-04-28 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: Makefile-files, personalityflag.c, personalityflag_list.c,
-         personalitytype.c:
-
-       added personality* files
-
-2005-04-28 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       * added some markup
-       * documented 'personality'
-
-2005-04-28 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/: configuration-xhtml.xsl, configuration.dtd:
-
-       added support for <directory> and <filename> markup
-
-2005-04-28 19:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/yum/yum.conf:
-
-       s!redhat-release!fedora-release!
-
-2005-04-28 19:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/pkgs/02:
-
-       removed 'coreutils'
-
-2005-04-28 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/rpmlist.d/00.lst:
-
-       added some more packages
-
-2005-04-28 19:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/: fc1/apt/rpmpriorities, fc2/apt/rpmpriorities,
-         fc3/apt/rpmpriorities, rh9/apt/rpmpriorities:
-
-       added *-release packages
-
-2005-04-28 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst, scripts/Makefile-files:
-
-       moved vserver-copy to legacy
-
-2005-04-28 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       added new kernel headers
-
-2005-04-28 13:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/: context.h, context_cmd.h, cvirt.h, cvirt_cmd.h,
-         cvirt_def.h, debug.h, debug_cmd.h, dlimit.h, dlimit_cmd.h,
-         inode.h, inode_cmd.h, legacy.h, limit.h, limit_cmd.h,
-         limit_def.h, namespace.h, network.h, network_cmd.h, sched.h,
-         sched_cmd.h, sched_def.h, switch.h, xid.h:
-
-       updated to headers from patch-2.6.11.7-vs2.0-pre2
-
-2005-04-24 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-stat.c:
-
-       showContexts(): added 'const' qualifier
-
-2005-04-24 22:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: start-vservers, vsomething:
-
-       use the new getAllVservers() functionality to specify special kinds of
-       vservers
-
-2005-04-24 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       * isRegularFile(): allow to override the '-f' classifier
-       * getAllVservers(): added several types of vservers (marked, unmarked,
-         running...)
-       * getAllVserversByArg()" added
-
-2005-04-24 22:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc_compat.m4:
-
-       * ENSC_DIETLIBC_NEED_COMPAT: use the 'syscall-wrap.h' header and the
-         results from ENSC_SYSCALL_ALTERNATIVE
-
-2005-04-24 22:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_syscall.m4:
-
-       * ENSC_SYSCALL_ALTERNATIVE: added
-       * ENSC_SYSCALL: use the 'syscall-wrap.h' header and the results from
-         ENSC_SYSCALL_ALTERNATIVE
-
-2005-04-24 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver-internal.h, lib_internal/sys_clone.h:
-
-       include "syscall-wrap.h"
-
-2005-04-24 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: ncaps-net.c, nflags-net.c:
-
-       VALUES: added an empty field to make it compile with gcc4
-
-2005-04-24 22:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: ncaps_list-net.c, nflags_list-net.c:
-
-       made it compatible to the new utilvserver_listparser_uint*() API and
-       added wrappers with a third 'bool *' arg
-
-2005-04-24 22:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/listparser.hc:
-
-       * parser function has now to set a 'bool *' arg to signal errors
-       * when 'mask' argument is null, the special modifiers like '~', '!' or
-         'any' are not allowed
-
-2005-04-24 22:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/internal.h:
-
-       utilvserver_listparser_uint*(): added a third 'bool *' arg for the
-       parser function so that errors can be better propagated
-
-2005-04-24 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: bcaps_list-v13.c, ccaps_list-v13.c, cflags_list-v13.c:
-
-       made it compatible to the new utilvserver_listparser_uint*() API and
-       added wrappers with a third 'bool *' arg
-
-2005-04-24 22:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: Makefile-files, syscall-alternative.h, syscall-wrap.h:
-
-       added syscall-alternative.h and syscall-wrap.h
-
-2005-04-24 22:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * update-doc:
-
-       exclude some static files
-
-2005-04-24 22:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * build-all:
-
-       remove config.cache when CLEAN is set
-       disabled gcc33 build
-
-2005-04-24 13:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/: configuration-xhtml.xsl, configuration.dtd,
-         configuration.xml:
-
-       added new markup
-       added new CSS from Nicolas Costes
-
-2005-04-16 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       cleanups
-       added '--disable-extra-optimizations' option
-
-2005-04-16 23:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.functions, vserver-build.functions.apt,
-         vserver-build.functions.rpm, vserver-build.functions.yum,
-         vserver.functions:
-
-       use the common isRegularFile() method to filter out backup-files
-
-2005-04-16 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       isRegularFile(): added
-
-2005-04-16 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       cleanups
-       added changelog entry for 0.30.206
-
-2005-04-13 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.206
-
-2005-04-12 23:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-info.c:
-
-       implemented VERIFYPROC method
-
-2005-04-12 23:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       added verify-proc sanity check
-
-2005-04-12 23:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       killContext(): commented out the more correct
-       (but not working) kill-sequence
-
-2005-04-12 23:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       ship the yum patches
-
-2005-04-12 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       added '--no-wrap -S' to the CVS2CL_AMFLAGS
-
-2005-04-12 21:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       adjusted min-dietlibc requirements
-
-2005-04-12 21:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc.m4:
-
-       ENSC_ENABLE_DIETLIBC(): allow 'min_ver' to be a shell variable
-
-2005-04-12 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       vshelper.isDebug(): fixed logic
-
-2005-04-10 14:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       send the signals for endgrent() and endpwent()
-
-2005-04-10 14:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/: Makefile-files, yum-2.2.1-chroot.patch,
-         yum-2.3.2-chroot.patch:
-
-       added patches for yum
-
-2005-04-10 14:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       include m4/libsel.am
-
-2005-04-10 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/context-sync.hc:
-
-       ignore errors during setsid(2) execution (required for vs1.9.5.12+)
-
-2005-04-10 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vshelper:
-
-       * kill vserver processes explicitly with 'killContext'; userspace
-         reboot helper may assume that 'reboot(2)' never returns...
-       * added 'async' method
-
-2005-04-10 02:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.stop:
-
-       implicate '--sync' option; it is not possible to stop asynchronously
-       send SIGINT to pid 1 instead of trying to determine initpid
-
-2005-04-10 02:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       use 'killContext()' instead of  invoking 'vkill' manually
-       set an initial runlevel for 'minit' style also
-       set 'async' vshelper method for non-sync mode
-
-2005-04-10 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vprocunhide:
-
-       fixed missing quoting of '~'; this may cause very slow booting when
-       NIS/LDAP servers are local vservers as bash tries to expand this to a
-       homedir...
-
-2005-04-10 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       spawn(), killContext(): added
-
-2005-04-10 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/libsel.am:
-
-       initial checkin
-
-2005-04-10 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc.m4:
-
-       use a more modern version which accepts 'DIET' and 'DIETFLAGS' as
-       global configure variables
-
-2005-04-10 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_cxxcompiler.m4:
-
-       fixed typo
-
-2005-04-10 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       defined ENSC_USE_DIETLIBC + ENSC_USE_GLIBC
-
-2005-04-10 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       removed 'DIET' and 'DIETFLAGS' variables; they are set by configure now
-
-2005-04-08 21:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vyum-worker:
-
-       added better test for patched yum
-
-2005-04-08 21:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-info.c:
-
-       fixed typo
-
-2005-04-08 21:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.suexec:
-
-       fixed typo (reported by Paul S. Gumerman)
-
-2005-04-08 21:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.yum:
-
-       substitute @YUMLOCKDIR@
-
-2005-04-08 21:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/chcontext:
-
-       fixed operation when context was not specified
-
-2005-04-08 21:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpre:
-
-       reverted the patch adding '/usr/X11'
-       create '/sbin/new-kernel-pkg'; 'initpost' would be too late for FC4
-
-2005-04-08 21:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpost:
-
-       use 'ln -sf' instead of 'ln -s'
-
-2005-04-08 21:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/yum/yum.conf:
-
-       add 'lockfile'
-
-2005-04-08 21:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       added 'fc3' to 'redhat_style'
-
-2005-04-08 21:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       use DIETFLAGS instead of DIET_FLAGS
-
-2005-03-29 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/Makefile-files:
-
-       use $(LIBENSCVECTOR) instead of libensc_vector.a
-
-2005-03-25 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.stop:
-
-       fixed typo
-
-2005-03-25 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       minor cleanups: call vkill with '--xid' instead of '-c'
-
-2005-03-25 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.stop:
-
-       address both the context and the pid when sending SIGINT to init
-
-2005-03-25 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/copy-check:
-
-       do not use '-s' with 'cmp' but display verbose error reason
-
-2005-03-25 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/switchtowatchxid.c:
-
-       simplified it and made it work with recent kernels
-
-2005-03-25 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration-xhtml.xsl:
-
-       use 'alternate stylesheet' instead of 'stylesheet' (reported by Herbert
-       Poetzl)
-
-2005-03-25 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       fixed quoting of % in %description
-
-2005-03-24 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am, REQUIREMENTS:
-
-       added REQUIREMENTS
-
-2005-03-24 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac, util-vserver.spec.in:
-
-       version 0.30.205
-
-2005-03-24 14:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       added some %descriptions
-
-2005-03-24 13:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vhashify.c:
-
-       s!write()!Vwrite()! at some places
-       add 'volatile' qualifier at variables used around 'setjmp'
-       use sigsetjmp() instead of setjmp()
-       minor code cleanups
-
-2005-03-24 13:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
-
-       s!write()!Vwrite()! at some places
-       use Echdir() instead of chdir()
-
-2005-03-24 13:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/filetime.c, src/lsxid.c, src/readlink.c, src/reducecap.c,
-         src/showattr.c, src/vattribute.c, src/vcontext.c, src/vcopy.c,
-         src/vdlimit.c, src/vlimit.c, src/vps.c, src/vserver-stat.c,
-         src/vuname.c, src/vunify.c, vserver-start/interface-read.c:
-
-       s!write()!Vwrite()! at some places
-
-2005-03-24 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/sigbus.c:
-
-       use Etruncate() instead of truncate()
-
-2005-03-24 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/copy-check:
-
-       added new tests and better diagnostic
-
-2005-03-24 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-copy.c:
-
-       moved 'volatile' qualifiers to a better place
-       minor code cleanups
-
-2005-03-24 13:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_wrappers/wrappers-unistd.hc:
-
-       E*truncate(): added
-
-2005-03-24 13:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/testsuite/test2.c:
-
-       #undef NDEBUG
-
-2005-03-24 02:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/sigbus.c:
-
-       unlink temporary files on exit
-
-2005-03-24 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-unify.c:
-
-       Unify_unify(): block signals while executing the non-atomic operations
-
-2005-03-24 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vhashify.c:
-
-       optimized directory creation
-
-2005-03-24 01:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-copy.c:
-
-       prepared for sigbus testcase
-       added some 'volatile' modifiers
-       use siglongjmp() instead of longjmp()
-
-2005-03-24 01:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/matchvserverinfo-init.c:
-
-       minor code cleanups
-
-2005-03-24 01:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/: .cvsignore, Makefile-files, sigbus.c:
-
-       added sigbus testcase
-
-2005-03-23 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/testsuite/.cvsignore:
-
-       updated
-
-2005-03-23 03:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: vhashify-init.hc, vhashify.c:
-
-       added lots of new code...
-
-2005-03-23 03:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       is_selinux_enabled(): added
-
-2005-03-23 03:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.apt-rpm, vserver-build.rpm,
-         vserver-build.yum:
-
-       execute '--initdb' before importing pubkeys
-       import pubkeys from /etc/vservers/.distributions/.common/pubkeys also
-
-2005-03-23 03:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver:
-
-       added 'hashify' target
-
-2005-03-23 03:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added $_VHASHIFY
-
-2005-03-23 03:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/matchlist-initrefserverlist.c:
-
-       fixed initialization of 'vserver'
-
-2005-03-23 03:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       create /etc/.../.distributions/.common/pubkeys/
-       create /etc/.../.defaults/apps/vunify/hash
-
-2005-03-23 03:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       copy GPG keys from the system into the confdir
-       buildrequire dietlibc-0.25
-
-2005-03-23 03:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * build-all:
-
-       build with debug settings
-
-2005-03-22 16:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       honor return codes of read(2) and write(2) when communication with the rpm-fake-helper
-       call read(2) and write(2) through TEMP_FAILURE_RETRY()
-       use Vwrite() instead of write(2) at some places
-
-2005-03-22 16:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/command-exec.c:
-
-       call write(2) through TEMP_FAILURE_RETRY()
-
-2005-03-22 16:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       BuildRequire beecrypt-devel
-
-2005-03-22 16:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: chcontext.c, vhashify.c:
-
-       workaround warning messages regarding 'warn_unused_return_value' when
-       using _FORTIFY_SOURCE.
-
-2005-03-22 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/getvservervdir.c, lib_internal/coreassert.h,
-         lib_internal/matchlist-initmanually.c,
-         lib_internal/matchlist-printid.c,
-         lib_internal/util-exitlikeprocess.c, lib_internal/util-io.h:
-
-       workaround warning messages regarding 'warn_unused_return_value' when
-       using _FORTIFY_SOURCE.
-
-2005-03-22 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst:
-
-       added vhashify + vdlimit
-
-2005-03-22 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       cleanups
-       use %global instead of %define
-
-2005-03-22 15:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * build-all:
-
-       set _FORTIFY_SOURCE
-
-2005-03-19 04:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * .cvsignore:
-
-       updated
-
-2005-03-19 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * update-doc:
-
-       initial checkin
-
-2005-03-19 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/chcontext:
-
-       do not use '--create' for dynamic contexts
-
-2005-03-19 03:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * sysv/vkillall[DEAD], tests/attack.spec[DEAD]:
-
-       obsoleted
-
-2005-03-19 03:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * sysv/vkillall, tests/attack.spec:
-
-       added to be removed...
-
-2005-03-19 03:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initsignal[DEAD]:
-
-       obsoleted
-
-2005-03-19 03:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initsignal:
-
-       added to be removed soon...
-
-2005-03-19 03:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vnet.c[DEAD]:
-
-       obsoleted...
-
-2005-03-19 03:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/vunify-verbosity.txt, lib/apidoc/list2xxx.descr, scripts/X,
-         src/vnet.c:
-
-       initial checkin
-
-2005-03-19 03:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * vserver-start/: interface-add.c, interface-print.c,
-         interface-remove.c, main.c:
-
-       avoid warnings regarding unused params
-
-2005-03-19 03:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/Makefile-files:
-
-       moved vdlimit into the only-C99 section
-       build vhashify only with C99 and beecrypt
-       cleanups
-
-2005-03-19 03:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/copy-check:
-
-       cleanups
-       conditionalize expensive tests
-
-2005-03-19 03:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/Makefile-files, lib/Makefile-files:
-
-       moved *dlimit* files into the only-C99 section
-       clean all potentially built libraries
-
-2005-03-19 03:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/list-free.c:
-
-       some minor C89 compatibility changes
-
-2005-03-19 03:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/Makefile-files:
-
-       use 'lib-dietlibc-not-enabled-error.a' consistently
-       clean all libraries inclusive those which might not be built
-
-2005-03-19 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.dtd:
-
-       readded
-
-2005-03-19 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       documented the 'vhashify' configuration
-       moved '<default>' tags before '<description>'
-
-2005-03-19 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration-xhtml.xsl:
-
-       applied changes regarding the new www-location on savannah
-
-2005-03-19 02:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/Makefile-files:
-
-       (re)added xsltproc support
-
-2005-03-19 02:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       added tests for XSLTPROC
-       added '--disable-expensive-tests'
-       added beecrypt tests
-       cosmetical cleanups + enhancements
-
-2005-03-19 02:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       set some values in TESTS_ENVIRONMENT
-       added some hacks for lib-dietlibc-not-enabled-error.a
-
-2005-03-18 04:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/.cvsignore:
-
-       updated
-
-2005-03-18 04:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify.h, src/vunify.h:
-
-       include <sys/stat.h> instead of defining a 'struct stat'; this prevents
-       problems with the 64bit interface of the filesystem functions
-
-2005-03-18 04:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-copy.c:
-
-       use a sparse-file friendly method for copying files
-
-2005-03-18 04:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/: Makefile-files, copy-check, copy.c:
-
-       added testcases for Unify_copy()
-
-2005-03-18 01:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * vserver-start/Makefile-files:
-
-       use $(LIBENSCVECTOR) instead of libensc_vector.a
-
-2005-03-18 01:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: vhashify-init.hc, vhashify.c, vhashify.h:
-
-       made it work...
-
-2005-03-18 01:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: vcopy-init.hc, vunify-init.hc:
-
-       applied changes in the MatchList-API
-
-2005-03-18 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/Makefile-files:
-
-       use $(LIBENSCVECTOR) instead of libensc_vector.a
-       use $(LIBVSERVER_GLIBC) instead of lib/libvserver.la
-
-2005-03-18 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vpkg:
-
-       exit with returncode of '2' when pkgmgmt can not be determined
-
-2005-03-18 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/Makefile-files:
-
-       use $(LIBENSCVECTOR) instead of libensc_vector.a
-
-2005-03-18 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/: unify-isiunlinkable.c, unify.h:
-
-       Unify_isIUnlinkable(): changed return-type
-
-2005-03-18 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-copy.c:
-
-       implemented copyReg() with mmap(2) instead of read(2)+write(2) sequences
-
-2005-03-18 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/string.hc:
-
-       String_free(): added
-
-2005-03-18 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/string.h:
-
-       renamed String_destroy() to String_free()
-
-2005-03-18 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/string-destroy.c[DEAD]:
-
-       obsoleted; String_free() is now inlined
-
-2005-03-18 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/: matchlist-initbyvserver.c,
-         matchlist-initmanually.c, matchlist-initrefserverlist.c,
-         matchlist.h:
-
-       applied lot of API changes
-
-2005-03-18 01:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/matchlist-destroy.c:
-
-       use String_free() instead of String_destroy()
-
-2005-03-18 01:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/Makefile-files:
-
-       added matchvserverinfo-*
-       removed string-destroy.c
-
-2005-03-18 01:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/: matchvserverinfo-free.c, matchvserverinfo-init.c:
-
-       initial checkin
-
-2005-03-18 01:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/testsuite/Makefile-files,
-         lib/testsuite/Makefile-files:
-
-       use $(LIBENSCVECTOR) instead of libensc_vector.a
-
-2005-03-18 01:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/Makefile-files, lib/Makefile-files:
-
-       split into a -glibc and a -diet part
-
-2005-03-18 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       HACK: set 'enable_static=no' for dietlibc case and postpone AC_PROG_LIBTOOL execution
-
-2005-03-18 01:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       use $(LIBVSERVER) instead of lib/libvserver.la
-       use $(LIBENSCVECTOR_DIET) instead of $(ENSC_VECTOR_LIBS)
-
-2005-03-17 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/.cvsignore:
-
-       updated
-
-2005-03-17 15:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vunify.c:
-
-       use new Unify_unify() API
-       rearranged some code; I do not try to be C89 compliant in C99 progams anymore...
-
-2005-03-17 15:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vcopy.c:
-
-       use new Unify_unify() API
-
-2005-03-17 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: vhashify-init.hc, vhashify.c, vhashify.h:
-
-       initial checkin
-
-2005-03-17 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/Makefile-files:
-
-       use $(LIBINTERNAL) instead of lib_internal/libinternal.a
-       added vhashify*
-
-2005-03-17 15:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * build-all:
-
-       updated
-
-2005-03-17 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/Makefile-files,
-         src/testsuite/Makefile-files, vserver-start/Makefile-files:
-
-       use $(LIBINTERNAL) instead of lib_internal/libinternal.a
-
-2005-03-17 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify.h:
-
-       * added an 'ignore_zero' argument to Unify_unify()
-       * Unify_isIUnlinkable(): added
-
-2005-03-17 15:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-unify.c:
-
-       added an 'ignore_zero' argument to Unify_unify()
-
-2005-03-17 15:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-isiunlinkable.c:
-
-       initial checkin
-
-2005-03-17 15:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/Makefile-files:
-
-       * create both libinternal-diet.a and libinternal-glibc.a. This is
-         needed to avoid segfaults with gcc4 when linking against glibc based
-         libraries like 'beecrypt'. Perhaps, these segfaults are a problem
-         with gcc4 as they do not happen with gcc33...
-
-       * added unify-isiunlinkable.c
-
-2005-03-17 15:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/testsuite/test1.c:
-
-       added tests for Vector_searchSelfOrg()
-
-2005-03-17 15:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/testsuite/Makefile-files:
-
-       added test2
-
-2005-03-17 15:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/: vector.h, vector.hc:
-
-       Vector_searchSelfOrg*(): added
-
-2005-03-17 15:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/: list-add.c, list-at.c, list-free.c, list-init.c,
-         list-insertinternal.c, list-internal.h, list-search.c,
-         list-searchselforg.c, list.h, list.hc, vector-searchselforg.c,
-         testsuite/test2.c:
-
-       initial checkin
-
-2005-03-17 15:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_vector/Makefile-files:
-
-       added list-* files
-       added vector-searchselforg.c
-
-2005-03-17 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_fmt/: fmt.h, fmtx-32.c:
-
-       fixed declaration of the *_x*int() methods; they do not take a 'base' argument
-
-2005-03-09 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-info.c:
-
-       added XIDTYPE support
-
-2005-03-09 15:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/context-sync.hc:
-
-       use EopenD() instead of Eopen()
-
-2005-03-09 15:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_initrddir.m4:
-
-       fixed typo
-
-2005-03-09 15:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       vc_getXIDType(): added
-
-2005-03-09 15:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver-internal.h:
-
-       added some magic to avoid warnings with gcc4
-
-2005-03-09 15:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: Makefile-files, getxidtype.c:
-
-       added getxidtype.c
-
-2005-03-09 15:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpre:
-
-       create /usr/X11 also
-
-2005-03-09 15:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/: Makefile.am, fc3/apt/rpmpriorities,
-         fc3/apt/sources.list:
-
-       added apt support for FC3
-
-2005-03-02 02:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall_adddlimit.c, syscall_getdlimit.c,
-         syscall_remdlimit.c, syscall_setdlimit.c,
-         syscall_adddlimit-v13.hc, syscall_getdlimit-v13.hc,
-         syscall_remdlimit-v13.hc, syscall_setdlimit-v13.hc:
-
-       use CALL_VC_V13B instead of CALL_VC_V13
-
-2005-03-02 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vyum:
-
-       allow '--all' param
-
-2005-03-02 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/testsuite/cflags.c:
-
-       avoid some compiler warnings
-
-2005-03-02 02:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       added some VC_ATTR_NONNULL() statements
-
-2005-03-02 02:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: syscall_adddlimit-v13.hc, syscall_remdlimit-v13.hc,
-         vserver-internal.h:
-
-       minor cleanups
-
-2005-03-02 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
-
-       do not assume 'nodev' on 'devpts'
-
-2005-03-02 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver-internal.h:
-
-       CDLIM_USER2KERNEL/CDLIM_KERNEL2USER(): added
-
-2005-03-02 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/Makefile-files, lib/syscall_adddlimit-v13.hc,
-         lib/syscall_adddlimit.c, lib/syscall_getdlimit-v13.hc,
-         lib/syscall_getdlimit.c, lib/syscall_remdlimit-v13.hc,
-         lib/syscall_remdlimit.c, lib/syscall_setdlimit-v13.hc,
-         lib/syscall_setdlimit.c, lib/virtual.h, lib/vserver.h,
-         src/Makefile-files, src/vdlimit.c:
-
-       added *vdlimit functions + tools (patch provided by Daniel Hokka Zakrisson)
-
-2005-02-26 00:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-setup.functions:
-
-       added some sanity checks
-
-2005-02-26 00:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_wrappers/: Makefile-files, wrappers-string.hc, wrappers.h:
-
-       added wrapper around string functions
-
-2005-02-26 00:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
-
-       /me should learn to differ between script-languages and C... strings in C are still marked by >"< but not by >'<...
-       fixed allocation of the newly generated option string
-
-2005-02-25 22:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vapt-get-worker, vyum-worker:
-
-       deprecate usage of $_YUM and $_APT_GET
-
-2005-02-25 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpost, scripts/functions, scripts/pkgmgmt,
-         scripts/start-vservers, scripts/util-vserver-vars.pathsubst,
-         scripts/vprocunhide, scripts/vpstree, scripts/vserver,
-         scripts/vserver-build, scripts/vserver-build.apt-rpm,
-         scripts/vserver-build.debootstrap,
-         scripts/vserver-build.functions,
-         scripts/vserver-build.functions.apt,
-         scripts/vserver-build.functions.pkgmgmt,
-         scripts/vserver-build.functions.rpm,
-         scripts/vserver-build.functions.yum, scripts/vserver-build.rpm,
-         scripts/vserver-build.yum, scripts/vserver-copy,
-         scripts/vserver-setup.functions, scripts/vserver.functions,
-         scripts/vserver.start, scripts/vserver.stop,
-         scripts/vservers.grabinfo.sh, scripts/vshelper,
-         scripts/vsysvwrapper, scripts/vtop, scripts/legacy/distrib-info,
-         scripts/legacy/rootshell, scripts/legacy/vserver, sysv/rebootmgr,
-         sysv/vservers-legacy:
-
-       LEGACY BREAKAGE FOR 3RD PARTY PATCHES: introduced a more common naming
-       scheme: global, immutable variables names are now named like '$__ABC'
-       instead of '$ABC'. This happens at much places and will break a lot of
-       patches therefore.
-
-2005-02-25 22:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       changed my GPG key
-
-2005-02-25 22:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
-
-       assume 'nodev' by default
-
-2005-02-25 21:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.functions.yum, vyum-worker:
-
-       added preliminary support for the patch from
-       https://bugzilla.redhat.com/beta/attachment.cgi?id=111435&action=view
-
-2005-02-25 21:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.pkgmgmt:
-
-       avoid ambiguous usage of $PKGDIR, use $PKGINSTALLDIR instead of
-       use $SETUP_CONFDIR instead of $confdir
-
-2005-02-25 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build.apt-rpm, vserver-build.yum:
-
-       avoid ambiguous usage of $PKGDIR, use $PKGINSTALLDIR instead of
-
-2005-02-21 00:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.rpm:
-
-       rpm.initFilesystem(): fixed variable-names; this caused e.g. an unset %_dbpath macro formerly
-
-2005-02-16 00:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.204
-
-2005-02-15 23:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       added information where the 'ip' and 'vconfig' programs can be found
-
-2005-02-15 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vshelper:
-
-       adjusted the order of cli options evaluation; automake-1.9.5 redirects
-       input from /dev/null so the 'tty -s' check gets triggered and 'make
-       distcheck' fails in the '... --version/--help' tests
-
-2005-02-15 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/save_ctxinfo.c:
-
-       fixed name of the run.rev symlink; there was a '/' missing which
-       caused a pollution of the /etc/vservers/.defaults directory with
-       'run.revXXX' entries. (reported and analyzed by Olivier Poitrey).
-
-2005-02-07 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions, scripts/vserver-build.functions.pkgmgmt,
-         src/vunify.c:
-
-       fixed typos
-
-2005-02-07 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       documented the *namespace options
-
-2005-02-04 13:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       SECURITY: fixed detection of the mtab-location (Georg Glas)
-       https://savannah.nongnu.org/bugs/?func=detailitem&item_id=11844
-
-2005-02-04 03:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       fixed one of the previously added 'test -n'
-
-2005-02-02 15:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_pathprog.m4:
-
-       ENSC_PATHPROG_INIT(): fixed doc
-       ENSC_PATHPROG(): added a '<DESCR>' parameter
-
-2005-02-02 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/: compatibility-xhtml.xsl, compatibility.css:
-
-       applied http://vserver.lauft.net/wegen/util-vserver/patches/merge/util-vserver--merge--0.0--patch-2.patch
-
-2005-02-01 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.203
-
-2005-02-01 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/Makefile-files:
-
-       added vyum-worker to AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
-
-2005-02-01 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vyum-worker:
-
-       minor cosmetical change
-
-2005-02-01 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: functions, pkgmgmt:
-
-       fixed 'local VAR=$(ACTION) || ERROR' constructs; the 'local VAR=$(ACTION)'
-       succeeds everytime so ERROR will be never executed. So, it is rewritten to
-       'local VAR; VAR=$(ACTION) || ERROR'.
-
-2005-02-01 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.202
-
-2005-02-01 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/rpmlist.d/00.lst:
-
-       initial checkin
-
-2005-02-01 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.rpm:
-
-       moved installPackages into vserver-build.functions.rpm
-       added support for preconfigured package-lists
-
-2005-02-01 17:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.rpm:
-
-       rpmlist.*(): added
-
-2005-02-01 17:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build:
-
-       documented the '--empty' switch for the '-m rpm' method
-       allow an increasing debug-level
-
-2005-02-01 17:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       vshelper.isDebug(): fixed it...
-
-2005-02-01 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       added the fc3 rpmlist.d directory + content
-
-2005-02-01 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst:
-
-       added vserver-build.rpm
-
-2005-02-01 03:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/matchlist-initbyvserver.c,
-         lib_internal/matchlist-initmanually.c,
-         lib_internal/matchlist-initrefserverlist.c, src/vcopy-init.hc,
-         src/vunify-init.hc:
-
-       changed matchlist-API to pass additional information about a
-       vserver. This allows to turn off pkgmgmt-queries for not-yet
-       existent vservers in 'vcopy'
-
-2005-02-01 03:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/matchlist.h:
-
-       struct MatchVserverInfo: added; it allows to pass additional information about the vserver
-
-2005-02-01 03:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-copy.c:
-
-       copyReg(): open out_fd with O_RDWR, fixed resource leak in error-case
-
-2005-02-01 01:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/createskeleton-full.hc:
-
-       argl... fixed overflow when appending the '/'
-
-2005-02-01 00:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml, scripts/functions, scripts/vshelper:
-
-       added 'debug' option for vshelper
-
-2005-02-01 00:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vshelper:
-
-       added delegation support (Herbert Poetzl)
-       http://vserver.13thfloor.at/Experimental/NGNET/delta-vshelper-delegate.diff
-
-2005-01-31 23:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions:
-
-       getDistribution(): added support for a default distribution
-
-2005-01-31 23:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: Makefile-files, vserver-build, vserver-build.rpm:
-
-       added the '-m rpm' method
-
-2005-01-31 23:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/: Makefile.am, template/initpost, template/initpre:
-
-       added the 'template' distribution
-
-2005-01-31 18:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       fixed environment unsetting: it will be now done shortly before execve(2)
-       but not on initialization anymore. This solves the problem when 'rpm' is
-       a wrapper only calling the real 'rpm?'. Then, LD_PRELOAD et.al. was unset
-       and the wrapper not used.
-
-2005-01-31 18:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vshelper:
-
-       fixed the (currently non-existent) child->parent traversal
-
-2005-01-31 18:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/apidoc/Doxyfile.in:
-
-       added DOT_TRANSPARENT + DOT_MULTI_TARGET
-
-2005-01-31 18:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       updated
-
-2005-01-31 18:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am, util-vserver.spec.in, lib/createskeleton-full.hc,
-         scripts/vserver-build.functions, scripts/vserver-setup.functions,
-         src/save_ctxinfo.c:
-
-       removed 'run.rev' as a vserver-local variable and made it a system-wide setting
-
-2005-01-28 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       reindented it
-       fixed vshelper documentation
-
-2005-01-27 22:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: functions, pkgmgmt, start-vservers, vapt-get, vpkg,
-         vprocunhide, vrpm, vrpm-preload, vserver, vserver-build,
-         vserver-build.debootstrap, vserver-build.functions.rpm,
-         vserver-setup.functions, vserver-wrapper, vserver.functions,
-         vserver.start, vserver.stop, vshelper, vsomething:
-
-       use 'test -n "..."' instead of 'test "..."'; when "..." expands to '-v'
-       or a similar string, the expression will be misinterpreted (noticed by
-       Werner Schalk)
-
-2005-01-27 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.201
-
-2005-01-27 21:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: reducecap.c, vserver-info.c:
-
-       reworked the capability.h stuff
-
-2005-01-27 21:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: Makefile-files, capability-compat.h:
-
-       added capability-compat.h
-
-2005-01-27 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       added check for <sys/capability.h> header
-
-2005-01-27 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       removed the linuxcaps.h bits
-
-2005-01-27 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vserver-info.c:
-
-       implemented capability-support check
-
-2005-01-27 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       fixed execution order of chroot(2) and context-creation; this caused
-       errors on kernel 2.6 when the vserver is not running yet
-
-2005-01-27 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: .cvsignore, Makefile-files:
-
-       added check-unixfile
-
-2005-01-27 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.start:
-
-       execute sanityCheck()
-
-2005-01-27 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       moved sanity checks which were spread in various functions into the sanityCheck() method
-       implemented checks for non-newline terminated files and missing capability support
-
-2005-01-27 20:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.functions.yum, scripts/vserver-build.yum,
-         scripts/vsomething, scripts/vyum, scripts/vyum-worker,
-         src/check-unixfile.c:
-
-       initial checkin
-
-2005-01-27 20:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build:
-
-       added 'yum' support
-
-2005-01-27 20:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vrpm-preload:
-
-       reorganized; moved lots of code into the 'functions' file
-
-2005-01-27 20:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added yum* files + vsomething + check-unixfile
-
-2005-01-27 20:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       added yum* support
-       reorganized the rpmFake stuff
-
-2005-01-27 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/Makefile-files:
-
-       added the yum* files + vsomething
-
-2005-01-27 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/redhat/initpre:
-
-       added missing newline
-
-2005-01-27 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/fc3/: pkgs/01, pkgs/02, pkgs/03, yum/yum.conf,
-         yum.repos.d/fedora-devel.repo,
-         yum.repos.d/fedora-updates-testing.repo,
-         yum.repos.d/fedora-updates.repo, yum.repos.d/fedora.repo:
-
-       initial checkin
-
-2005-01-27 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       added the yum* stuff for fc3
-
-2005-01-27 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst:
-
-       added the yum* files + check-unixfile
-
-2005-01-27 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * README:
-
-       mentioned the '-m yum' buildmethod
-
-2005-01-27 00:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/getvservercfgstyle.c:
-
-       allow dangling symlinks as /etc/vservers/.../vdir also
-
-2005-01-27 00:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.199
-
-2005-01-26 22:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       do not ship the /vservers directory itself; as it is immutable, the
-       extraction will fail else
-
-2005-01-26 21:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/.cvsignore:
-
-       updated
-
-2005-01-26 21:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       rearranged some scriptlets to avoid comments after '-p /sbin/ldconfig'
-
-2005-01-26 16:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.start:
-
-       added (untested) support for '/' in the vserver fstab
-
-2005-01-26 16:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       use unique prefixes for variables used in functions with 'eval' statements
-       mountRootFS(): added
-
-2005-01-26 16:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       use unique prefixes for variables used in functions with 'eval' statements
-
-2005-01-26 16:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/filecfg-ml.c:
-
-       include <string.h> + <ctype.h>
-
-2005-01-26 16:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/Makefile-files:
-
-       moved rootshell to legacy
-
-2005-01-26 16:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * vserver-start/defaulttty.c:
-
-       include <string.h>
-
-2005-01-26 16:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
-
-       added '--rootfs' option
-
-2005-01-26 16:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * contrib/manifest.dat.pathsubst:
-
-       moved the v_* initscripts to legacy
-
-2005-01-26 15:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       updated BuildRequires:
-       use 'setattr --barrier' instead of 'chattr +t' in the %post scriptlet
-       moved the v_* initscripts to legacy
-
-2005-01-25 17:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/rootshell[DEAD], contrib/manifest.dat.pathsubst,
-         scripts/legacy/rootshell:
-
-       moved rootshell script to legacy
-
-2005-01-21 14:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/legacy/vserver:
-
-       fixed http://savannah.nongnu.org/bugs/?func=detailitem&item_id=11570:
-
-         "vserver myvserver start" gives exit code 1 if there is no file
-         /etc/vservers/myvserver.sh, since the last statement in vserver
-         ("test -x /etc/vservers/$1.sh && ...") evaluates to 1 in this case.
-
-         [Daniel Hermann]
-
-2005-01-21 14:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver:
-
-       be more verbosely when vserver could not be determined and give hints
-       about possible solutions (based upon ideas by Thorsten Gunkel)
-
-2005-01-21 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-setup.functions:
-
-       interface-configuration: give out a warning when no device was configured
-
-2005-01-21 14:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       * interface-configuration: accept 'nodev' without a configured 'dev';
-         formerly the interface was silently ignored when 'dev' was missing
-       * added some sanity checks for the behaviour described above
-
-2005-01-21 14:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       added rpm_execcon() wrapper to make it work in SELinux environments
-       call execve(2) directly instead of execv(3)
-
-2005-01-07 18:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * README:
-
-       fixed typos
-       cleanups + enhancements
-
-2005-01-07 17:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * README:
-
-       "Notes for distributors" + "Which version shall I use?" added
-
-2005-01-07 17:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc.m4:
-
-       Fixed last patch: use '[[' instead of '[' (found by Hans Ulrich Niedermann)
-
-2005-01-07 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       call ENSC_DIETLIBC_SANITYCHECK, AC_CANONICAL_HOST + AC_CANONICAL_BUILD
-
-2005-01-07 00:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc.m4:
-
-       ENSC_DIETLIBC_SANITYCHECK(): added
-       made ENSC_VERSION_DIETLIBC uppercase
-       ignore extra specifiers in dietlibc's minor version (reported by Hans Ulrich Niedermann)
-
-2005-01-07 00:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       fix typo in $_MKTEMPDIR: Use $_MKTEMP not $MKTEMP (fixed by Hans Ulrich Niedermann)
-
-2004-12-28 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: functions, pkgmgmt, start-vservers,
-         util-vserver-vars.pathsubst, vpkg, vrpm-preload,
-         vserver-build.debootstrap, vserver-build.functions.apt,
-         vserver-wrapper, vserver.start, vserver.stop:
-
-       use $_<prog> (which expands to absolute paths) instead of trusting into a good $PATH
-
-2004-12-28 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       use $_<prog> (which expands to absolute paths) instead of trusting into a good $PATH
-       a small VLAN fix (do not quote the splitted dev)
-       minor cleanups
-
-2004-12-28 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       use ENSC_PATHPROG & friends
-
-2004-12-28 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_pathprog.m4:
-
-       initial checkin
-
-2004-12-28 20:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       use ${ENSC_PATHPROG_SED} when substituting prognames
-
-2004-12-28 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc_compat.m4:
-
-       check more syscall variants
-
-2004-12-28 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       s!\params!\param!
-       added doc about vc_get_iattr()
-
-2004-12-28 12:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/cfg.txt[DEAD]:
-
-       removed since obsoleted by configuration.xml
-
-2004-12-21 08:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vsched.c:
-
-       fixed segfault when no arguments are given (reported by Adrian Reyer)
-
-2004-12-16 01:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/keep-ctx-alive.c:
-
-       renamed the 'fd_set' variable to 'fdset'. former name causes problems
-       with certain FD_* implementations (reported by Adrian Reyer)
-
-2004-12-09 14:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * build-all:
-
-       added fc-3 host
-
-2004-12-09 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/Makefile-files:
-
-       getfilecontext.c: added
-
-2004-12-09 14:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: getfilecontext.c, vserver.h:
-
-       vc_getfilecontext(): as noticed by daniel_hozac in IRC, this function
-       was horribly broken. Fixed and moved it into an own file as it is too
-       complex for an inline function. Documentation was added also.
-
-2004-12-07 12:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * vserver-start/main.c:
-
-       include <unistd.h>
-
-2004-12-07 12:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       read enter-shell from the defaults-directory also
-       use prio-bias instead of cpu-mask
-
-2004-12-07 12:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/filecfg-iteratemultiline.c:
-
-       include <string.h>
-
-2004-12-07 12:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/testsuite/cflags.c:
-
-       added some new flags
-
-2004-12-07 12:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       do not mention the /hostname + /domainname params anymore
-       removed vsched/cpu-mask
-       added vsched/priority-bias
-
-2004-10-21 21:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       added/updated flags and capabilities
-
-2004-10-21 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/islink.c:
-
-       initial checkin
-
-2004-10-21 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/internal.h:
-
-       utilvserver_isLink(): added prototype
-
-2004-10-21 21:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/cflags-v13.c:
-
-       added lots of new flags
-
-2004-10-21 20:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/ccaps-v13.c:
-
-       added 'remount' + 'icmp' cap; 'ping' is kept for compatibility reasons
-
-2004-10-21 20:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/Makefile-files:
-
-       added islink.c
-
-2004-10-20 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       getFileValue(): modified to accept a list of candidates
-
-2004-10-20 01:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vcontext.c:
-
-       merged from UV_NAMESPACE_AFTER_CHROOT branch
-
-2004-10-20 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       added 'update-doc' target
-
-2004-10-20 01:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_wrappers/wrappers-vserver.hc:
-
-       Evc_{new,enter}_namespace(): added
-
-2004-10-19 23:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.196
-
-2004-10-19 23:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/: context.h, cvirt.h:
-
-       updated to vs1.9.3-rc4
-
-2004-10-19 23:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * vserver-start/: configuration-init.c, configuration.c,
-         configuration.h, interface.c, interface.h, main.c, scriptlets.c,
-         vserver-start.h:
-
-       added lots of new code
-
-2004-10-19 23:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * vserver-start/defaulttty.c,
-         lib_internal/filecfg-iteratemultiline.c,
-         lib_internal/testsuite/filecfg-ml.c:
-
-       initial checkin
-
-2004-10-19 23:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * vserver-start/Makefile-files:
-
-       added defaulttty.c
-
-2004-10-19 23:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/reducecap.c:
-
-       use some dirty hacks to include <linuxcaps.h> cleanly
-
-2004-10-19 23:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.stop:
-
-       execute 'prepareStop()'
-
-2004-10-19 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver.functions:
-
-       made runlevel_{start,stop} global variables
-       prepareStop(): added
-       set PREVLEVEL on 'vserver ... stop' (required by Debian)
-
-2004-10-19 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-setup.functions:
-
-       s!prefix!prefixlen!
-
-2004-10-19 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/Makefile-files:
-
-       added filecfg-ml test
-
-2004-10-19 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/string.hc:
-
-       String_c_str(): added
-
-2004-10-19 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/string.h:
-
-       ENSC_STRING_*FIXED(): added
-
-2004-10-19 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/filecfg.h:
-
-       FileCfg_iterateOverMultiLine(): added prototypes and related declarations
-
-2004-10-19 23:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/Makefile-files:
-
-       added filecfg-iteratemultiline.c
-
-2004-10-19 23:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/syscall_setsched-v13.hc:
-
-       vc_set_sched_v13obs(): use VCMD_set_sched_v2 instead of VCMD_set_sched
-
-2004-10-19 23:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * ensc_wrappers/wrappers-unistd.hc:
-
-       Enice(): added
-
-2004-10-19 23:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       s!prefix!prefix-length!
-
-2004-10-19 23:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       added new kernel headers
-       changed substition of linuxcaps.h; oldish 'sed' versions do not understand '\<' regexs
-
-2004-10-18 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vcontext.c:
-
-       do not include "linuxcaps.h" anymore
-
-2004-10-18 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/: context.h, cvirt.h, inode.h, legacy.h, limit.h,
-         namespace.h, network.h, sched.h, signal.h, switch.h, xid.h:
-
-       updated
-
-2004-10-18 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/Makefile-files:
-
-       removed stylesheets and images from the main-package; they are now in the web-CVS
-
-2004-10-18 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/: configuration-flower.css[DEAD],
-         configuration-lsd.css[DEAD], configuration-lsd1.css[DEAD],
-         flowers.png[DEAD], flowers1.png[DEAD], flowers2.png[DEAD]:
-
-       moved into web-CVS
-
-2004-10-18 17:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/: debug.h, dlimit.h:
-
-       updated
-
-2004-10-06 05:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * README:
-
-       updated note about 'vserver-stat' and differ between 2.4 and 2.6
-       kernel
-
-2004-10-06 05:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/unify-unify.c:
-
-       retain 'errno' on the final unlink()
-
-2004-10-06 05:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/Makefile-files:
-
-       link secure-mount against libvserver
-
-2004-10-06 05:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
-
-       added better diagnostic when fstab-parsing fails
-       use strsep() instead of strtok_r() in the parser to make the line-number counter work
-
-2004-10-01 14:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * NEWS, configure.ac:
-
-       version 0.30.195
-
-2004-10-01 14:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       _getProcNumberCount(): s!$_ctx!$1!
-
-2004-10-01 13:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac, m4/ensc_dietlibc.m4:
-
-       give out information about version of the found dietlibc
-
-2004-10-01 13:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * m4/ensc_dietlibc.m4:
-
-       fixed version-detection when additional information are following the
-       number
-
-2004-10-01 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/functions:
-
-       use more efficient ways to detect number of processes in a context
-       (access /proc/virtual/... information instead of executing vps)
-
-2004-10-01 12:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: vserver-build, vserver-build.debootstrap:
-
-       allowed to specify additional debootstrap options
-
-2004-10-01 12:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: vps.c, vserver-stat.c:
-
-       added warnings regarding procfs-security
-
-2004-09-24 17:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       removed a __THROW which is not needed and causes errors with newer gcc
-
-2004-09-24 17:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/syscall_setvhiname-v13.hc:
-
-       use a better method to copy labels; formerly, bad parameters could
-       cause undefined behaviour
-
-2004-09-24 17:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/Makefile-files:
-
-       fixed typo
-
-2004-09-24 01:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       added some comments for interfaces/../{name,nodev}
-
-2004-09-24 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/: configuration-flower.css, configuration-lsd.css,
-         configuration-lsd1.css, configuration-xhtml.xsl,
-         configuration.css:
-
-       made it validate as xhtml
-
-2004-09-24 00:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * build-all:
-
-       fixed CLEAN=1 usecase
-       use gcc4 instead of gcc35
-
-2004-09-24 00:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-build.debootstrap:
-
-       added better diagnostic for failed debootstrap download
-
-2004-09-24 00:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.css:
-
-       added *.elements templates
-
-2004-09-24 00:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration.xml:
-
-       updated rlimits description (reported by Nikola Donev)
-       added warning about explicit 'fakeinit' usage
-
-2004-09-24 00:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/configuration-xhtml.xsl:
-
-       added new stylesheets
-       implemented <elements>...</elements> support
-
-2004-09-24 00:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/Makefile-files:
-
-       added new stylesheets and images
-
-2004-09-24 00:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/: configuration-flower.css, configuration-lsd1.css,
-         flowers.png, flowers1.png, flowers2.png:
-
-       initial checkin
-
-2004-09-24 00:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/misc/debootstrap.uri:
-
-       updated
-
-2004-09-22 22:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       s!commented!documented!
-
-2004-09-22 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       commented the possible options for 'rpmbuild'
-
-2004-09-22 22:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vsched.c:
-
-       use new vc_set_sched structure
-       generalized CLI options a little bit
-
-2004-09-22 22:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vattribute.c:
-
-       set the "secure" flags on '--secure' manually. This is a crude hack
-       and must be solved better.
-
-2004-09-22 22:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       struct vc_set_sched: updated + added some flags
-       vc_get_insecureflags(): removed again; it is now handled by the utilities
-
-2004-09-22 22:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver-internal.h:
-
-       ENSC_STRUCT_IDX, ENSC_SAME_STRUCT_IDX: added
-
-2004-09-22 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/syscall_setsched.c:
-
-       added support for the new 'struct vcmd_set_sched_v3'
-
-2004-09-22 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/syscall_setsched-v13.hc:
-
-       updated to new 'struct vcmd_set_sched_v3'
-       added some optimizations
-
-2004-09-22 22:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * kernel/sched.h:
-
-       added 'struct vcmd_set_sched_v3' plus macros
-
-2004-09-10 13:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver-internal.h:
-
-       CALL_VC_V13B(), CALL_VC_V13OBS(): added
-
-2004-09-10 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vlimit.c:
-
-       fixed missing argument for '--xid' switch
-
-2004-09-07 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/vattribute.c:
-
-       use vc_get_insecureflags() on '--secure' option
-
-2004-09-07 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/vserver.h:
-
-       vc_get_insecureflags(): added (does this really make sense??)
-
-2004-09-07 22:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/chcontext:
-
-       fixed concatenation of flags + caps
-
-2004-09-07 22:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       added an explicit requirement for version 1.9 of automake
+2006-12-01 21:10  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-27 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver.functions: Add cwd to the list of paths to
+         exclude from namespace cleanup.
 
-       * NEWS, configure.ac:
+2006-12-01 18:41  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       version 0.30.193
+       * m4/ensc_e2fscheck.m4: Correct package and distribution name.
 
-2004-08-27 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-28 17:42  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/: vserver.stop, vserver, vserver.start:
+       * scripts/vserver.functions: Make non-sysv initstyles work again.
 
-       follow LSB behavior when starting/stopping a vserver (no error, when already running/stopped)
-       adjusted some exit-codes
+2006-11-27 14:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-27 16:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/vserver.h: Add VLIMIT_MAPPED, for mapped files that are in
+         RAM.
 
-       * src/secure-mount.c:
+2006-11-27 14:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       showHelp(): improved message
+       * src/vsched.c: Don't process unknown files.
 
-2004-08-27 10:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-25 19:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/misc/debootstrap.uri:
+       * src/chroot-sh.c: Add missing quote.
 
-       updated again...
+2006-11-25 19:17  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-27 10:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * distrib/redhat/initpost: Use chroot-sh chmod to remove the
+         symlink attack vector.
 
-       * src/save_ctxinfo.c:
+2006-11-25 02:04  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       append '\0' to the buffer read by readlink()
+       * src/vsched.c: Add missing #include <stddef.h> needed for offsetof
+         when using glibc.
 
-2004-08-27 10:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-25 00:38  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/keep-ctx-alive.c:
+       * lib/nflags-net.c, lib/vserver.h: Add NXF_SINGLE_IP.
 
-       include <sys/select.h>
+2006-11-24 23:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-27 10:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/capchroot.c, src/chbind.c, src/chcontext.c, src/fstool.c,
+         src/keep-ctx-alive.c, src/nattribute.c, src/ncontext.c,
+         src/rpm-fake-resolver.c, src/secure-mount.c, src/secure-umount.c,
+         src/vattribute.c, src/vcontext.c, src/vcopy.c, src/vhashify.c,
+         src/vkill.c, src/vlimit.c, src/vnamespace.c, src/vrsetup.c,
+         src/vserver-info.c, src/vserver-stat.c, src/vuname.c,
+         src/vunify.c, src/vwait.c: Make quoting consistent.
 
-       * ensc_wrappers/wrappers-unistd.hc:
+2006-11-24 22:03  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       Ereadlink*(): return the count of written chars
+       * scripts/legacy/vserver-copy: Use the same flags for legacy as the
+         rsync build method's default.
 
-2004-08-25 02:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-24 20:34  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/functions, scripts/pkgmgmt, scripts/vserver.functions,
-         vserver-start/mount.c:
+       * scripts/vserver.functions, src/nattribute.c: Use --secure by
+         default.
+         Add VC_NXF_HIDE_NETIF to the secure default.
 
-       use the new 'secure-mount' CLI
+2006-11-24 15:23  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-25 02:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver: Add forgotten backslash.
 
-       * src/secure-mount.c:
+2006-11-24 15:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       reworked it; '--chroot' does not accept an argument now, and '--secure'
-       is deprecated. Lots of code was modernized
+       * scripts/vserver: Call vserver-build with --debug too, if it was
+         specified.
 
-2004-08-19 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-24 15:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * vserver-start/: configuration-init.c, configuration.c,
-         configuration.h, interface-add.c, interface-read.c, interface.c,
-         interface.h, main.c, scriptlets.c, vshelper.c:
+       * configure.ac, contrib/manifest.dat.pathsubst,
+         scripts/Makefile-files, scripts/util-vserver-vars.pathsubst,
+         scripts/vserver-build, scripts/vserver-build.rsync: Add an rsync
+         build method.
 
-       added lots of new code
+2006-11-24 14:12  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 17:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml: Add since.
 
-       * vserver-start/: interface-print.c, interface-remove.c, mount.c,
-         mount.h, undo.c, undo.h:
+2006-11-23 23:56  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       initial checkin
+       * scripts/vserver.functions, src/vps.c, src/vserver-stat.c: Update
+         URL to the proc security page.
 
-2004-08-19 16:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-23 21:30  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/vnamespace.c:
+       * src/vnamespace.c: Use CLONE_NEWUTS|CLONE_NEWIPC so it works with
+         2.6.19.
 
-       fixed some #includes for the new position of sys_clone.h
+2006-11-23 21:12  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml, scripts/chbind, scripts/vserver.functions:
+         Add support for the network flags and capabilities in the
+         configuration.
 
-       * src/vkill.c:
+2006-11-23 18:30  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       define ENSC_WRAPPERS_UNISTD; it is used for some legacy code
+       * lib/ccaps-v13.c, lib/cflags-v13.c, lib/ncaps-net.c,
+         lib/nflags-net.c, lib/vserver.h: Support the prefixes for all
+         types of flags and capabilities.
+         Add NXF_INFO_PRIVATE.
+         Add NXF_HIDE_NETIF.
+         Add aliases for the legacy flags/caps so using the kernel's names
+         will work.
+         Add alias for VXC_SET_RLIMIT.
 
-2004-08-19 16:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-20 21:12  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/rpm-fake.c:
+       * lib/ccaps-v13.c: Recognize set_utsname as a ccap too.
 
-       fixed some #includes to reflect changed position of sys_clone.h
+2006-11-20 15:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver: Add --rescue-init to the --help message.
 
-       * src/fstool.h:
+2006-11-20 15:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       checkForRace(), resolveCtx(): removed prototypes
+       * distrib/redhat/initpost: Use --rescue-init.
 
-2004-08-19 16:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-20 15:10  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/fstool.c:
+       * scripts/vserver.functions, scripts/vserver.start: Don't set
+         _IS_FAKEINIT on rescue, let the caller decide with --rescue-init.
 
-       checkForRace(): removed as unused
+2006-11-20 15:09  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/legacy/vserver, scripts/vserver.start: Use
+         $_CHBIND_COMPAT directly for legacy.
 
-       * src/chxid.c:
+2006-11-20 15:01  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       use vc_xidopt2xid() instead of resolveCtx()
+       * src/naddress.c: Cosmetic fixes.
+         Make sure args.do_set is set to false initially.
 
-2004-08-19 16:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-20 12:46  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/sys_clone.h[DEAD]:
+       * scripts/vserver.functions: Make vserver <guest> start --rescue
+         ... work again.
 
-       moved into lib_internal/
+2006-11-20 00:23  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/Makefile-files, src/naddress.c: Make the prefix-to-netmask
+         conversion work on big-endian too.
+         Check for invalid prefixes.
+         Improve help message.
+         Add --set operation that removes all the old IP addresses first.
 
-       * src/fstool-resolvectx.c[DEAD]:
+2006-11-19 17:25  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       obsoleted; functionality is already in libvserver
-
-2004-08-19 16:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/testsuite/command.c:
-
-       applied API changes
-
-2004-08-19 16:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib_internal/command.h:
-
-       added support for plain-style char** args
+       * contrib/manifest.dat.pathsubst,
+         ensc_wrappers/wrappers-vserver.hc, lib/Makefile-files,
+         lib/nidopt2nid.c, lib/vserver.h, scripts/Makefile-files,
+         scripts/chbind, scripts/util-vserver-vars.pathsubst, src,
+         src/Makefile-files, src/chbind.c, src/naddress.c,
+         src/nattribute.c, src/ncontext.c: Break up the old chbind into
+         ncontext, nattribute, and naddress.
+         This is done mostly to add support for network flags and caps,
+         but also to get the same level of flexibility that the security
+         contexts have.
+         In addition, a vc_nidopt2nid was created to correctly map --nid
+         self to the current process's nid.
 
-2004-08-19 16:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-17 18:48  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/: command-appendparameter.c, command-exec.c,
-         command-free.c, command-init.c:
+       * scripts/chcontext: Fix chcontext --help and --version.
 
-       handle plain-style char** args also
+2006-11-17 18:42  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml: soft-limit and hard-limit.
 
-       * lib_internal/: command-setparams.c, sys_clone.h:
+2006-11-15 21:38  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       initial checkin
+       * distrib/fc5/yum.repos.d/fedora-core.repo,
+         distrib/fc5/yum.repos.d/fedora-extras-development.repo,
+         distrib/fc5/yum.repos.d/fedora-extras.repo,
+         distrib/fc5/yum.repos.d/fedora-legacy.repo,
+         distrib/fc5/yum.repos.d/fedora-updates-testing.repo,
+         distrib/fc5/yum.repos.d/fedora-updates.repo,
+         distrib/fc6/yum.repos.d/fedora-core.repo,
+         distrib/fc6/yum.repos.d/fedora-extras-development.repo,
+         distrib/fc6/yum.repos.d/fedora-extras.repo,
+         distrib/fc6/yum.repos.d/fedora-legacy.repo,
+         distrib/fc6/yum.repos.d/fedora-updates-testing.repo,
+         distrib/fc6/yum.repos.d/fedora-updates.repo: Use HTTP URLs for
+         the keys (insecure, I know), so it'll work on non-Fedora systems
+         as well.
 
-2004-08-19 16:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-15 20:14  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/Makefile-files:
+       * lib/Makefile-files, lib/syscall_ctxstat-v21.hc,
+         lib/syscall_ctxstat.c, lib/syscall_getvci-v21.hc,
+         lib/syscall_getvci.c, lib/syscall_resetminmax-v21.hc,
+         lib/syscall_resetminmax.c, lib/syscall_rlimitstat-v21.hc,
+         lib/syscall_rlimitstat.c, lib/syscall_virtstat-v21.hc,
+         lib/syscall_virtstat.c, lib/vserver.h: Add the new syscalls from
+         2.1.
 
-       added command-setparams.c and sys_clone.h
+2006-11-14 23:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml, scripts/functions: Enable namespace
+         cleanup by default.
+         Various cleanups in the documentation, make sure references work.
 
-       * contrib/manifest.dat.pathsubst:
+2006-11-14 22:09  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       marked vserver.start.bin as C99-only
+       * src/vlimit.c: strcpy copies \0, use memcpy instead.
 
-2004-08-19 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-13 21:53  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * pathconfig.h.pathsubst:
+       * doc/configuration.xml, lib/vserver.h, src/vlimit.c: Add the
+         VLIMITs.
+         Add RLIMIT_MSGQUEUE, define it ourselves if not present (like on
+         2.4).
 
-       added some new paths
+2006-11-13 18:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml, src/vsched.c: Cosmetic fixes for vsched.
+         Document the configuration format.
 
-       * Makefile.am:
+2006-11-11 02:05  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       automake-1.9 fixes: s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
-       removed some libtool-hacks which are not needed with automake-1.9 anymore
+       * scripts/vserver.start: Force update when starting the guest.
 
-2004-08-19 16:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-11 00:53  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * vserver-start/Makefile-files:
+       * src/vsched.c: Only bother with the first line of the files.
+         Add required cast.
 
-       automake-1.9 fixes: s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
-       added lots of new files
+2006-11-11 00:29  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 16:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver.functions, src/Makefile-files, src/vsched.c: Make
+         vsched capable of configuring the new scheduler using a new
+         configuration format (one value per file).
 
-       * src/Makefile-files:
+2006-11-05 17:48  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       automake-1.9 fixes: s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
-       removed src/sys_clone.h (now in lib_internal/)
-       removed src/fstool-resolvectx.c
+       * lib/syscall_setccaps-v21.hc, lib/syscall_setsched-v21.hc,
+         lib/vserver.h: Set svn:keywords.
+         Fix the vc_set_sched API to make more sense, and handle the logic
+         in the wrapper.
 
-2004-08-19 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-05 17:46  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/testsuite/Makefile-files, tests/Makefile-files:
+       * src/exec-ulimit.c: Reset the limits unconditionally.
+         Treat RLIMIT_NOFILE specially, since the kernel does.
+         Fix dietlibc'isms, and handle sys_old_getrlimit's values.
 
-       automake-1.9 fixes: s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
+2006-11-04 19:36  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 15:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/exec-ulimit.c: Reset all limits that aren't configured.
 
-       * lib/xidopt2xid.c:
+2006-11-04 13:59  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       removed code without an effect
+       * lib/syscall_setsched-v21.hc, lib/vserver.h: Fix typos from last
+         commit.
 
-2004-08-19 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-03 22:37  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/syscall-syscall.c:
+       * doc/configuration.xml, scripts/functions, scripts/vserver: Make
+         vlogin optional.
 
-       gcc35 fixes: do not make vc_syscall() an alias for vserver() but execute it.
+2006-11-03 19:59  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * Makefile.am, configure.ac, kernel/cacct.h, kernel/cacct_cmd.h,
+         kernel/cacct_def.h, kernel/cacct_int.h, kernel/context.h,
+         kernel/context_cmd.h, kernel/cvirt.h, kernel/cvirt_cmd.h,
+         kernel/cvirt_def.h, kernel/debug.h, kernel/debug_cmd.h,
+         kernel/dlimit.h, kernel/dlimit_cmd.h, kernel/global.h,
+         kernel/history.h, kernel/inode.h, kernel/inode_cmd.h,
+         kernel/limit.h, kernel/limit_cmd.h, kernel/limit_def.h,
+         kernel/limit_int.h, kernel/monitor.h, kernel/namespace_cmd.h,
+         kernel/network.h, kernel/network_cmd.h, kernel/sched.h,
+         kernel/sched_cmd.h, kernel/sched_def.h, kernel/signal_cmd.h,
+         kernel/switch.h, kernel/tag.h, kernel/xid.h, lib/Makefile-files,
+         lib/ccaps-v13.c, lib/cflags-v13.c, lib/nflags-net.c,
+         lib/syscall_setccaps-v13.hc, lib/syscall_setccaps-v21.hc,
+         lib/syscall_setccaps.c, lib/syscall_setsched-v13.hc,
+         lib/syscall_setsched-v21.hc, lib/syscall_setsched.c,
+         lib/vserver-internal.h, lib/vserver.h: This commit adds support
+         for the 2.1 vserver API.
+         Update the kernel headers to 2.1.1-rc47.
+         Add the new ccapabilities, context flags, and network flags.
+         Use the correct VCMDs for the older calls.
+         Add vc_set_sched_v21, to configure the new scheduler.
+         Add vc_set_ccaps_v21, which sets the ccaps and bcaps using the
+         new interfaces for that.
 
-       * lib/isfile.c:
+2006-11-03 16:20  Benedikt Böhm <hollow@gentoo.org>
 
-       initial checkin
+       * distrib/gentoo/initpost: init style gentoo will also work with
+         older baselayout-vserver
 
-2004-08-19 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-03 15:02  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib/internal.h:
+       * contrib/manifest.dat.pathsubst: Add vemerge, vesync, vupdateworld
+         and vdispatch-conf.
+         Fix the sort order a bit.
 
-       utilvserver_isFile(): added prototype
+2006-11-03 14:56  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml: bcapabilities and ccapabilities won't be
+         changing names any time soon, remove experimental marker.
+         ulimits are honored for 2.6 kernels as well.
+         Whitespace cleanup.
 
-       * lib/getvservercfgstyle.c:
+2006-11-03 14:36  Benedikt Böhm <hollow@gentoo.org>
 
-       fixed detection of legacy-style (check for file but not directory)
+       * distrib/gentoo/init-vserver.sh, scripts/Makefile-files,
+         scripts/vdispatch-conf, scripts/vemerge, scripts/vesync,
+         scripts/vserver.functions, scripts/vupdateworld: add gentoo
+         specific wrappers: vemerge, vesync, vupdateworld and
+         vdispatch-conf; add RUNLEVEL_START to gentoo init style
 
-2004-08-19 15:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-02 19:32  Benedikt Böhm <hollow@gentoo.org>
 
-       * lib/Makefile-files:
+       * distrib/gentoo/initpost: fix fstab fixing for gentoo/initpost
 
-       addded 'isfile.c'
+2006-11-01 19:46  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-08-19 15:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vyum-worker: Add missing space.
 
-       * ensc_wrappers/wrappers-stdlib.hc:
+2006-11-01 19:23  Benedikt Böhm <hollow@gentoo.org>
 
-       Esetenv(): added
+       * distrib/Makefile.am, distrib/gentoo/init-vserver.sh,
+         distrib/gentoo/initpost, distrib/gentoo/initpre,
+         scripts/vserver.functions: reimplement gentoo init style +
+         prepare distrib/gentoo for baselayout-1.13
 
-2004-08-19 15:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-11-01 15:34  Benedikt Böhm <hollow@gentoo.org>
 
-       * ensc_wrappers/wrappers-socket.hc:
+       * src/Makefile-files, src/chroot-sh.c: add mkdir and chmod
+         functions to chroot-sh
 
-       Esend(), Esocketpair(): added
+2006-10-31 14:33  Benedikt Böhm <hollow@gentoo.org>
 
-2004-08-19 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver-build.template: fix no_dev_sanity logic
 
-       * ensc_fmt/fmt-internal.h:
+2006-10-19 15:09  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       minor optimizations
+       * doc/configuration.xml, scripts/vserver.functions: Improve
+         namespace cleanup to make sure some required directories stick
+         around, and add some configuration options to exclude further
+         paths.
 
-2004-08-19 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-12 14:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * doc/configuration-xhtml.xsl:
+       * scripts/vyum-worker: Handle version 3.0 as well.
 
-       add '<ulink>' tag
+2006-10-07 18:03  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-08 13:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * NEWS, configure.ac, mkrelease: Version 0.30.211.
 
-       * doc/configuration.xml:
+2006-10-07 12:14  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       documented vdir, run, run.rev (provided by Olivier Poitrey)
-       added some links about [bc]capabilities and flags
-       added more scheduler doc (provided by Olivier Poitrey)
-       added some comments about 2.4 vs. 2.6 at rlimits/ulimits
-       added doc about rlimit's 'min' setting
+       * doc/configuration.xml: Fix typoed URL.
 
-2004-07-03 04:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-07 12:13  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * NEWS, configure.ac:
+       * scripts/vserver-build.fai: Point to the FAI wiki for information
+         about how to use it.
+         Make AUTO the default.
+         Move the prompt to after the trap has been setup.
+         Run base.__cleanup as the last step of killprocs, so the files
+         needed are still around for the rest of the cleanup.
+         Use isVserverRunning so the runfile is cleaned up too.
+         Mount the NFS-root and the target with -o dev, to allow the
+         device nodes.
 
-       version 0.30.190
+2006-10-04 16:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 03:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * contrib/manifest.dat.pathsubst: Add vserver-build.fai.
 
-       * doc/configuration.xml:
+2006-10-04 16:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       fixed path of the xsd file
+       * scripts/vserver-build.template: We can't remove dev/* if we're
+         not in the guest's root.
 
-2004-07-03 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-04 13:22  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * build-all:
+       * scripts/vserver-build.fai: Have vuname set the context as well,
+         so we can find it with vserver-info <name> CONTEXT.
 
-       added fc-2
+2006-10-04 13:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/secure-mount.c: Remove options that we parse ourselves, so
+         the kernel doesn't see them (and fail).
+         Reenable MS_NODEV default.
 
-       * scripts/vserver.functions:
+2006-10-04 12:33  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       prepareInit(): fixed case when .autofsck does not exist
+       * scripts/vserver.functions: If creation is failing, we want to see
+         the errors so it's debuggable.
 
-2004-07-03 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-03 18:37  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/chcontext:
+       * scripts/vserver-build.fai: Make sure we're running on a
+         sufficiently capable kernel.
+         Indent killprocs correctly.
+         Don't require a static xid by using save_ctxinfo.
+         Use secure-mount instead of mount.
+         Set a default hostname if none was specified.
 
-       accept --xid and prefer it against --ctx in the doc
-       added --silentexist option at --create
+2006-10-03 15:48  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * src/secure-mount.c: Revert NODEV default, as it makes it
+         impossible to mount (e.g.) a tmpfs that allows devices.
 
-       * distrib/suse91/apt/rpmpriorities:
+2006-10-03 13:14  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       initial checkin
+       * doc/configuration.xml: Add since=... where appropriate.
 
-2004-07-03 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-03 12:47  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/redhat/rc.sysinit:
+       * distrib/Makefile.am, distrib/fc6,
+         distrib/fc6/yum.repos.d/fedora-core.repo,
+         distrib/fc6/yum.repos.d/fedora-development.repo,
+         distrib/fc6/yum.repos.d/fedora-extras-development.repo,
+         distrib/fc6/yum.repos.d/fedora-extras.repo,
+         distrib/fc6/yum.repos.d/fedora-legacy.repo,
+         distrib/fc6/yum.repos.d/fedora-updates-testing.repo,
+         distrib/fc6/yum.repos.d/fedora-updates.repo: Add FC6 distribution
+         (doesn't work yet, but should once it's released).
 
-       call 'true' finally
+2006-10-03 11:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration-wiki.xsl: Move auto-generated notice to the
+         top.
 
-       * distrib/redhat/initpost:
+2006-10-01 17:27  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added comment about possible races
-       fixed /etc/inittab substitution
+       * scripts/Makefile-files, scripts/vserver-build,
+         scripts/vserver-build.fai: Add the fai build method based on Sam
+         Vilain's patch.
+         (https://savannah.nongnu.org/patch/?5058)
 
-2004-07-03 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-10-01 15:55  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/Makefile.am:
+       * doc/configuration.xml: Fix some spelling errors and update the
+         parameter lists to be correct.
 
-       added redhat/rc.sysinit
-       added suse/apt/rpmpriorities
-       moved suse/apt/sources.list into the cfgdir
+2006-09-29 22:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/syscall_ctxmigrate-v13.hc, lib/syscall_setnamespace-v13.hc:
+         Use the older versions of these syscalls, so the utils will work
+         on older kernels.
 
-       * contrib/manifest.dat.pathsubst:
+2006-09-28 22:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added vserver.start.bin
+       * doc/Makefile-files, doc/configuration-wiki.xsl: Add Tim Mecking's
+         XSL stylesheet for wiki exports.
 
-2004-07-03 03:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-28 15:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * vserver-start/Makefile-files:
+       * scripts/vserver-build: Cosmetic fixes to the help message.
 
-       use AM_INSTALLCHECK_STD_OPTIONS_EXEMPT for now
+2006-09-28 15:13  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 02:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver: Use a new namespace for the build process, so
+         any mounts performed during the build will vanish when it's done.
 
-       * distrib/Makefile.am:
+2006-09-28 15:10  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added suse91 files
+       * scripts/vapt-get, scripts/vserver: Make vserver ...
+         rpm/apt-get/apt-cache/apt-config work again.
 
-2004-07-03 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-28 15:08  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/: redhat/rc.sysinit, suse91/apt/sources.list,
-         suse91/initpost, suse91/pkgs/01, suse91/pkgs/02,
-         suse91/rpm/macros:
+       * Makefile.am, contrib/Makefile-files: Add more forgotten files.
 
-       initial checkin
+2006-09-28 15:06  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * Makefile.am, m4/changelog.am: Move flags to the same place they
+         were when cvs2cl was used.
 
-       * distrib/redhat/initpost:
+2006-09-28 15:05  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       some enhancements for 'plain' initstyle
+       * doc/configuration.xml: Fix URLs pointing to the source code.
 
-2004-07-03 02:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-26 17:15  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/testsuite/.cvsignore:
+       * contrib/yum-2.9.6-chroot.patch, scripts/vyum-worker: Add a patch
+         for yum 2.9.6 (for FC6).
+         Make vyum-worker use the hack configuration if the yum version is
+         unknown (-> unsupported), rather than silently creating really
+         strange directories.
 
-       added some files
+2006-09-26 17:12  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver-build: Fix help message to correspond with
+         reality.
 
-       * vserver-start/.cvsignore:
+2006-09-24 17:44  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       initial checkin
+       * scripts/vserver: This check was correct the first time,
+         (cond)restart just calls stop and start, so we need not handle
+         them specifically.
 
-2004-07-03 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-24 00:48  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * vserver-start/: configuration-init.c, configuration.c,
-         configuration.h, interface-add.c, interface-free.hc,
-         interface-init.hc, interface-read.c, interface.c, interface.h,
-         main.c, scriptlets.c, vserver-start.h, vshelper.c, vshelper.h:
+       * src/chroot-sh.c: Fix wrapper prefix so error messages say
+         chroot-sh: x.
 
-       initial checkin
+2006-09-21 19:44  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * m4/changelog.am, svnusers.map: Make ChangeLog prettier.
 
-       * vserver-start/Makefile-files:
+2006-09-21 19:43  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added lots of files
+       * src/secure-mount.c: Make nodev the default, but don't enforce it
+         for all mounts.
 
-2004-07-03 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-21 19:42  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/vserver-info.c:
+       * src/vlogin.c: Add the reset atexit handler right after setting
+         the terminal to raw mode, so we don't end up with a raw terminal
+         if (e.g.) openpty fails.
 
-       added CANONIFY tag
+2006-09-19 17:29  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * m4/ensc_pathprog.m4: Put /bin first in the searchpath when
+         looking for env, so we work around the /usr/bin/env-is-a-symlink
+         issue.
 
-       * src/secure-mount.c:
+2006-09-19 15:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       rewrite 'ext*' to 'ufs'
+       * contrib/manifest.dat.pathsubst, distrib/Makefile.am,
+         ensc_wrappers/Makefile-files: Fix Makefiles and the manifest to
+         include all the files needed.
 
-2004-07-03 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-18 15:20  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/: vserver.start, vserver.stop:
+       * distrib/centos4, distrib/centos4/yum.repos.d/CentOS-Base.repo,
+         distrib/centos4/yum/yum.conf, distrib/centos42: Rename centos42
+         to the more generic centos4, and change the URLs appropriately.
 
-       use a canonified lockfile-name
+2006-09-18 14:57  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver: Enter the namespace earlier so testing for files
+         (like /bin/bash, /etc/init.d/rc) works when the guest's root
+         filesystem is mounted from its fstab.
 
-       * scripts/vserver.functions:
+2006-09-16 17:26  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       function prepareInit(): do some cleanups in the plain-mode
+       * src/secure-mount.c: Fix logic errors in secure-mount.
 
-2004-07-03 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-16 14:21  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/functions:
+       * doc/configuration.xml, scripts/vserver.functions: Make novlandev
+         the default, but easily overridable for all guests.
 
-       vshelper.initSync(): use $1 instead of $VSERVER_DIR
+2006-09-16 12:28  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 01:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * kernel/limit_int.h, kernel/signal.h: Add forgotten kernel headers
+         (not important, but makes it easier to keep track).
 
-       * lib_internal/util.h:
+2006-09-15 21:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       include util-lockfile.h
-       canonifyVserverName(): added prototype
+       * kernel/context.h, kernel/context_cmd.h, kernel/cvirt.h,
+         kernel/cvirt_cmd.h, kernel/debug.h, kernel/dlimit_cmd.h,
+         kernel/inode.h, kernel/inode_cmd.h, kernel/legacy.h,
+         kernel/limit.h, kernel/limit_cmd.h, kernel/limit_def.h,
+         kernel/namespace.h, kernel/namespace_cmd.h, kernel/network.h,
+         kernel/sched.h, kernel/sched_cmd.h, kernel/signal_cmd.h,
+         kernel/switch.h, kernel/xid.h, lib/cflags-v13.c,
+         lib/syscall_ctxmigrate-v13.hc, lib/syscall_setnamespace-v13.hc,
+         lib/syscall_waitexit-v13.hc, lib/vserver.h: - Update the kernel
+         headers to 2.0.2.1.
+         - Add missing flags.
+         - Fix the calls that got updated so they work as expected.
 
-2004-07-03 01:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-15 20:15  Benedikt Böhm <hollow@gentoo.org>
 
-       * lib_internal/util-mem.h:
+       * scripts/vserver-wrapper: make vserver-wrapper gentoo compliant
 
-       optimized it a little bit
+2006-09-15 19:16  Benedikt Böhm <hollow@gentoo.org>
 
-2004-07-03 01:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * distrib/Makefile.am, distrib/gentoo, distrib/gentoo/initpost,
+         scripts/vserver-build.functions, scripts/vserver-build.template:
+         add gentoo distribution target; force sane /dev by default for
+         template build method
 
-       * lib_internal/pathinfo.h:
+2006-09-15 15:41  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       ENSC_PI_DECLARE(): added
+       * scripts/vserver.start: env doesn't grok --.
 
-2004-07-03 01:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-15 08:31  Benedikt Böhm <hollow@gentoo.org>
 
-       * lib_internal/command-wait.c:
+       * ., ChangeLog.sed, Makefile.svn, configure.ac, contrib/.cvsignore,
+         cvsusers.map, distrib/.cvsignore, doc/.cvsignore,
+         ensc_fmt/.cvsignore, ensc_vector/.cvsignore,
+         ensc_vector/testsuite/.cvsignore, lib/.cvsignore,
+         lib/apidoc/.cvsignore, lib/testsuite/.cvsignore,
+         lib_internal/.cvsignore, lib_internal/testsuite/.cvsignore,
+         m4/changelog.am, m4/ensc_changelog.m4, mkrelease,
+         scripts/.cvsignore, scripts/legacy/.cvsignore, src/.cvsignore,
+         src/testsuite/.cvsignore, sysv/.cvsignore, tests/.cvsignore,
+         vserver-start/.cvsignore: cleanup old cvs cruft; add mkrelease
+         script; use svn2cl instead of cvs2cl
 
-       fixed stupid typo
+2006-09-15 04:32  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 01:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/functions, scripts/vserver.stop, scripts/vshelper: Make
+         vshelper reboot/halt work correctly when CONFIG_VSERVER_LEGACY is
+         disabled and the helper is run synchronously.
 
-       * lib_internal/Makefile-files:
+2006-09-13 22:18  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added lots of new files
+       * scripts/vserver-build.functions.rpm: Fix RPM-based builds on
+         RHEL/CentOS 4.4.
 
-2004-07-03 01:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 18:35  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/: errinfo-writeerrno.c, errinfo.h,
-         filecfg-readentryflag.c, filecfg-readentrystr.c, filecfg.h,
-         util-canonify.c, util-lockfile.c, util-lockfile.h:
+       * contrib/manifest.dat.pathsubst, distrib/Makefile.am,
+         distrib/misc/environment, doc/configuration.xml,
+         scripts/vserver.functions, scripts/vserver.start: Add initial
+         environment support. Lets users work around their broken
+         initscripts inside guests when using the sysv initstyle.
 
-       initial checkin
+2006-09-12 17:19  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 01:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * configure.ac: Add ugly hack to workaround yum's problems with
+         file:////.
+         (https://savannah.nongnu.org/bugs/?15517)
 
-       * lib/vserver.h:
+2006-09-12 17:17  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       small cosmetical cleanups
+       * doc/configuration.xml, scripts/vserver.start: Add Herbert Pötzl's
+         patch to support initialization scriptlets.
 
-2004-07-03 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 17:09  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/misc/mtab:
+       * ensc_wrappers/wrappers-unistd.hc, scripts/vserver,
+         src/capchroot.c, src/vcontext.c: - Teach vcontext about usernames
+         (if dietlibc is used).
+         - Teach capchroot about uid 0.
+         - Add Einitgroups.
+         - Specify uid 0 by default, so username lookups are avoided.
 
-       s!ext2!ufs!
+2006-09-12 16:55  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-03 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * configure.ac, ensc_wrappers/wrappers-termios.hc,
+         ensc_wrappers/wrappers.h, scripts/vserver, src/Makefile-files,
+         src/vcontext.c, src/vlogin.c: Add vlogin, a terminal proxy for
+         vserver ... enter.
+         (https://savannah.nongnu.org/patch/?4969)
 
-       * pathconfig.h.pathsubst:
+2006-09-12 16:54  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added lots of PATH_* and PROG_* macros needed for vserver-start.bin
+       * scripts/vserver-build.template, scripts/vserver.delete: Add
+         forgotten svn:keywords.
 
-2004-07-03 01:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 16:33  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * build-all:
+       * configure.ac, contrib/manifest.dat.pathsubst,
+         scripts/Makefile-files, scripts/magic.mime,
+         scripts/util-vserver-vars.pathsubst, scripts/vserver-build,
+         scripts/vserver-build.template: Add support for vserver-build -m
+         template, which extracts tarballs.
 
-       removed gcc34 target (now default)
-       added gcc35 target (not working currently)
+2006-09-12 12:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-07-01 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/functions, scripts/vapt-get, scripts/vrpm,
+         scripts/vsomething: Make vrpm and vapt-get use vsomething.
+         Fix external package management so that the process is executed
+         in
+         the guest's network context, in case scriptlets restart daemons.
 
-       * scripts/vserver.start:
+2006-09-12 12:29  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       (re)enabled nice-support for 2.6 vservers which was omitted inadvertently
+       * contrib/manifest.dat.pathsubst, scripts/Makefile-files,
+         scripts/vserver, scripts/vserver.delete: Add a delete method to
+         remove guests, based on Thomas Champagne's
+         patch.
+         (https://savannah.nongnu.org/patch/?4899)
 
-2004-07-01 12:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 12:21  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/vlimit.c:
+       * doc/configuration.xml, scripts/functions,
+         scripts/vserver.functions: Apply Bastian Blank's userspace
+         namespace cleanup patch.
 
-       fixed misinterpretation of '--xid' introduced by rev 1.17
+2006-09-12 12:16  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-29 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * doc/configuration.xml, scripts/vserver-setup.functions,
+         scripts/vserver.functions, scripts/vserver.start,
+         scripts/vserver.stop, scripts/vserver.suexec: Apply Jan
+         Rekorajski's CPUSET patch.
+         (http://www.paul.sladen.org/vserver/archives/200511/0245.html)
 
-       * scripts/vserver-build.apt-rpm:
+2006-09-12 11:29  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       fixed installation at non-standard places
+       * distrib/Makefile.am, distrib/fc5, distrib/fc5/apt,
+         distrib/fc5/apt/rpmpriorities, distrib/fc5/apt/sources.list,
+         distrib/fc5/pkgs, distrib/fc5/pkgs/01, distrib/fc5/pkgs/02,
+         distrib/fc5/pkgs/03, distrib/fc5/rpmlist.d,
+         distrib/fc5/rpmlist.d/00.lst, distrib/fc5/yum,
+         distrib/fc5/yum.repos.d,
+         distrib/fc5/yum.repos.d/fedora-core.repo,
+         distrib/fc5/yum.repos.d/fedora-development.repo,
+         distrib/fc5/yum.repos.d/fedora-extras-development.repo,
+         distrib/fc5/yum.repos.d/fedora-extras.repo,
+         distrib/fc5/yum.repos.d/fedora-legacy.repo,
+         distrib/fc5/yum.repos.d/fedora-updates-testing.repo,
+         distrib/fc5/yum.repos.d/fedora-updates.repo,
+         distrib/fc5/yum/yum.conf, distrib/redhat/initpost,
+         scripts/vyum-worker: Add support for Fedora Core 5 and yum 2.6.
 
-2004-06-29 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 11:21  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/vserver-build:
+       * scripts/vserver-build, scripts/vserver-build.debootstrap: Add
+         support for specifying a debootstrap script.
 
-       fixed doc ('pkgcfgbase' vs. 'pkgbase')
+2006-09-12 11:14  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-27 16:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * lib/syscall-alternative.h: Update to the latest version of
+         Herbert's alternative syscall
+         implementation.
 
-       * lib_internal/Makefile-files:
+2006-09-12 11:11  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       added command* files and testsuite/
+       * lib_internal/sys_clone.h: Fix sys_clone usage on sparc and s390,
+         sparc returns parent pid in
+         the child and s390 has the arguments reversed.
 
-2004-06-27 16:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 11:09  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * lib_internal/command-appendparameter.c,
-         lib_internal/command-exec.c, lib_internal/command-free.c,
-         lib_internal/command-init.c, lib_internal/command-reset.c,
-         lib_internal/command-wait.c, lib_internal/command.h,
-         lib_internal/testsuite/.cvsignore,
-         lib_internal/testsuite/Makefile-files,
-         lib_internal/testsuite/command.c, build-all:
+       * scripts/legacy/vserver, scripts/vserver.functions: - Fix obsolete
+         nice usage.
+         - Make sure the correct nice value is used, even if the parent
+         process has a different one.
 
-       initial checkin
+2006-09-12 11:04  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-27 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * configure.ac: Fix API option parsing so oldproc and olduts are
+         valid options
+         (allowing for cut'n'paste from vserver-info to ./configure)
 
-       * src/vserver-stat.c:
+2006-09-12 10:54  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       enhanced output for old-style vservers
+       * scripts/start-vservers: Fixes start-vservers to work on _all_
+         guests when --all is specified,
+         as well as fixing the cleanup.
+         (https://savannah.nongnu.org/bugs/index.php?14525)
+         (https://savannah.nongnu.org/bugs/index.php?15632)
 
-2004-06-27 15:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 10:50  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * distrib/misc/debootstrap.uri:
+       * scripts/vserver.functions: Apply Christian Heim's patch to
+         deprecate the Gentoo initstyle
 
-       updated...
+2006-09-12 10:47  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-27 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/pkgmgmt, scripts/vserver.functions: Make fstab usage
+         consistent, fstab gets mounted first, then
+         fstab.local and then fstab.remote, unmounting in the reverse
+         order.
 
-       * src/vserver-info.c:
+2006-09-12 10:39  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       assume '- SYSINFO' when no other options are given
+       * scripts/vserver: Fix condrestart to actually do a conditional
+         restart
+         (https://savannah.nongnu.org/bugs/index.php?15678)
 
-2004-06-27 15:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 10:34  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * src/vcopy.c:
+       * scripts/vserver: Fix Usage: message for the main script.
+         (https://savannah.nongnu.org/bugs/index.php?15551)
 
-       made it work...
+2006-09-12 10:32  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-27 15:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * scripts/vserver-build.functions: Use $_SETATTR instead of chattr
+         to remove the barrier.
 
-       * scripts/vserver-build.skeleton:
+2006-09-12 10:30  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       do not fail when '-d' is not specified and distribution can not be detected
+       * scripts/chcontext: Fix chcontext so it passes --secure as the
+         first argument to
+         vattribute so it doesn't override the passed caps.
+         (https://savannah.nongnu.org/patch/?4993)
 
-2004-06-27 15:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-12 10:26  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-       * scripts/vserver-build.functions:
+       * lib/syscall_setccaps-v13.hc: Fix vc_set_ccaps to work the way the
+         kernel expects it to
+         (https://savannah.nongnu.org/patch/?4968)
 
-       getDistribution(): added detection for slackware and gentoo
+2006-09-12 10:22  Daniel Hokka Zakrisson <daniel@hozac.com>
 
-2004-06-27 15:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * man/chcontext.8: Apply Micah Anderson's patch fixing chcontext's
+         man page section
+         (https://savannah.nongnu.org/bugs/index.php?16083)
 
-       * scripts/vprocunhide:
+2006-09-10 17:26  Benedikt Böhm <hollow@gentoo.org>
 
-       fixed typos
+       * util-vserver: remove util-vserver dir
 
-2004-06-27 15:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-09-10 17:07  Benedikt Böhm <hollow@gentoo.org>
 
-       * lib_internal/unify-unify.c:
+       * AUTHORS, ChangeLog.sed, Makefile.am, NEWS, README, REQUIREMENTS,
+         THANKS, build-all, compat-c99.h, compat.h, configure.ac, contrib,
+         cvsusers.map, distrib, doc, ensc_fmt, ensc_vector, ensc_wrappers,
+         kernel, lib, lib_internal, m4, man, pathconfig.h.pathsubst,
+         scripts, src, sysv, tests, update-doc, util-vserver.spec.in,
+         util-vserver/AUTHORS, util-vserver/ChangeLog.sed,
+         util-vserver/Makefile.am, util-vserver/NEWS, util-vserver/README,
+         util-vserver/REQUIREMENTS, util-vserver/THANKS,
+         util-vserver/build-all, util-vserver/compat-c99.h,
+         util-vserver/compat.h, util-vserver/configure.ac,
+         util-vserver/contrib, util-vserver/cvsusers.map,
+         util-vserver/distrib, util-vserver/doc, util-vserver/ensc_fmt,
+         util-vserver/ensc_vector, util-vserver/ensc_wrappers,
+         util-vserver/kernel, util-vserver/lib, util-vserver/lib_internal,
+         util-vserver/m4, util-vserver/man,
+         util-vserver/pathconfig.h.pathsubst, util-vserver/scripts,
+         util-vserver/src, util-vserver/sysv, util-vserver/tests,
+         util-vserver/update-doc, util-vserver/util-vserver.spec.in,
+         util-vserver/vserver-start, vserver-start: skip duplicate
+         util-vserver dir
 
-       Unify_unify(): made it work also when destination file does not exist (needed for vcopy)
+2006-03-26 11:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-27 15:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/Makefile-files,
+         util-vserver/contrib/yum-2.6.0-chroot.patch: added
+         yum-2.6.0-chroot.patch
 
-       * lib_internal/unify-settime.c:
+2006-01-22 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Unify_setTime(): skip operation on symlinks
+       * util-vserver/NEWS, util-vserver/configure.ac,
+         util-vserver/util-vserver.spec.in: version 0.30.210
 
-2004-06-27 15:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-22 19:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/src/capchroot.c, util-vserver/src/chcontext.c,
+         util-vserver/src/reducecap.c: use stdout instead of stderr for
+         the no-compat API warnings on '--help';
+         else, 'make distcheck' will fail
 
-       vc_syscall(): added prototype
-       added/updated some doc
+2006-01-22 19:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-27 15:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore: updated
 
-       * lib/syscall-syscall.c:
+2006-01-22 18:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/build-all: added testcases for the
+         '--enable-apis=NOLEGACY' configure switch
 
-2004-06-27 15:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-22 18:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getvserverbyctx-compat.hc, getvserverctx.c:
+       * util-vserver/lib_internal/testsuite/Makefile-files: added
+         dietlibc + glibc versions of the isnumber and sigbus tests
 
-       added legacy support
+2006-01-22 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-27 15:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: - declare the VC_ENABLE_API_* macros
+         through AH_TEMPLATE()
+         - provide only the v13,net APIs by default
+         - added support for v13obs API
 
-       * lib/Makefile-files:
+2006-01-22 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added syscall-syscall.c
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: do not provide
+         Evc_new_s_context() wrapper without the required API
 
-2004-06-27 15:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-22 18:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_fmt/fmt.h:
+       * util-vserver/lib/vserver-internal.h: use the new
+         VC_ENABLE_API_V13OBS define
 
-       cleanups; removed unneeded #undef's
+2006-01-22 18:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-27 14:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall.c: added linktime warning for
+         vc_set_ipv4root()
 
-       * doc/configuration.xml:
+2006-01-22 18:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added comment about 'capabilities' file and kernelversion
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall_setsched-v13.hc,
+         util-vserver/lib/syscall_setsched-v13obs.hc,
+         util-vserver/lib/syscall_setsched.c: split vc_set_sched_v13obs()
+         into an own file
 
-2004-06-17 23:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-22 18:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * vserver-start/Makefile-files:
+       * util-vserver/src/chbind.c, util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/vserver-info.c: fixed compilation for disabled
+         compat/legacy API
 
-       initial checkin
+2006-01-22 18:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-17 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/capchroot.c, util-vserver/src/chcontext.c,
+         util-vserver/src/reducecap.c: added some workarounds so that it
+         build without compat/legacy API
+         resp. give out warnings explaining the situation
 
-       * Makefile.am:
+2006-01-22 13:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added silent.% target
-       include ensc_fmt/ and vserver-start/ files
-       minor cosmetical fixes
+       * util-vserver/Makefile.am: added support for $(pkgcachedir)
 
-2004-06-16 12:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-22 13:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_vector/: Makefile-files, vector-zeroend.c, vector.h:
+       * util-vserver/doc/configuration.xml: - documented
+         /etc/vservers/.defaults/cachebase + /etc/vservers/.../cache
+         - documented default value of /etc/vservers/.../vdir
 
-       added Vector_zeroEnd() function
+2006-01-22 13:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-06-16 12:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: - do not require 'xalan'
+         anymore by default
+         - removed 'Requires: apt'; apt-rpm is not maintained upstream
+         anymore
+         - removed 'chattr' leftovers
+         - create the '/etc/vservers/.defaults/cachebase' symlink
+         - added /var/cache/vservers and the needed support
+         - set barrier attribute on /vservers/.pkg and /vservers/.hash
+         - added 'centos-release' to the list of packages in the
+         copy-the-keys
+         trigger script
+         - create '/vservers/.hash' and add initial configuration for it
+
+2006-01-22 13:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/THANKS: - fixed ngnet -> non-legacy network
+         confusion
+         - mentioned improved dlimit support
+
+2006-01-22 12:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/vserver-build.debootstrap: - changed the way
+         how temporary files/directories will be created:
+         
+         * mktemp will now be called with the '-t' parameter and sometimes
+         with
+         '-p'
+         * absolutes paths (e.g. '/tmp') were removed from the templates
+         * with this changes, it is now possible to override the location
+         of
+         the temporary files by setting $TMPDIR. This should add a way to
+         solve problems like debootstrap on non-executable tmp-directories
+         (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=15447)
+         
+         These changes require that 'mktemp' understands the following
+         switches:
+         
+         * '-t' ... Generate a path rooted in a temporary directory.
+         * '-d' ... Make a directory instead of a file.
+         * '-p' ... Use the specified directory as a prefix when
+         generating
+         the temporary filename.
+         
+         Because 'mktemp' from Debian Woody's 'debianutils_1.16.2woody1'
+         supports these features every recent Linux distribution should do
+         it
+         also.
+         
+         - allow to override path of the debootstrap binary with the
+         $DEBOOTSTRAP
+         environment variable
+
+2006-01-22 12:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/functions, util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/start-vservers,
+         util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vserver-build.rpm,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start: changed the way how temporary
+         files/directories will be created:
+         
+         * mktemp will now be called with the '-t' parameter and sometimes
+         with
+         '-p'
+         * absolutes paths (e.g. '/tmp') were removed from the templates
+         * with this changes, it is now possible to override the location
+         of
+         the temporary files by setting $TMPDIR. This should add a way to
+         solve problems like debootstrap on non-executable tmp-directories
+         (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=15447)
+         
+         These changes require that 'mktemp' understands the following
+         switches:
+         
+         * '-t' ... Generate a path rooted in a temporary directory.
+         * '-d' ... Make a directory instead of a file.
+         * '-p' ... Use the specified directory as a prefix when
+         generating
+         the temporary filename.
+         
+         Because 'mktemp' from Debian Woody's 'debianutils_1.16.2woody1'
+         supports these features every recent Linux distribution should do
+         it
+         also.
+
+2006-01-22 12:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/vserver.functions: - the 'dlimit' stuff uses
+         now a /etc/vservers/*/cache symlink pointing
+         somewhere to /var/cache
+         - _setSingleDiskLimit(): use one $_VDU call instead of two
+         - give out a warning when dlimit/ stuff is configured but no
+         cache
+         symlink is existing
+
+2006-01-22 12:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/vserver-build.functions: create the
+         /etc/vservers/*/cache symlink
+
+2006-01-22 11:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/vdu.c: rearranged some bits so that toplevel
+         directory will be counted too
+
+2006-01-22 11:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/Makefile-files: link 'vdu' against
+         'libinternal.a'
+
+2006-01-22 11:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/vdu.c: - rewrote the directory traversal code to
+         use 'EsafeChdir()' and
+         friends
+         - allow to specify both '--inodes' and '--space'
+         - use 'isNumber()'
+
+2006-01-22 11:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/vserver-info.c: apply new 'isNumber()' API
+
+2006-01-22 11:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         __PKGCACHEDIR
+
+2006-01-22 11:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/lib_internal/Makefile-files,
+         util-vserver/lib_internal/util-isnumber.c,
+         util-vserver/lib_internal/util-isnumber.hc,
+         util-vserver/lib_internal/util-isnumberunsigned.c,
+         util-vserver/lib_internal/util.h: enhanced the isNumber() method:
+         * now, it accepts units like 'm' or 'K'; 'isNumber()' needs now a
+         third parameter telling whether to interprete the number strictly
+         or
+         whether to accept such units
+         * an 'isNumberUnsigned()' method was created for unsigned types;
+         an
+         'util-isnumber.hc' template file was created for this purpose
+         * proper tests for over/underflow were implemented
+
+2006-01-22 11:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/lib_internal/testsuite/Makefile-files,
+         util-vserver/lib_internal/testsuite/isnumber.c: added isnumber.c
+         testcase which checks the isNumber() and
+         isNumberUnsigned() methods
+
+2006-01-22 11:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/ensc_wrappers/Makefile-files,
+         util-vserver/ensc_wrappers/wrappers-stat.hc,
+         util-vserver/ensc_wrappers/wrappers.h: added wrappers-stat.hc
+         which implements wrappers for the *stat(2)
+         functions
+
+2006-01-21 13:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/doc/configuration.xml,
+         util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/src/Makefile-files, util-vserver/src/vdu.c: applied
+         http://savannah.nongnu.org/patch/?func=detailitem&item_id=4814
+         (Daniel Hokka Zakrisson):
+         
+         This patch lets users configure disk limits in
+         /etc/vservers/<name>/dlimits/*/, and have them set on the start
+         of the
+         vserver, as well as saved when stopping the vserver.
+         
+         For counting the amount of inodes and space used by a certain
+         vserver
+         on a filesystem, I modified the old and broken vdu program (vdu
+         bin
+         etc would not find etc, for instance) and made it useful again.
+         
+         The cache files will probably need some love, I'm a bit uncertain
+         as
+         to where to put them (or rather, the symlink to their location).
+         
+         This is the last piece of the disk limits puzzle. A variant of
+         this
+         would be really nice to have in 0.30.210. (do you have an ETA on
+         that,
+         btw?)
 
-       * lib/Makefile-files:
+2006-01-18 23:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved fmt* functionality into the 'ensc_fmt' module
-       removed '-D_REENTRANT' as it is defined globally
+       * util-vserver/lib/vserver-internal.h:
+         NETTYPE_USER2KERNEL/NETTYPE_KERNEL2USER: handle IPv6 bcast case,
+         too
 
-2004-06-16 12:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-18 23:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_fmt/.cvsignore, ensc_fmt/Makefile-files, ensc_fmt/fmt-32.c,
-         ensc_fmt/fmt-64.c, ensc_fmt/fmt-internal.h,
-         ensc_fmt/fmt-tai64n.c, ensc_fmt/fmt.h, ensc_fmt/fmt.hc,
-         ensc_fmt/fmtx-32.c, ensc_fmt/fmtx-64.c, ensc_fmt/fmtx.hc,
-         lib/fmt-32.c[DEAD], lib/fmt-64.c[DEAD], lib/fmt-internal.h[DEAD],
-         lib/fmt.h, lib/fmt.hc[DEAD], lib/fmtx-32.c[DEAD],
-         lib/fmtx-64.c[DEAD], lib/fmtx.hc[DEAD]:
+       * util-vserver/lib/vserver.h: adjusted the vc_net_nx_type enum so
+         that the NETTYPE_USER2KERNEL() can
+         be optimized
 
-       moved fmt* functionality into the 'ensc_fmt' module
+2006-01-18 23:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-27 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/THANKS, util-vserver/lib/syscall_netadd-net.hc,
+         util-vserver/lib/syscall_netadd.c,
+         util-vserver/lib/syscall_netremove-net.hc,
+         util-vserver/lib/syscall_netremove.c,
+         util-vserver/lib/vserver-internal.h,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/src/chbind.c: applied vnet patch from Daniel Hokka
+         Zakrisson
+         (http://savannah.nongnu.org/patch/?func=detailitem&item_id=4799)
 
-       * src/vcontext.c:
+2006-01-18 23:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       s!fakeinit!initpid! at some places
+       * util-vserver/lib/vserver.h: * vcFeatureSet: added vcFEATURE_VNET
+         enum
+         * applied vnet patch from Daniel Hokka Zakrisson
+         (http://savannah.nongnu.org/patch/?func=detailitem&item_id=4799)
 
-2004-05-27 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-18 23:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/lib/issupported.c,
+         util-vserver/lib/issupportedstring.c: added support for
+         vcFEATURE_VNET feature
 
-       use '--fakeinit' by default; users will have to disable it explicitly
-       by putting '~fakeinit' into the 'flags' configuration file
+2006-01-18 23:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-27 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/checkversion.c: minor formation fixups
 
-       * scripts/vserver-build.debootstrap:
+2006-01-04 17:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
+       * util-vserver/src/testsuite,
+         util-vserver/src/testsuite/.cvsignore,
+         util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/hashcalc-plain.c,
+         util-vserver/src/testsuite/hashcalc-plain.sh: added
+         'hashcalc-plain' tests to track down broken beecrypt/vhashify on
+         some Debians
 
-2004-05-27 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-04 13:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * README:
+       * util-vserver/distrib/misc/vprocunhide-files: readded
+         /proc/version; it is expected by several programs
 
-       fixed typos
+2006-01-04 12:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-27 02:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver, util-vserver/.cvsignore: added csope.out
 
-       * scripts/chcontext:
+2006-01-04 12:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       s!fakeinit!initpid! at some places
+       * util-vserver/lib/syscall_getvhiname-v13.hc:
+         vc_get_vhi_name_v13(): added comment near the strncpy(3) call
+         which
+         tells that an explicit termination with '\0' is not wanted
 
-2004-05-27 02:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-04 12:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/misc/debootstrap.uri:
+       * util-vserver/lib_internal/util-unixsock.h: ENSC_INIT_UNIX_SOCK():
+         be more effective in an strncpy(3) call and
+         avoid potential copying of an char which gets overridden later
 
-       updated
+2006-01-03 00:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-27 02:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: parameterized '-j' flag
 
-       * util-vserver.spec.in:
+2006-01-03 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       (re)added the MANIFEST_* variables which were lost some time ago; this
-       will preserve %%config files...
+       * util-vserver/Makefile.am: removed old kernel headers
 
-2004-05-27 02:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-02 23:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/distrib/misc/vprocunhide-files: hide /proc/cmdline
+         and /proc/version because they can reveal information
+         about the host system
 
-       make util-vserver.spec readonly to prevent losing of changes
+2006-01-02 23:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-27 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: updated url
 
-       * README:
+2006-01-02 23:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added content
+       * util-vserver/scripts/functions,
+         util-vserver/scripts/vserver-setup.functions: updated dates in
+         the copyright notices
 
-2004-05-22 02:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2006-01-02 23:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/vprocunhide:
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt_def.h,
+         util-vserver/kernel/debug.h, util-vserver/kernel/global.h,
+         util-vserver/kernel/inode.h, util-vserver/kernel/limit.h,
+         util-vserver/kernel/limit_def.h, util-vserver/kernel/network.h,
+         util-vserver/kernel/sched_def.h, util-vserver/kernel/signal.h,
+         util-vserver/kernel/xid.h: updated to 2.6.14.3-vs2.01 headers
 
-       fixed rc conflict with /etc/rc.d/functions; reported by taxcollector
-       in https://savannah.nongnu.org/bugs/?func=detailitem&item_id=9052
+2006-01-02 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-21 17:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions:
+         s!/etc/slackware-release!/etc/slackware-version! (reported by
+         bubulak)
 
-       * configure.ac, m4/gpgsig.am:
+2005-12-31 10:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for the default GPG key
+       * util-vserver/scripts/functions: isDirectoryEmpty(): really ignore
+         'lost+found' by checking against the full
+         path
+         (https://savannah.nongnu.org/patch/?func=detailitem&item_id=4714,
+         patched by XeRO)
 
-2004-05-21 17:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-12-31 10:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: functions, vapt-get, vrpm:
+       * util-vserver/scripts/functions: colpanic(): added missing 'error'
+         keyword for the colorize call (issue
+         15281, reported and patched by Micah Anderson)
 
-       added some color to the life
+2005-12-31 10:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-20 02:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall-fallback.h: added syscall numbers for
+         hppa (263) and m32r (273)
 
-       * scripts/: pkgmgmt, vserver:
+2005-12-31 10:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       mount filesystems on 'vserver ... pkgmgmt ...' operations
+       * util-vserver/src/secure-mount.c: - mount some more filesystems
+         internally instead of calling the
+         external 'mount' command
+         - fixed MS_NODEV handling
 
-2004-05-19 01:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-12-31 10:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS:
+       * util-vserver/doc/configuration.xml,
+         util-vserver/scripts/vserver.functions: added 'novlandev'
+         interface flag
 
-       version 0.29.214
+2005-10-31 09:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-19 01:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vyum-worker: made it work with yum 2.4.0
 
-       * distrib/misc/debootstrap.uri:
+2005-10-30 16:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated URL (again...)
+       * util-vserver/distrib/centos42/yum/yum.conf,
+         util-vserver/distrib/fc3/yum/yum.conf,
+         util-vserver/distrib/fc4/yum/yum.conf: added
+         'installonlypkgs=/exactarch=0' entries
 
-2004-05-19 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-30 16:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/: Makefile.am, fc2/apt/rpmpriorities,
-         fc2/apt/sources.list, fc2/pkgs/01, fc2/pkgs/02:
+       * util-vserver/lib/Makefile-files: added
+         'ensc_fmt/lib_libvserver_a-%' to DIETPROGS; this fixes problems
+         e.g. with FC5's stack-protector
 
-       added fc2 support
+2005-10-30 10:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-19 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.209
 
-       * contrib/manifest.dat.pathsubst:
+2005-10-30 10:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed clearenv, added sigexec
+       * util-vserver/scripts/vserver.functions: call 'vattribute' with
+         '--flag default'
 
-2004-05-19 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-30 10:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/lib/cflags-v13.c: added 'default' and 'secure'
+         pseudo flags; they are open for enhancements
+         but VC_VXF_VIRT_UPTIME seems to be the only flag for 'default'
+         without
+         sideeffects
 
-       s!@PACAKGE@!%name! at some places
+2005-10-29 16:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-19 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat/initpost: added code to execute
+         'killall5 -15' in the halt script; this should
+         fix the minilogd issues with CentOS and older RH releases
 
-       * Makefile.am:
+2005-10-29 16:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       substitute ENV
+       * util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/vwait-test.sh: added 'vwait-test.sh'
 
-2004-05-11 20:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-29 16:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac, scripts/util-vserver-vars.pathsubst,
-         scripts/vserver.start, src/Makefile-files, src/clearenv.c[DEAD]:
+       * util-vserver/scripts/vserver.functions: ok... try #3 of the new
+         vwait stuff: it seems to be a good idea to
+         read files *after* they are filled with content...
 
-       use 'env' instead of 'clearenv'; the '-i' switch is SUSv3 and every implementation should have it...
+2005-10-29 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-11 20:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop: execute waitForSync everytime
+         and not only when the shutdown succeeded
 
-       * src/sigexec.c:
+2005-10-29 15:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: fixed the TIMEOUT case in
+         yet another way: now, start 'vkill' and a
+         killall command in the same backgrounded subshell. Parameter
+         committal
+         between the different shell instances is a horror and just a
+         question
+         of time until it breaks :(
 
-2004-05-11 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-29 15:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: context-sync.hc, vnamespace.c, vps.c:
+       * util-vserver/scripts/start-vservers: add newlines in the makefile
+         generated for the 'stop' case; else, there
+         will be multiple target-dependency pairs on the same line
+         [reported by
+         Daniel Kraft]
 
-       set SIGCHLD sigmask to an expected value (SIG_DFL)
-       use new exitLikeProcess() interface
+2005-10-29 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-11 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vdlimit.c: - revert a previous vc_add_dlimit()
+         when vc_set_dlimit() fails
+         - added some basic sanity checks for the parameters given on the
+         CLI
+         [both reported by Kevin Pendleton;
+         https://savannah.nongnu.org/bugs/?func=detailitem&item_id=14026]
 
-       * src/: chcontext.c, secure-mount.c, vcontext.c, vkill.c:
+2005-10-29 14:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       set SIGCHLD sigmask to an expected value (SIG_DFL)
+       * util-vserver/doc/configuration.xml: - removed documentation about
+         single flags; it was broken and outdated
+         - added link to http://linux-vserver.org/Scheduler+Parameters for
+         the
+         scheduler params
+         [both
+         https://savannah.nongnu.org/bugs/?func=detailitem&item_id=14331]
 
-2004-05-11 20:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-29 12:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/scripts/vserver.functions: - initWait(): call
+         'vwait' without --terminate; this is required to
+         give out a list of processes in _waitForVWait
+         - _waitForVWait(): when 'vwait' returns with 'TIMEOUT', give out
+         the
+         list of current processes and kill the context manually
 
-       execute vshelper through 'sigexec' to set expected sigmask
+2005-10-29 12:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-11 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: fillName(): initialize
+         'obj->cfgstyle' to vcCFG_AUTO
+
+2005-10-29 12:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: .cvsignore, Makefile-files:
+       * util-vserver/scripts/vserver-build.debootstrap: on non-debian
+         machines (resp. those without debootstrap), generate
+         '$DEBOOTSTRAP_DIR/arch' with the current architecture [reported
+         by
+         Nicolas Costes;
+         http://savannah.nongnu.org/bugs/?func=detailitem&item_id=14589]
+
+2005-10-29 12:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/start-vservers: - verifyVserver():
+         implemented it
+         - added some sanity checks to make sure that the 'depends' files
+         are
+         containing valid vserver names; the verifyVserver() function is
+         used
+         by these checks
+
+2005-10-29 12:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/lib/getvserverctx.c: vc_getVserverCtx(): allow
+         vc_get_vx_info() to fail but check for
+         errno==ESRCH; for xid!=0, this syscall will return ENOSYS always
+
+2005-10-29 10:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/testsuite/hashcalc.c: added some stack checks
+
+2005-10-29 10:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/vwait.c: do not include "linuxvirtual.h"
+         anymore; it's not needed
+
+2005-10-29 10:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/lib/getnbipv4root.c,
+         util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/isdynamicxid.c,
+         util-vserver/lib/syscall_adddlimit.c,
+         util-vserver/lib/syscall_cleanupnamespace.c,
+         util-vserver/lib/syscall_ctxcreate.c,
+         util-vserver/lib/syscall_ctxmigrate.c,
+         util-vserver/lib/syscall_enternamespace.c,
+         util-vserver/lib/syscall_getccaps.c,
+         util-vserver/lib/syscall_getcflags.c,
+         util-vserver/lib/syscall_getdlimit.c,
+         util-vserver/lib/syscall_getiattr.c,
+         util-vserver/lib/syscall_getncaps.c,
+         util-vserver/lib/syscall_getnflags.c,
+         util-vserver/lib/syscall_getnxinfo.c,
+         util-vserver/lib/syscall_gettasknid.c,
+         util-vserver/lib/syscall_gettaskxid.c,
+         util-vserver/lib/syscall_getvhiname.c,
+         util-vserver/lib/syscall_getvxinfo.c,
+         util-vserver/lib/syscall_kill.c,
+         util-vserver/lib/syscall_netadd.c,
+         util-vserver/lib/syscall_netcreate.c,
+         util-vserver/lib/syscall_netmigrate.c,
+         util-vserver/lib/syscall_netremove.c,
+         util-vserver/lib/syscall_remdlimit.c,
+         util-vserver/lib/syscall_rlimit.c,
+         util-vserver/lib/syscall_setccaps.c,
+         util-vserver/lib/syscall_setcflags.c,
+         util-vserver/lib/syscall_setdlimit.c,
+         util-vserver/lib/syscall_setiattr.c,
+         util-vserver/lib/syscall_setnamespace.c,
+         util-vserver/lib/syscall_setncaps.c,
+         util-vserver/lib/syscall_setnflags.c,
+         util-vserver/lib/syscall_setsched.c,
+         util-vserver/lib/syscall_setvhiname.c,
+         util-vserver/lib/syscall_waitexit.c, util-vserver/src/vkill.c:
+         include "virtual.h" instead of "linuxvirtual.h"
 
-       added sigexec
+2005-10-29 09:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-11 20:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/hashcalc.c: use our 'assert' from
+         "lib_internal/coreassert.h"
+         use Vwrite() instead of write()
+
+2005-10-29 09:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util-exitlikeprocess.h:
+       * util-vserver/src/vhashify.c: cleanups; undefine macros after
+         their use, set some UNUSED attributes
+         and 'return EXIT_SUCCESS' in main to make the testsuite happy
+         (where
+         main() is not main())
 
-       exitLikeProcess(): readded the 'NORETURN' and added a 'ret' parameter
+2005-10-29 09:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-11 20:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat/initpost: start the vserver with the
+         '--rescue' option and execute operations
+         like 'chkconfig' there
 
-       * lib_internal/util-exitlikeprocess.c:
+2005-10-29 08:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       exitLikeProcess(): never return...
+       * util-vserver/THANKS: mentioned Herbert and his alternative
+         syscall implementation
 
-2004-05-11 20:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-29 08:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/switchtowatchxid.c:
+       * util-vserver/src/fstool.c: when giving a directory and other
+         filesystem objects on the CLI, the
+         fstool based applications (showattr, setattr, chxid) changed into
+         this
+         directory without going back. So the other objects can not be
+         found
+         anymore (resp. the wrong ones) [reported and patched by Daniel
+         Hokka
+         Zakrisson;
+         http://savannah.nongnu.org/bugs/?func=detailitem&item_id=14313]
 
-       switchToWatchXid(): modified the new migrate-path to work when there exists a process in xid 1 already
+2005-10-28 18:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 04:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: use new syntax for
+         '--rescue-cmd'
 
-       * configure.ac, NEWS:
+2005-10-28 18:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.213
+       * util-vserver/scripts/vserver-build.skeleton: use new
+         getDistribution API
 
-2004-05-08 03:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-28 18:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/exec-ulimit.c:
+       * util-vserver/scripts/vserver-build.functions: when building new
+         vservers allow empty directories for their roots
+         improved error messages a little bit
 
-       added support for 'core'
+2005-10-28 18:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: updated help msg for '--rescue'
 
-       * src/vps.c:
+2005-10-28 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new exitLikeProcess() interface
-       better error-handling
+       * util-vserver/scripts/functions: colorize/colpanic(): reset
+         attributes after giving out the message
 
-2004-05-08 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-28 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: context-sync.hc, vnamespace.c:
+       * util-vserver/distrib/Makefile.am, util-vserver/distrib/centos42,
+         util-vserver/distrib/centos42/pkgs,
+         util-vserver/distrib/centos42/pkgs/01,
+         util-vserver/distrib/centos42/pkgs/02,
+         util-vserver/distrib/centos42/pkgs/03,
+         util-vserver/distrib/centos42/yum,
+         util-vserver/distrib/centos42/yum.repos.d,
+         util-vserver/distrib/centos42/yum.repos.d/CentOS-Base.repo,
+         util-vserver/distrib/centos42/yum/yum.conf,
+         util-vserver/util-vserver.spec.in: added centos42 support
 
-       use new exitLikeProcess() interface
+2005-10-28 17:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: updated debootstrap
+         url
 
-       * scripts/: vserver.start, vserver.stop:
+2005-10-28 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added locking
-       call setDefaultTTY() correctly
+       * util-vserver/m4/ensc_syscall.m4: do not define
+         ENSC_SYSCALL_TRADITIONAL when alternative syscalls are available
 
-2004-05-08 03:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-28 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.apt-rpm:
+       * util-vserver/lib/syscall_ctxcreate-v13.hc: use VCMD_ctx_create_v0
+         instead of VCMD_ctx_create
 
-       call 'vapt-get -- clean' after building the vserver
+2005-10-28 17:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvserverctx.c: include "internal.h"
 
-       * scripts/functions:
+2005-10-28 17:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       setDefaultTTY(): redirect every descriptors
+       * util-vserver/Makefile.am, util-vserver/kernel/context.h,
+         util-vserver/kernel/cvirt_def.h, util-vserver/kernel/debug.h,
+         util-vserver/kernel/global.h, util-vserver/kernel/limit.h,
+         util-vserver/kernel/limit_def.h, util-vserver/kernel/network.h,
+         util-vserver/kernel/sched_def.h, util-vserver/kernel/signal.h,
+         util-vserver/kernel/xid.h: updated to 2.6.13.3-vs2.1.0-rc4
+         headers
 
-2004-05-08 03:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-28 16:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util-exitlikeprocess.h:
+       * util-vserver/lib/syscall-alternative.h: updated to
+         http://vserver.13thfloor.at/Experimental/SYSCALL/syscall_shiny7.h
 
-       exitLikeProcess(): removed the 'NORETURN'; this causes strange error when the function returns
-       exitLikeProcess(): added a second, 'char *' parameter for the human readable command
+2005-10-28 16:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall-fallback.h: added syscall-fallback.h
 
-       * lib_internal/util-exitlikeprocess.c:
+2005-10-28 16:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       be more verbose when sending a signal
+       * util-vserver/m4/pkgconfig.am: do not use multiline sed
+         expressions anymore; instead of, assign and
+         use a Makefile variable
 
-2004-05-08 03:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-28 16:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/cflags.c:
+       * util-vserver/m4/ensc_syscallnr.m4: - do not use the local
+         kernelheaders anymore; this causes problems on
+         cross-compiling
+         - use a fallback headerfile to determine syscall #
 
-       some changes to make gcc34 happy
+2005-10-28 16:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am, util-vserver/configure.ac,
+         util-vserver/lib/syscall.c, util-vserver/m4/ensc_kerneldir.m4,
+         util-vserver/m4/ensc_syscall.m4: do not use the local
+         kernelheaders anymore; this causes problems on
+         cross-compiling
 
-       * lib/val2text.hc:
+2005-10-25 16:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       include <strings.h>
+       * util-vserver/lib/testsuite/fmt.c: improved tests by validating
+         that buffer gets not modified before or
+         after the indented space
 
-2004-05-08 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-25 16:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservername.c:
+       * util-vserver/lib/getvserverctx.c: getCtxFromFile(): fixed
+         resource leaks in errorcase
+         vc_getVserverCtx(): validate result by calling getvserverbyctx()
 
-       getRecentName(): use realpath(3) instead of errorprone 'chdir()' calls
+2005-10-25 16:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/internal.h: vc_getVserverByCtx_Internal(): added
+         prototype (with 'validate_result'
+         parameter)
 
-       * lib/: getvserverbyctx-compat.hc, getvserverctx.c:
+2005-10-25 16:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       optimized buffersizes
+       * util-vserver/lib/getvserverbyctx-compat.hc,
+         util-vserver/lib/getvserverbyctx-v13.hc,
+         util-vserver/lib/getvserverbyctx.c: vc_getVserverByCtx_*(): added
+         'validate_result' parameter to avoid
+         recursion when called by getvserverctx()
 
-2004-05-08 03:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-25 16:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/lib/vserver.h: added vc_compareVserverById()
 
-       fixed apps/vunify/logfile documentation; it must be configured on a
-       per-system, but not per-vserver base
+2005-10-25 16:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-08 03:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/comparevserverbyid.c: added comparevserverbyid.c
 
-       * distrib/misc/debootstrap.uri:
+2005-10-25 16:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated again
+       * util-vserver/ensc_fmt/fmtx.hc: save some bytes on the stack...
 
-2004-05-05 21:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-25 16:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/clearenv.c:
+       * util-vserver/configure.ac: disable expensive tests by default
 
-       fixed case when '--' is used
+2005-10-25 16:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-05 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: improved 'silent.%' target a little bit
+         (might be incompatible with
+         older grep but it's for developing only...)
 
-       * scripts/vshelper:
+2005-10-25 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed typo
+       * util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/hashcalc.sh: added hashcalc.sh
 
-2004-05-05 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-25 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/src/testsuite/hashcalc.c: fixed params in
+         calculateHashFromFD() call
 
-       use 'clearenv' in the new path also
+2005-10-23 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-05 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chroot-sh.c: testInternal(): fixed return value
+         for non-existing files
 
-       * scripts/vserver.functions:
+2005-10-23 22:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       sendKillSequence(): be silent and succeed everytime
+       * util-vserver/src/testsuite,
+         util-vserver/src/testsuite/.cvsignore,
+         util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/hashcalc.c: added hashcalc
 
-2004-05-05 21:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-10-23 22:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-setup.functions:
+       * util-vserver/src/vhashify.c: added TESTSUITE mode
 
-       removed legacy code
+2005-10-09 09:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-05 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: fixed VLAN setup: set the
+         name-type, honor the 'ip' value and use the
+         device name on removal (reported by Timothy Arnold,
+         https://savannah.nongnu.org/bugs/?func=detailitem&item_id=14148)
 
-       * scripts/vrpm-preload, src/rpm-fake-resolver.c, src/rpm-fake.c:
+2005-08-08 22:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added code to preserve capabilities and flags
+       * util-vserver/scripts/vserver.functions: fixed detection of
+         commented lines in config-files; formerly, only a
+         single '#' was detected which does not really make sense for
+         comments...
 
-2004-05-05 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-25 15:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/unify-unify.c:
+       * util-vserver/util-vserver.spec.in: updated URLs
 
-       added some doc
+2005-07-25 15:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-05-05 21:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vwait.c: - made the alarm() code working with
+         glibc also; glibc restarts
+         vc_wait_exit() instead of interrupting it so an explicit
+         siginterrupt(2) is required
+         - call alarm(2) again when EINTR was seen
 
-       * lib/syscall_setiattr-fscompat.hc:
+2005-07-25 15:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       be more carefully regarding signed vs. unsigned int...
+       * util-vserver/scripts/vserver-build.skeleton: execute
+         'base.setSuccess' finally
 
-2004-05-05 21:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-25 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/bcaps-v13.c:
+       * util-vserver/scripts/vserver-build.functions.rpm:
+         rpm.sanityCheck(): added; it warns about missing initpre scripts
 
-       removePrefix(): fixed another 'len' issue
-       include <strings.h>
+2005-07-25 15:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-30 12:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions: -
+         getDistribution(): added sanity checks to make sure that there
+         exist
+         a configuration for the selected distribution
+         - base.initFilesystem(): allow empty directories as root
+         directories
+         for new vservers; this uses the new isDirectoryEmpty() function
+         - base.__cleanup(): armed the cleanup code; formerly there was
+         still
+         the safety 'echo' giving out the resulting command instead of
+         executing it
 
-       * lib/bcaps-v13.c:
+2005-07-25 15:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removePrefix(): fixed case when len<4
+       * util-vserver/scripts/vserver-build.debootstrap: use new calling
+         convention of getDistribution(); 'debootstrap' does
+         not require an explicit configuration of the distribution
 
-2004-04-28 21:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-25 15:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/changelog.txt[DEAD]:
+       * util-vserver/scripts/vsysvwrapper: fixed typo
+         (s!$CHBIND!$_CHBIND!)
 
-       removed since unused
+2005-07-25 15:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.rpm,
+         util-vserver/scripts/vserver-build.yum: call rpm.sanityCheck()
 
-       * lib/apidoc/Makefile-files:
+2005-07-25 15:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added list2xxx.syntax
+       * util-vserver/scripts/functions: isDirectoryEmpty(): added
+         col*(): added
 
-2004-04-28 20:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 20:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/readlink.c:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.208
 
-       enhanced errormessages
+2005-07-15 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac, util-vserver/lib/personalityflag.c,
+         util-vserver/lib/personalitytype.c,
+         util-vserver/m4/ensc_personality.m4: check whether enums from
+         <linux/personality.h> are available before using
+         them
+         (https://savannah.nongnu.org/bugs/?func=detailitem&item_id=12921)
 
-       * src/: rpm-fake.c, vattribute.c:
+2005-07-15 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use vc_get_insecurebcaps() instead of vc_get_insecurecaps()
-       set secure ccapabilities
+       * util-vserver/util-vserver.spec.in: - require the -lib subpackage
+         by -devel
+         - copy GPG keys from /etc/pki/rpm-gpg/
 
-2004-04-28 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: chcontext.c, reducecap.c:
+       * util-vserver/src/testsuite/rpm-fake-test.sh: fixed paths so that
+         it works again...
 
-       use vc_get_insecurebcaps() instead of vc_get_insecurecaps()
+2005-07-15 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/vprocunhide: do not run when IATTR feature is
+         not supported
 
-       * lib_internal/Makefile-files:
+2005-07-15 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added coreassert.h
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.suexec: readded the
+         limit-ulimits-per-vserver stuff due to popular requests
+         (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=12840)
 
-2004-04-28 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/cflags.c:
+       * util-vserver/lib/getinsecurebcaps.c: - adjusted insecure caps for
+         the added CAP_AUDIT* and removed
+         CAP_QUOTACTL stuff
+         - assume every unknown capability as insecure
 
-       use <lib_internal/coreassert.h>
-       added new testcases
+2005-07-15 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore: added 'personality'
 
-       * lib/testsuite/: fmt.c, parselimit.c:
+2005-07-15 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use <lib_internal/coreassert.h>
+       * util-vserver/lib/syscall_netadd-net.hc,
+         util-vserver/lib/syscall_netremove-net.hc: changed code so that
+         it *compiles* with current kernel headers
 
-2004-04-28 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/Makefile-files:
+       * util-vserver/lib/syscall_getiattr-fscompat.hc,
+         util-vserver/lib/syscall_setiattr-fscompat.hc: Changed the
+         barrier-code so that it sets both the 't' ext2-flag and
+         chmod-0 permissions. This is required to work with 1.2.10 patch;
+         formerly the chmod-0 sufficed. [reported by Bjoern Steinbrink,
+         http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13170]
 
-       define ENSC_TESTSUITE
+2005-07-15 16:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/capabilities.c: use a static '29' for QUOTACTL
+         capability as VC_CAP_QUOTACTL was removed
 
-       * lib/apidoc/list2xxx.syntax, lib_internal/coreassert.h:
+2005-07-15 16:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/ccaps-v13.c: added
+         VC_VXC_{SYSLOG,BINARY_MOUNT,QUOTA_CTL}
+         added/moved some aliases
 
-2004-04-28 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 16:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/apidoc/Doxyfile.in:
+       * util-vserver/lib/bcaps-v13.c: removed VC_CAP_QUOTACTL
+         added VC_CAP_AUDIT*
 
-       set EXAMPLE_PATH
+2005-07-15 16:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: removed VC_CAP_QUOTACTL
+         added VC_CAP_AUDIT*
+         added VC_VXC_{SYSLOG,BINARY_MOUNT,QUOTA_CTL}
 
-       * lib/vserver.h:
+2005-07-15 16:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_get_insecureccaps(): added
-       cleanups
-       added documentation
+       * util-vserver/contrib/Makefile-files,
+         util-vserver/contrib/yum-2.3.4-chroot.patch: added
+         yum-2.3.4-chroot patch
 
-2004-04-28 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-15 16:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/val2text.hc:
+       * util-vserver/kernel/network.h, util-vserver/kernel/network_cmd.h,
+         util-vserver/kernel/switch.h, util-vserver/kernel/xid.h: updated
+         to patch-2.6.12.2-vs2.0-rc7
 
-       use strncasecmp() instead of strncmp()
+2005-07-04 22:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions: check whether
+         context is already active before starting the build
+         (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=12849)
 
-       * lib/listparser.hc:
+2005-07-04 22:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       improved error-detection for the '^' prefix
-       added support for 'none'
-       allow '0'
+       * util-vserver/src/vserver-info.c: allow to pass a numeric xid to
+         'vserver-info ... RUNNING'
 
-2004-04-28 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-04 22:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/bcaps-v13.c:
+       * util-vserver/lib_internal/Makefile-files,
+         util-vserver/lib_internal/util-isnumber.c,
+         util-vserver/lib_internal/util.h: isNumber(): added
 
-       added bcapability names
-       added code to remove a 'CAP_' prefix
+2005-07-04 18:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-28 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.debootstrap: give out status
+         message before downloading debootstrap
+         (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13472)
 
-       * lib/: Makefile-files, getinsecurebcaps.c,
-         getinsecurecaps.c[DEAD]:
+2005-07-04 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed getinsecurecaps.c to getinsecurebcaps.c
+       * util-vserver/lib/syscall-alternative.h: updated to
+         http://vserver.13thfloor.at/Experimental/SYSCALL/syscall.h
+         from 2005-05-07
 
-2004-04-23 18:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 22:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration-lsd.css, NEWS, configure.ac:
+       * util-vserver/distrib/misc/debootstrap.uri: oops... set the wrong
+         value
 
-       version 0.29.211
+2005-07-03 22:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-23 18:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: updated
 
-       * util-vserver.spec.in:
+2005-07-03 22:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       readjusted Release:
+       * util-vserver/distrib/Makefile.am: register fc4 as rh-style
+         distribution
 
-2004-04-23 16:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/configure.ac: check for 'nohup'
 
-       cleaned up the %file-lists
-       buildrequire 'xalan-j' (can be disabled with '--without xalan')
-       removed 'libxslt' buildrequire
+2005-07-03 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-23 16:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: removed chroot_* +
+         C++ programs
+         added chroot_sh + vwait
 
-       * doc/Makefile-files:
+2005-07-03 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       remove *.html only, when we can recreate them
+       * util-vserver/Makefile.am, util-vserver/lib/virtual.h: updated
+         used kernel headers to 2.6.12.2-vs2.0-rc5
 
-2004-04-23 13:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 17:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/lib/syscall_getvhiname-v13.hc,
+         util-vserver/lib/syscall_setvhiname-v13.hc: -
+         s!VCMD_vx_.et_vhi_name!VCMD_.et_vhi_name!
+         - added workaround for older kernels not having the naming above
 
-       fixed typo
+2005-07-03 17:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-23 13:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vshelper: accept 'async' method
 
-       * doc/Makefile-files:
+2005-07-03 17:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed FAQ.txt and configuration.dtd
-       added configuration.xsd
+       * util-vserver/scripts/vserver.start: pipe 'popd' output to
+         /dev/null
 
-2004-04-23 13:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 17:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/FAQ.txt[DEAD]:
+       * util-vserver/scripts/vserver.functions: initSync(): fixed
+         parameter naming
+         initSync(): set 'async' method when 'vwait' is available
+         _waitForVWait(): read pipe after 'wait' returned
 
-       obsoleted
+2005-07-03 17:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build: do not set OPTION_KEEP
 
-       * configure.ac:
+2005-07-03 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'net' API
-       disable 'legacy' API by default
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added vwait
 
-2004-04-22 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h:
+       * util-vserver/scripts/pkgmgmt: - cleanups
+         - unset %_dbpath at 'internalize' operation
 
-       added nid_t
+2005-07-03 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: vshelper.initSync(): fixed
+         parameter naming
 
-       * src/reducecap.c:
+2005-07-03 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed warnings when compiled without legacy-mode
+       * util-vserver/src/chroot-sh.c: implemented 'testfile' subcommand
 
-2004-04-22 22:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: Makefile-files, ncaps-net.c, ncaps_list-net.c,
-         nflags-net.c, nflags_list-net.c, syscall_getncaps-net.hc,
-         syscall_getncaps.c, syscall_getnflags-net.hc,
-         syscall_getnflags.c, syscall_getnxinfo-net.hc,
-         syscall_getnxinfo.c, syscall_gettasknid-net.hc,
-         syscall_gettasknid.c, syscall_netadd-net.hc, syscall_netadd.c,
-         syscall_netcreate-net.hc, syscall_netcreate.c,
-         syscall_netmigrate-net.hc, syscall_netmigrate.c,
-         syscall_netremove-net.hc, syscall_netremove.c,
-         syscall_setncaps-net.hc, syscall_setncaps.c,
-         syscall_setnflags-net.hc, syscall_setnflags.c,
-         vserver-internal.h, vserver.h:
+       * util-vserver/contrib/Makefile-files,
+         util-vserver/contrib/yum-2.3.3-chroot.patch: added
+         yum-2.3.3-chroot.patch
 
-       added network layer functions
+2005-07-03 14:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: do not quote $_VSHELPER in help
+         message (reported by Roman Barczynski,
+         https://savannah.nongnu.org/bugs/?func=detailitem&item_id=13162)
 
-       * lib/syscall_ctxcreate-v13.hc:
+2005-07-03 14:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed return value
+       * util-vserver/doc/configuration.xml: mentioned the working
+         directory for the scripts
 
-2004-04-22 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 14:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.dtd[DEAD]:
+       * util-vserver/kernel/context.h, util-vserver/kernel/context_cmd.h,
+         util-vserver/kernel/cvirt_cmd.h, util-vserver/kernel/debug.h,
+         util-vserver/kernel/namespace.h,
+         util-vserver/kernel/namespace_cmd.h,
+         util-vserver/kernel/network.h, util-vserver/kernel/network_cmd.h,
+         util-vserver/kernel/switch.h: updated to 2.6.12.2-vs2.0-rc5
 
-       obsoleted by configuration.xsd
+2005-07-03 13:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 21:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: execute the prepre script in
+         the configuration directory (*not* the
+         vdir directory); this should not cause legacy problems as
+         formerly the
+         directory was not changed overall
 
-       * THANKS:
+2005-07-03 13:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added Olivier Poitrey
+       * util-vserver/scripts/vserver.functions: check whether filesystem
+         is mounted readonly; if so, execute
+         $_SECURE_MOUNT with the '-n' argument
 
-2004-04-22 21:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 13:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.rpm: execute base.setSuccess()
+         at the end
 
-       use xalan instead of xsltproc
+2005-07-03 13:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 21:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake-resolver.c: implemented better
+         error-handling in the read() and write() functions
 
-       * doc/: configuration-xhtml.xsl, configuration.xml,
-         configuration.xsd:
+2005-07-03 12:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use the new, XSD-based format which was defined by Olivier Poitrey
+       * util-vserver/ensc_wrappers/wrappers-io.hc,
+         util-vserver/ensc_wrappers/wrappers-iosock.hc,
+         util-vserver/ensc_wrappers/wrappers-unistd.hc: store result of
+         read*(2) and write*(2) fucntions into signed variables;
+         error handling is more cleaner in this way
 
-2004-04-22 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-03 12:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration-xhtml.xsl:
+       * util-vserver/src/vserver-stat.c: - cleanups
+         - multiply RSS value with PAGESIZE
+         (https://savannah.nongnu.org/bugs/?func=detailitem&item_id=13184)
+         - prepare the '-O' option: calculate vserver names earlier and
+         use
+         some more helper functions
 
-       made it work with xalan
-       removed debug message
+2005-07-03 12:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 21:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: - doPwStringRequest(): fixed x86_64
+         issue; rpm-fake.so transmitted a
+         'size_t' value, but rpm-fake-resolver expected an uint32_t
+         - minor cleanups
 
-       * doc/beautify.xsl[DEAD]:
+2005-07-03 09:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       obsoleted
+       * util-vserver/ensc_vector/Makefile-files,
+         util-vserver/ensc_vector/vector-foreach.c,
+         util-vserver/ensc_vector/vector.h,
+         util-vserver/ensc_vector/vector.hc: added Vector_foreach*()
+         functions
 
-2004-04-22 21:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-07-02 09:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/Makefile-files:
+       * util-vserver/src/Makefile-files, util-vserver/src/vbuild.cc,
+         util-vserver/src/vcheck.cc, util-vserver/src/vfiles.cc,
+         util-vserver/src/vserver.cc, util-vserver/src/vserver.hh,
+         util-vserver/src/vutil.cc, util-vserver/src/vutil.h,
+         util-vserver/src/vutil.p: removed the C++ tools; they do not work
+         with recent configuration and
+         are adding huge dependencies
 
-       use xalan
+2005-06-30 06:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-22 20:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop: use vwait infrastructure
 
-       * kernel/: network.h, sched.h:
+2005-06-30 06:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to vs1.9.0pre12
+       * util-vserver/scripts/vserver-build.functions.pkgmgmt,
+         util-vserver/scripts/vserver.functions: use CHROOT_SH instead of
+         CHROOT_*
+         use vwait
 
-2004-04-22 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-06-30 06:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: cflags-v13.c, testsuite/cflags.c:
+       * util-vserver/scripts/vserver-build.functions: remove generated
+         vserver when build fails and '--keep' was not specified
 
-       use more specific names for the flags
+2005-06-30 06:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-21 23:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.rpm,
+         util-vserver/scripts/vserver-build.skeleton,
+         util-vserver/scripts/vserver-build.yum: use 'base.init' instead
+         of 'base.initVariables'
 
-       * scripts/vserver.start:
+2005-06-30 06:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give correct vserver-name in the hints ($VSERVER_DIR instead of $VSERVER_NAME)
+       * util-vserver/scripts/vserver-build: added '--keep' option
 
-2004-04-21 23:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-06-30 06:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/scripts/X,
+         util-vserver/scripts/util-vserver-vars.pathsubst: removed
+         CHROOT_*
+         added CHROOT_SH
 
-       moved the 'ip_only' handling to the right place
+2005-06-30 06:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-21 11:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/pkgmgmt: use CHROOT_SH instead of CHROOT_*
 
-       * src/vshelper-sync.c:
+2005-06-30 06:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed missing initialization of a timeout struct
+       * util-vserver/lib/virtual.h: include signal_cmd.h instead of
+         signal.h
 
-2004-04-21 11:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-06-30 06:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-stat.c:
+       * util-vserver/util-vserver.spec.in: added %dist tag
+         buildrequire 'which' and 'diffutils'
+         require 'apt' on i386 only
 
-       use uint64_t for the uptime counter to handle medium+large uptimes
-       (>49 days) correctly
+2005-06-30 06:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-21 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/fc4, util-vserver/distrib/fc4/apt,
+         util-vserver/distrib/fc4/apt/rpmpriorities,
+         util-vserver/distrib/fc4/apt/sources.list,
+         util-vserver/distrib/fc4/pkgs, util-vserver/distrib/fc4/pkgs/01,
+         util-vserver/distrib/fc4/pkgs/02,
+         util-vserver/distrib/fc4/pkgs/03,
+         util-vserver/distrib/fc4/rpmlist.d,
+         util-vserver/distrib/fc4/rpmlist.d/00.lst,
+         util-vserver/distrib/fc4/yum,
+         util-vserver/distrib/fc4/yum.repos.d,
+         util-vserver/distrib/fc4/yum.repos.d/fedora-devel.repo,
+         util-vserver/distrib/fc4/yum.repos.d/fedora-updates-testing.repo,
+         util-vserver/distrib/fc4/yum.repos.d/fedora-updates.repo,
+         util-vserver/distrib/fc4/yum.repos.d/fedora.repo,
+         util-vserver/distrib/fc4/yum/yum.conf: initial checkin
 
-       * scripts/vserver.functions:
+2005-06-30 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made 'nodev' work
+       * util-vserver/distrib/redhat/initpost: use CHROOT_SH instead of
+         CHROOT_*
 
-2004-04-20 20:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-06-30 05:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/src, util-vserver/src/.cvsignore,
+         util-vserver/src/Makefile-files, util-vserver/src/chroot-cat.c,
+         util-vserver/src/chroot-rm.c, util-vserver/src/chroot-sh.c:
+         replaced all the small chroot-* programs with a single
+         'chroot-sh'
+         program
 
-       added chain-echo
+2005-05-19 18:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added @NOHUP@
 
-       * src/Makefile-files:
+2005-05-19 18:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chain-echo
+       * util-vserver/scripts/pkgmgmt: use new chroot-cat CLI
 
-2004-04-20 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-19 18:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt.h,
+         util-vserver/kernel/dlimit.h, util-vserver/kernel/dlimit_cmd.h,
+         util-vserver/kernel/inode_cmd.h, util-vserver/kernel/legacy.h,
+         util-vserver/kernel/signal.h, util-vserver/kernel/signal_cmd.h,
+         util-vserver/kernel/xid.h: updated
 
-       use '--defaulttty'
+2005-05-19 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 20:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/issupported.c,
+         util-vserver/lib/issupportedstring.c, util-vserver/lib/vserver.h:
+         vc_isSupported() et.al: added VWAIT feature
 
-       * scripts/vserver.stop:
+2005-05-19 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use setDefaultTTY()
+       * util-vserver/m4/ensc_syscall.m4: s!enable_val!enableval!
 
-2004-04-20 20:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-19 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/src/vserver-stat.c: fixed calculation of hours (%24
+         instead of %60); reported in
+         http://savannah.nongnu.org/bugs/?func=detailitem&item_id=13048 by
+         Roman Barczynski
 
-       use setDefaultTTY()
-       added explicit synchronization step for fakeinit with the old methods
+2005-05-19 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chroot-cat.c: added '-i', '-o' and '-a' options
+         to cat or override a file, or to
+         append something
 
-       * scripts/vserver:
+2005-05-19 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added '--defaulttty' option
+       * util-vserver/distrib/redhat/initpost: use safe chroot-cat
+         commands
 
-2004-04-20 20:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-05 19:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/start-vservers:
+       * util-vserver/m4/ensc_dietlibc.m4: - give out a more correct
+         helpstring for the '--enable/disable-dietlibc'
+         option
+         - use AS_HELP_STRING instead of AC_HELP_STRING
 
-       use --defaulttty options instead of setting tty manually
+2005-05-05 18:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 20:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: - removed call to ENSC_FPIC_SYSCALL
+         - enhanced dietlibc version check to the 64 bit version of hppa
 
-       * scripts/functions:
+2005-05-05 09:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       setDefaultTTY(): added
+       * util-vserver/src, util-vserver/src/.cvsignore: added vwait
 
-2004-04-20 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-05 09:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservercfgstyle.c:
+       * util-vserver/src/vwait.c: initial checkin
 
-       * vc_getVserverCfgStyle(): interprete relative ('./') and absolute
-         paths ('/...') as vcCFG_RECENT_FULL only
-       * vc_getVserverCfgStyle(): use utilvserver_isDirectory (fstat(2))
-         instead of access(2) to check for directories
+2005-05-05 09:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vshelper-sync.c: use '__linux__' instead of
+         '__linux' (reported by Ola Lundqvist)
 
-       * ensc_wrappers/wrappers-unistd.hc:
+2005-05-05 09:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Edup(): added
+       * util-vserver/src/exec-cd.c: minor cosmetical cleanup
 
-2004-04-20 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-05 09:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-fcntl.hc:
+       * util-vserver/src/chroot-cat.c: - added support for '--help' and
+         '--version'
+         - added '-a' option to append information instead of truncating
+         the
+         file
 
-       Efcntl(): added
+2005-05-05 09:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: - 'chroot-cat' supports now the
+         '--help' and '--version' options so
+         removed it from AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
+         - added vwait
 
-       * distrib/misc/debootstrap.uri:
+2005-05-05 09:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some entries
+       * util-vserver/m4/install-notify.am: s!^# !## !
 
-2004-04-20 19:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-05 09:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/misc/vunify-exclude:
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall_waitexit-v13.hc,
+         util-vserver/lib/syscall_waitexit.c, util-vserver/lib/vserver.h:
+         vc_wait_exit(): implemented support for this syscall
 
-       updated
+2005-05-02 21:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-20 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/compat-pivot_root.h: use <syscall-wrap.h>
 
-       * contrib/manifest.dat.pathsubst,
-         scripts/util-vserver-vars.pathsubst:
+2005-05-02 21:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chain-echo
+       * util-vserver/m4/ensc_syscall.m4: minor cosmetical cleanups
 
-2004-04-20 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-02 21:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chain-echo.c:
+       * util-vserver/m4/ensc_fpicsyscall.m4: obsoleted
 
-       initial checkin
+2005-05-02 21:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 04:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_fpicsyscall.m4: use ENSC_SYSCALL_ALTERNATIVE
 
-       * NEWS, configure.ac:
+2005-05-02 21:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.209
+       * util-vserver/lib/vserver-internal.h: cleaned up '#include
+         <*syscall.h>' stuff
 
-2004-04-15 04:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-05-02 21:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/lib/syscall-legacy.hc,
+         util-vserver/lib/syscall-wrap.h: include <syscall.h> also
 
-       setFlags(): optimized (nearly state of 1.10)
+2005-05-02 21:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 04:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-xhtml.xsl: use class
+         'directoryname' instead of 'directory' for '<directory/>'
+         markup
 
-       * scripts/vserver.suexec:
+2005-05-02 21:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call chbind when entering vservers
+       * util-vserver/Makefile.am, util-vserver/distrib/Makefile.am,
+         util-vserver/m4/install-notify.am: give out additional
+         information about the 'make install' process
 
-2004-04-15 03:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.207
 
-       call vattribute with '--flag fakeinit' additionally to the '--fakeinit' flag of vcontext
+2005-04-28 18:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 03:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: adjusted dietlibc requirements
 
-       * scripts/functions:
+2005-04-28 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       callInNamespace(): do not accept non-running vservers
+       * util-vserver/src/vcontext.c: allow to override the execution
+         domain (personality); added
+         '--personality-type' and '--personality-flags' options
 
-2004-04-15 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/misc/debootstrap.uri:
+       * util-vserver/src/rpm-fake-resolver.c: added a TEMP_FAILURE_RETRY
+         around a read(2)
 
-       updated
+2005-04-28 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.suexec: added support for a rescue
+         mode
 
-       * src/vcontext.c:
+2005-04-28 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new kernel API (*flags* -> *cflags*, *_context -> ctx_*)
-       fixed '--fakeinit' option
+       * util-vserver/scripts/vserver.functions: *
+         _generatePersonalityOptions(): added and use it
+         * added support for a rescue mode
 
-2004-04-15 01:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/scripts/vserver-build.functions.pkgmgmt:
+         YUM_RELEASEPKGS: added
 
-       fixed another brokeness in CLI option handling
+2005-04-28 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: fixed docu for 'stop' and 'start'
 
-       * scripts/functions:
+2005-04-28 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       lock(): do not execute the pipe; this does not work on 2.6
+       * util-vserver/scripts/pkgmgmt: * verifyInternalPackages(): added
+         * added some sanity checks for a sany environment when
+         internalizing
+         the package management
 
-2004-04-15 01:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/.cvsignore:
+       * util-vserver/scripts/functions: * isRegularFile(): fixed
+         evaluation of params
+         * hasSubstring(): added
+         * getAllVservers(): fixed typo
 
-       added cflags
+2005-04-28 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/sys_clone.h: cleanups; do not include
+         <sys/syscall.h>
 
-       * doc/configuration.xml:
+2005-04-28 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some comments about uts/context
+       * util-vserver/lib_internal/Makefile-files,
+         util-vserver/lib_internal/sys_personality.h: added
+         sys_personality.h
 
-2004-04-15 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration-xhtml.xsl:
+       * util-vserver/scripts/legacy/vserver-copy,
+         util-vserver/scripts/vserver-copy: moved to legacy
 
-       added a new boring stylesheet
+2005-04-28 17:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/Makefile-files,
+         util-vserver/lib/testsuite/personality.c: added testcases for the
+         vc_*personality*() functions
 
-       * doc/configuration.css:
+2005-04-28 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/vserver.h: added prototypes for vc_*personality*
+         support
 
-2004-04-15 01:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/: make-manifest, manifest.dat.pathsubst:
+       * util-vserver/lib/virtual.h: updated to new kernel headers
 
-       added support for '%config(...)' (or whatever) annotations
+2005-04-28 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/cflags_list-v13.c: do not include <string.h>
+         anymore
 
-       * ensc_wrappers/wrappers-vserver.hc,
-         lib_internal/switchtowatchxid.c, src/chcontext.c,
-         src/reducecap.c, src/rpm-fake-resolver.c, src/rpm-fake.c,
-         src/vattribute.c:
+2005-04-28 17:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new kernel API (*flags* -> *cflags*, *_context -> ctx_*)
+       * util-vserver/lib/internal.h: utilvserver_listparser_uint*():
+         removed the 'nonnull' attribute for the 'mask' param
 
-2004-04-15 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/: Makefile-files, util.h:
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/personalityflag.c,
+         util-vserver/lib/personalityflag_list.c,
+         util-vserver/lib/personalitytype.c: added personality* files
 
-       added util-debug.h
+2005-04-28 17:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: * added some markup
+         * documented 'personality'
 
-       * lib_internal/util-debug.h:
+2005-04-28 17:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/doc/configuration-xhtml.xsl,
+         util-vserver/doc/configuration.dtd: added support for <directory>
+         and <filename> markup
 
-2004-04-15 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 17:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * kernel/: context.h, cvirt.h, inode.h, legacy.h, limit.h,
-         namespace.h, network.h, sched.h, switch.h, xid.h:
+       * util-vserver/distrib/fc3/yum/yum.conf:
+         s!redhat-release!fedora-release!
 
-       updated to vs1.90pre9
+2005-04-28 17:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-15 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/fc3/pkgs/02: removed 'coreutils'
 
-       * lib/: syscall-compat.hc, vserver.h, testsuite/Makefile-files,
-         testsuite/cflags.c, testsuite/flags.c[DEAD]:
+2005-04-28 17:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new kernel API
-       renamed functions so that they correspond to the new kernel API
+       * util-vserver/distrib/fc3/rpmlist.d/00.lst: added some more
+         packages
 
-2004-04-15 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 17:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: Makefile-files, cflags-compat.c, cflags-v13.c,
-         cflags_list-compat.c, cflags_list-v13.c, flags-compat.c[DEAD],
-         flags-v13.c[DEAD], flags_list-compat.c[DEAD],
-         flags_list-v13.c[DEAD], syscall_createcontext-v13.hc[DEAD],
-         syscall_createcontext.c[DEAD], syscall_ctxcreate-v13.hc,
-         syscall_ctxcreate.c, syscall_ctxmigrate-v13.hc,
-         syscall_ctxmigrate.c, syscall_getcflags-v13.hc,
-         syscall_getcflags.c, syscall_getflags-v13.hc[DEAD],
-         syscall_getflags.c[DEAD], syscall_migratecontext-v13.hc[DEAD],
-         syscall_migratecontext.c[DEAD], syscall_setcflags-v13.hc,
-         syscall_setcflags.c, syscall_setflags-v13.hc[DEAD],
-         syscall_setflags.c[DEAD]:
+       * util-vserver/distrib/fc1/apt/rpmpriorities,
+         util-vserver/distrib/fc2/apt/rpmpriorities,
+         util-vserver/distrib/fc3/apt/rpmpriorities,
+         util-vserver/distrib/rh9/apt/rpmpriorities: added *-release
+         packages
 
-       renamed files so that their names are corresponding the kernel
-       API. Especially, *_context was renamed to ctx_*, and *flags* to
-       *cflags*.
+2005-04-28 17:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-13 10:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/scripts/Makefile-files: moved vserver-copy to legacy
 
-       * scripts/functions:
+2005-04-28 17:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       further locking fixes
+       * util-vserver/Makefile.am: added new kernel headers
 
-2004-04-13 10:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-28 11:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/lockfile.c:
+       * util-vserver/kernel/context.h, util-vserver/kernel/context_cmd.h,
+         util-vserver/kernel/cvirt.h, util-vserver/kernel/cvirt_cmd.h,
+         util-vserver/kernel/cvirt_def.h, util-vserver/kernel/debug.h,
+         util-vserver/kernel/debug_cmd.h, util-vserver/kernel/dlimit.h,
+         util-vserver/kernel/dlimit_cmd.h, util-vserver/kernel/inode.h,
+         util-vserver/kernel/inode_cmd.h, util-vserver/kernel/legacy.h,
+         util-vserver/kernel/limit.h, util-vserver/kernel/limit_cmd.h,
+         util-vserver/kernel/limit_def.h, util-vserver/kernel/namespace.h,
+         util-vserver/kernel/network.h, util-vserver/kernel/network_cmd.h,
+         util-vserver/kernel/sched.h, util-vserver/kernel/sched_cmd.h,
+         util-vserver/kernel/sched_def.h, util-vserver/kernel/switch.h,
+         util-vserver/kernel/xid.h: updated to headers from
+         patch-2.6.11.7-vs2.0-pre2
 
-       propagate errors
+2005-04-24 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-13 10:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: showContexts(): added 'const'
+         qualifier
 
-       * src/chroot-rm.c:
+2005-04-24 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
+       * util-vserver/scripts/start-vservers,
+         util-vserver/scripts/vsomething: use the new getAllVservers()
+         functionality to specify special kinds of
+         vservers
 
-2004-04-13 10:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-24 20:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/scripts/functions: * isRegularFile(): allow to
+         override the '-f' classifier
+         * getAllVservers(): added several types of vservers (marked,
+         unmarked,
+         running...)
+         * getAllVserversByArg()" added
 
-       open FD 0
-       evaluate CLI options depending on used kernel API
+2005-04-24 20:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-13 10:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_dietlibc_compat.m4: *
+         ENSC_DIETLIBC_NEED_COMPAT: use the 'syscall-wrap.h' header and
+         the
+         results from ENSC_SYSCALL_ALTERNATIVE
 
-       * scripts/functions:
+2005-04-24 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new locking mechanism
+       * util-vserver/m4/ensc_syscall.m4: * ENSC_SYSCALL_ALTERNATIVE:
+         added
+         * ENSC_SYSCALL: use the 'syscall-wrap.h' header and the results
+         from
+         ENSC_SYSCALL_ALTERNATIVE
 
-2004-04-13 10:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-24 20:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: issupported.c, issupportedstring.c, vserver.h:
+       * util-vserver/lib/vserver-internal.h,
+         util-vserver/lib_internal/sys_clone.h: include "syscall-wrap.h"
 
-       added VSHELPER0 feature
+2005-04-24 20:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-08 10:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/ncaps-net.c, util-vserver/lib/nflags-net.c:
+         VALUES: added an empty field to make it compile with gcc4
 
-       * scripts/vserver.functions:
+2005-04-24 20:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       execScriptlets(): fixed initialization of 'start'
-       execScriptlets(): declare some variables as readonly
-       _sourceWrap(): added some variables
+       * util-vserver/lib/bcaps_list-v13.c,
+         util-vserver/lib/ccaps_list-v13.c,
+         util-vserver/lib/cflags_list-v13.c,
+         util-vserver/lib/ncaps_list-net.c,
+         util-vserver/lib/nflags_list-net.c: made it compatible to the new
+         utilvserver_listparser_uint*() API and
+         added wrappers with a third 'bool *' arg
 
-2004-04-08 08:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-24 20:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/lib/listparser.hc: * parser function has now to set
+         a 'bool *' arg to signal errors
+         * when 'mask' argument is null, the special modifiers like '~',
+         '!' or
+         'any' are not allowed
 
-       implemented support for default-scriptlets (inspired by ideas of
-       Olivier Poitrey)
+2005-04-24 20:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-08 08:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/internal.h: utilvserver_listparser_uint*():
+         added a third 'bool *' arg for the
+         parser function so that errors can be better propagated
 
-       * scripts/: rootshell, vapt-get-worker, vprocunhide, vrpm,
-         vrpm-worker, vserver-build, vshelper:
+2005-04-24 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give more verbose error-messages
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall-alternative.h,
+         util-vserver/lib/syscall-wrap.h: added syscall-alternative.h and
+         syscall-wrap.h
 
-2004-04-08 08:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-24 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall.c:
+       * util-vserver/update-doc: exclude some static files
 
-       added link-warning for vc_new_s_context()
+2005-04-24 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-08 08:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: remove config.cache when CLEAN is set
+         disabled gcc33 build
 
-       * doc/configuration.xml:
+2005-04-24 11:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added general description for the scripts and documented
-       $DONT_SKIP_DEFAULTS
+       * util-vserver/doc/configuration-xhtml.xsl,
+         util-vserver/doc/configuration.dtd,
+         util-vserver/doc/configuration.xml: added new markup
+         added new CSS from Nicolas Costes
 
-2004-04-08 08:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-16 21:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h:
+       * util-vserver/configure.ac: cleanups
+         added '--disable-extra-optimizations' option
 
-       LINK_WARNING(): added
+2005-04-16 21:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-07 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.functions.apt,
+         util-vserver/scripts/vserver-build.functions.rpm,
+         util-vserver/scripts/vserver-build.functions.yum,
+         util-vserver/scripts/vserver.functions: use the common
+         isRegularFile() method to filter out backup-files
 
-       * scripts/chcontext, scripts/pkgmgmt, scripts/start-vservers,
-         scripts/vapt-get, scripts/vpkg, scripts/vpstree,
-         scripts/vrpm-preload, scripts/vserver, scripts/vserver-copy,
-         scripts/vserver-wrapper, scripts/vservers.grabinfo.sh,
-         scripts/vsysvwrapper, scripts/vtop, scripts/legacy/distrib-info,
-         scripts/legacy/vserver, sysv/rebootmgr, sysv/vprocunhide,
-         sysv/vservers-legacy:
+2005-04-16 21:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give more comprehensive error-message
+       * util-vserver/scripts/functions: isRegularFile(): added
 
-2004-04-07 01:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-16 21:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vps.c, vserver-info.c, vserver-stat.c:
+       * util-vserver/util-vserver.spec.in: cleanups
+         added changelog entry for 0.30.206
 
-       use switchToWatchXid()
+2005-04-12 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-07 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.206
 
-       * src/Makefile-files:
+2005-04-12 21:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       link some files against libinternal.a
+       * util-vserver/src/vserver-info.c: implemented VERIFYPROC method
 
-2004-04-07 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-12 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util.h:
+       * util-vserver/scripts/vserver.functions: added verify-proc sanity
+         check
 
-       switchToWatchXid(): added prototype
+2005-04-12 21:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-07 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: killContext(): commented out the
+         more correct
+         (but not working) kill-sequence
 
-       * lib_internal/switchtowatchxid.c:
+2005-04-12 21:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/util-vserver.spec.in: ship the yum patches
 
-2004-04-07 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-12 21:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/Makefile-files:
+       * util-vserver/Makefile.am: added '--no-wrap -S' to the
+         CVS2CL_AMFLAGS
 
-       added switchtowatchxid.c
+2005-04-12 19:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-07 00:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: adjusted min-dietlibc requirements
 
-       * lib/vserver.h:
+2005-04-12 19:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       VC_ATTR_DEPRECATED: added
+       * util-vserver/m4/ensc_dietlibc.m4: ENSC_ENABLE_DIETLIBC(): allow
+         'min_ver' to be a shell variable
 
-2004-04-07 00:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-12 18:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall-compat.hc:
+       * util-vserver/scripts/functions: vshelper.isDebug(): fixed logic
 
-       vc_chrootsafe_compat(): removed
+2005-04-10 12:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: send the signals for endgrent() and
+         endpwent()
 
-       * src/vunify.c:
+2005-04-10 12:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new MatchList_compare() interface
+       * util-vserver/contrib/Makefile-files,
+         util-vserver/contrib/yum-2.2.1-chroot.patch,
+         util-vserver/contrib/yum-2.3.2-chroot.patch: added patches for
+         yum
 
-2004-04-06 10:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-10 12:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-stat.c:
+       * util-vserver/Makefile.am: include m4/libsel.am
 
-       started support for HZ!=100
-       cleanups
+2005-04-10 01:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/context-sync.hc: ignore errors during setsid(2)
+         execution (required for vs1.9.5.12+)
 
-       * src/vcopy.c:
+2005-04-10 01:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implement support for SKIP files
+       * util-vserver/scripts/vshelper: * kill vserver processes
+         explicitly with 'killContext'; userspace
+         reboot helper may assume that 'reboot(2)' never returns...
+         * added 'async' method
 
-2004-04-06 10:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-10 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: rpm-fake-resolver.c, rpm-fake.c:
+       * util-vserver/scripts/vserver.stop: implicate '--sync' option; it
+         is not possible to stop asynchronously
+         send SIGINT to pid 1 instead of trying to determine initpid
 
-       do not call vc_new_s_context() when COMPAT API is not available
+2005-04-10 00:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: use 'killContext()'
+         instead of invoking 'vkill' manually
+         set an initial runlevel for 'minit' style also
+         set 'async' vshelper method for non-sync mode
 
-       * scripts/functions:
+2005-04-10 00:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
-       vshelper.doInit(): added another sanity check
+       * util-vserver/scripts/vprocunhide: fixed missing quoting of '~';
+         this may cause very slow booting when
+         NIS/LDAP servers are local vservers as bash tries to expand this
+         to a
+         homedir...
 
-2004-04-06 10:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-10 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/: matchlist-appendfiles.c, matchlist-compare.c,
-         matchlist.h:
+       * util-vserver/scripts/functions: spawn(), killContext(): added
 
-       implemented support for SKIP (~) files
+2005-04-10 00:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/libsel.am: initial checkin
 
-       * lib/testsuite/flags.c:
+2005-04-10 00:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added tests for new flags
+       * util-vserver/m4/ensc_dietlibc.m4: use a more modern version which
+         accepts 'DIET' and 'DIETFLAGS' as
+         global configure variables
 
-2004-04-06 10:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-10 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/m4/ensc_cxxcompiler.m4: fixed typo
 
-       updated VC_VXF_* constants
-       added VC_VXC_* constants
+2005-04-10 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: defined ENSC_USE_DIETLIBC +
+         ENSC_USE_GLIBC
 
-       * lib/flags-v13.c:
+2005-04-10 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added/updated flaglist
+       * util-vserver/Makefile.am: removed 'DIET' and 'DIETFLAGS'
+         variables; they are set by configure now
 
-2004-04-06 10:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-08 19:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/ccaps-v13.c:
+       * util-vserver/scripts/vyum-worker: added better test for patched
+         yum
 
-       added ccap names
+2005-04-08 19:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: fixed typo
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2005-04-08 19:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
+       * util-vserver/scripts/vserver.suexec: fixed typo (reported by Paul
+         S. Gumerman)
 
-2004-04-06 10:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-08 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/misc/vunify-exclude:
+       * util-vserver/scripts/vserver-build.functions.yum: substitute
+         @YUMLOCKDIR@
 
-       exclude keyfiles completely
-       made some big files in /etc canditates for unify
+2005-04-08 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-04-06 10:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/chcontext: fixed operation when context was
+         not specified
 
-       * kernel/: context.h, inode.h, legacy.h, limit.h, namespace.h,
-         sched.h, signal.h, xid.h:
+2005-04-08 19:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to 2.6.5-vs1.9.0pre4
+       * util-vserver/distrib/redhat/initpre: reverted the patch adding
+         '/usr/X11'
+         create '/sbin/new-kernel-pkg'; 'initpost' would be too late for
+         FC4
 
-2004-03-31 05:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-08 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/lockfile.c:
+       * util-vserver/distrib/redhat/initpost: use 'ln -sf' instead of 'ln
+         -s'
 
-       optimized some things
-       now check, if getppid()==original_parent instead of getppid()!=1 (might make a difference in vservers)
+2005-04-08 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-31 05:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/fc3/yum/yum.conf: add 'lockfile'
 
-       * scripts/functions:
+2005-04-08 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some doc
-       s!_UV_LOCKS!_VS_LOCKS!
+       * util-vserver/distrib/Makefile.am: added 'fc3' to 'redhat_style'
 
-2004-03-31 02:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-04-08 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/lockfile.c:
+       * util-vserver/Makefile.am: use DIETFLAGS instead of DIET_FLAGS
 
-       fixed '--help' output
+2005-03-29 02:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-31 02:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector/Makefile-files: use $(LIBENSCVECTOR)
+         instead of libensc_vector.a
 
-       * contrib/manifest.dat.pathsubst, src/.cvsignore:
+2005-03-25 21:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lockfile
+       * util-vserver/scripts/vserver.stop: fixed typo
 
-2004-03-31 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-25 17:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/lockfile.c:
+       * util-vserver/scripts/vserver.functions: minor cleanups: call
+         vkill with '--xid' instead of '-c'
 
-       initial checkin
+2005-03-25 16:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-31 02:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop: address both the context and
+         the pid when sending SIGINT to init
 
-       * src/Makefile-files:
+2005-03-25 02:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lockfile
+       * util-vserver/lib_internal/testsuite/copy-check: do not use '-s'
+         with 'cmp' but display verbose error reason
 
-2004-03-31 02:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-25 02:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/lib_internal/switchtowatchxid.c: simplified it and
+         made it work with recent kernels
 
-       enableInterfaces(), disableInterfaces(): added locking
-       enableInterfaces(), disableInterfaces(): added IP_ADDR_FLUSH type
+2005-03-25 02:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-31 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-xhtml.xsl: use 'alternate
+         stylesheet' instead of 'stylesheet' (reported by Herbert
+         Poetzl)
 
-       * scripts/util-vserver-vars.pathsubst:
+2005-03-25 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       $_LOCKFILE, $LOCKDIR: added
+       * util-vserver/util-vserver.spec.in: fixed quoting of % in
+         %description
 
-2004-03-31 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 14:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/Makefile.am, util-vserver/REQUIREMENTS: added
+         REQUIREMENTS
 
-       lock(),unlock(): added
-       isNumber(): added doc
+2005-03-24 13:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-30 22:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac,
+         util-vserver/util-vserver.spec.in: version 0.30.205
 
-       * scripts/vserver.functions:
+2005-03-24 13:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made it work...
+       * util-vserver/util-vserver.spec.in: added some %descriptions
 
-2004-03-30 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 12:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/vhashify.c: s!write()!Vwrite()! at some places
+         add 'volatile' qualifier at variables used around 'setjmp'
+         use sigsetjmp() instead of setjmp()
+         minor code cleanups
 
-       isNumber(): fixed '0' case
+2005-03-24 12:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-30 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: s!write()!Vwrite()! at some
+         places
+         use Echdir() instead of chdir()
 
-       * scripts/vserver.functions:
+2005-03-24 12:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented parts of Liam Helmer's dummy-interface method
+       * util-vserver/src/filetime.c, util-vserver/src/lsxid.c,
+         util-vserver/src/readlink.c, util-vserver/src/reducecap.c,
+         util-vserver/src/showattr.c, util-vserver/src/vattribute.c,
+         util-vserver/src/vcontext.c, util-vserver/src/vcopy.c,
+         util-vserver/src/vdlimit.c, util-vserver/src/vlimit.c,
+         util-vserver/src/vps.c, util-vserver/src/vserver-stat.c,
+         util-vserver/src/vuname.c, util-vserver/src/vunify.c,
+         util-vserver/vserver-start/interface-read.c: s!write()!Vwrite()!
+         at some places
 
-2004-03-30 21:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 12:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/lib_internal/testsuite/sigbus.c: use Etruncate()
+         instead of truncate()
 
-       isNumber(): added
+2005-03-24 12:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-30 20:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite/copy-check: added new tests
+         and better diagnostic
 
-       * Makefile.am, configure.ac, scripts/util-vserver-vars.pathsubst:
+2005-03-24 12:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added substitutions/tests for iptables, modprobe, rmmod and nameif
-       (required for Liam Helmer's dummy-interfaces)
+       * util-vserver/lib_internal/unify-copy.c: moved 'volatile'
+         qualifiers to a better place
+         minor code cleanups
 
-2004-03-30 19:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 12:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vshelper-sync.c:
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc: E*truncate():
+         added
 
-       implemented it with select() instead of alarm(); races are much nicer to handle
+2005-03-24 12:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-30 18:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector/testsuite/test2.c: #undef NDEBUG
 
-       * src/vshelper-sync.c:
+2005-03-24 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use sigaction() instead of signal() to remove SA_RESTART flag explicitly
+       * util-vserver/lib_internal/testsuite/sigbus.c: unlink temporary
+         files on exit
 
-2004-03-30 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 00:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/pipe-sync.c[DEAD]:
+       * util-vserver/lib_internal/unify-unify.c: Unify_unify(): block
+         signals while executing the non-atomic operations
 
-       obsoleted by vshelper-sync
+2005-03-24 00:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-30 17:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vhashify.c: optimized directory creation
 
-       * kernel/: context.h, cvirt.h, limit.h, network.h, sched.h,
-         switch.h:
+2005-03-24 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated from vs0.09.28
+       * util-vserver/lib_internal/unify-copy.c: prepared for sigbus
+         testcase
+         added some 'volatile' modifiers
+         use siglongjmp() instead of longjmp()
 
-2004-03-30 17:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-24 00:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst, src/Makefile-files:
+       * util-vserver/lib_internal/matchvserverinfo-init.c: minor code
+         cleanups
 
-       removed pipe-sync
+2005-03-24 00:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-27 05:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore,
+         util-vserver/lib_internal/testsuite/Makefile-files,
+         util-vserver/lib_internal/testsuite/sigbus.c: added sigbus
+         testcase
 
-       * NEWS, configure.ac:
+2005-03-23 02:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.207
+       * util-vserver/ensc_vector/testsuite,
+         util-vserver/ensc_vector/testsuite/.cvsignore: updated
 
-2004-03-26 10:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-23 02:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/src/vhashify-init.hc, util-vserver/src/vhashify.c:
+         added lots of new code...
 
-       use 'findObject -e' instead of 'findFile' to find /dev/null also
+2005-03-23 02:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 10:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: is_selinux_enabled(): added
 
-       * scripts/vserver.start:
+2005-03-23 02:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed call of vshelper.isEnabled
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.rpm,
+         util-vserver/scripts/vserver-build.yum: execute '--initdb' before
+         importing pubkeys
+         import pubkeys from /etc/vservers/.distributions/.common/pubkeys
+         also
 
-2004-03-26 10:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-23 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/scripts/vserver: added 'hashify' target
 
-       fixed some typos
+2005-03-23 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 10:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_VHASHIFY
 
-       * doc/configuration.xml:
+2005-03-23 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented apps/vshelper/logfile symlink
+       * util-vserver/lib_internal/matchlist-initrefserverlist.c: fixed
+         initialization of 'vserver'
 
-2004-03-26 10:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-23 02:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vshelper:
+       * util-vserver/distrib/Makefile.am: create
+         /etc/.../.distributions/.common/pubkeys/
+         create /etc/.../.defaults/apps/vunify/hash
 
-       ignore 'restart2' event; this seems to be issued at vserver *start*
-       added support for a logfile
-       enable logfile-logging when invoked from kernel (no tty)
+2005-03-23 02:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 09:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: copy GPG keys from the system
+         into the confdir
+         buildrequire dietlibc-0.25
 
-       * scripts/util-vserver-vars.pathsubst:
+2005-03-23 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed order of variables
-       fixed _VSHELPER path
+       * util-vserver/build-all: build with debug settings
 
-2004-03-26 09:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-22 15:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/src/rpm-fake.c: honor return codes of read(2) and
+         write(2) when communication with the rpm-fake-helper
+         call read(2) and write(2) through TEMP_FAILURE_RETRY()
+         use Vwrite() instead of write(2) at some places
 
-       fixed vshelper path
-       added vshelper-sync
+2005-03-22 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 09:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/command-exec.c: call write(2) through
+         TEMP_FAILURE_RETRY()
 
-       * util-vserver.spec.in:
+2005-03-22 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some Requires:
-       own  %dir /var/run/vshelper
+       * util-vserver/util-vserver.spec.in: BuildRequire beecrypt-devel
 
-2004-03-26 09:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-22 15:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/src/chcontext.c, util-vserver/src/vhashify.c:
+         workaround warning messages regarding 'warn_unused_return_value'
+         when
+         using _FORTIFY_SOURCE.
 
-       added substition for @VSHELPERSTATEDIR@
-       minor cosmetical cleanups
+2005-03-22 14:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvservervdir.c,
+         util-vserver/lib_internal/coreassert.h,
+         util-vserver/lib_internal/matchlist-initmanually.c,
+         util-vserver/lib_internal/matchlist-printid.c,
+         util-vserver/lib_internal/util-exitlikeprocess.c,
+         util-vserver/lib_internal/util-io.h: workaround warning messages
+         regarding 'warn_unused_return_value' when
+         using _FORTIFY_SOURCE.
 
-       * src/.cvsignore:
+2005-03-22 14:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vshelper-sync
+       * util-vserver/contrib/manifest.dat.pathsubst: added vhashify +
+         vdlimit
 
-2004-03-26 08:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-22 14:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vshelper-sync.c:
+       * util-vserver/util-vserver.spec.in: cleanups
+         use %global instead of %define
 
-       initial checkin
+2005-03-22 14:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: set _FORTIFY_SOURCE
 
-       * src/vserver-info.c:
+2005-03-19 03:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added tgID and tgPXID support
-       - accept 'true' as boolean value
-       - optimized the code a little bit so that the xid will be looked up
-         only when really needed
+       * util-vserver, util-vserver/.cvsignore: updated
 
-2004-03-26 08:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vps.c:
+       * util-vserver, util-vserver/.cvsignore: updated
 
-       in output, added a ' ' on overlong vserver-names
+2005-03-19 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/update-doc: initial checkin
 
-       * src/secure-mount.c:
+2005-03-19 02:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rewrote some parts to cope better with '-o' options (required for -bme
-       patches to work)
+       * util-vserver/scripts/chcontext: do not use '--create' for dynamic
+         contexts
 
-2004-03-26 08:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/distrib/apps: removed...
 
-       added vshelper-sync
+2005-03-19 02:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/apps, util-vserver/distrib/apps/vshelper,
+         util-vserver/distrib/apps/vshelper/action: added to be removed...
 
-       * scripts/vshelper:
+2005-03-19 02:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/distrib/redhat/initsignal,
+         util-vserver/src/testsuite/data/vserver1,
+         util-vserver/src/testsuite/data/vserver2,
+         util-vserver/src/testsuite/vuname, util-vserver/sysv/vkillall,
+         util-vserver/tests/attack.spec, util-vserver/tests/ulimit:
+         obsoleted
 
-2004-03-26 08:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.stop:
+       * util-vserver/src/testsuite/data/vserver1,
+         util-vserver/src/testsuite/data/vserver1/apps,
+         util-vserver/src/testsuite/data/vserver1/apps/pkgmgmt,
+         util-vserver/src/testsuite/data/vserver1/apps/pkgmgmt/style,
+         util-vserver/src/testsuite/data/vserver1/apps/vunify,
+         util-vserver/src/testsuite/data/vserver1/apps/vunify/exclude,
+         util-vserver/src/testsuite/data/vserver2,
+         util-vserver/src/testsuite/data/vserver2/apps,
+         util-vserver/src/testsuite/data/vserver2/apps/vunify,
+         util-vserver/src/testsuite/data/vserver2/apps/vunify/exclude,
+         util-vserver/src/testsuite/vuname,
+         util-vserver/src/testsuite/vuname/nodename,
+         util-vserver/sysv/vkillall, util-vserver/tests/attack.spec,
+         util-vserver/tests/ulimit, util-vserver/tests/ulimit/cpu: added
+         to be removed...
 
-       added VSHELPER & synchronization code
+2005-03-19 02:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat/initsignal: added to be removed
+         soon...
 
-       * scripts/vserver.start:
+2005-03-19 02:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added documentation about failure reasons
-       added VSHELPER code
+       * util-vserver/src/vnet.c: obsoleted...
 
-2004-03-26 08:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/doc/vunify-verbosity.txt,
+         util-vserver/lib/apidoc/list2xxx.descr, util-vserver/scripts/X,
+         util-vserver/src/vnet.c: initial checkin
 
-       adapted code to new getFileArray() behavior
-       added VSHELPER support
-       added "LEGACY ALERT" messages
-       initSync(),waitForSync(): added
+2005-03-19 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/vserver-start/interface-add.c,
+         util-vserver/vserver-start/interface-print.c,
+         util-vserver/vserver-start/interface-remove.c,
+         util-vserver/vserver-start/main.c: avoid warnings regarding
+         unused params
 
-       * scripts/vserver-setup.functions:
+2005-03-19 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added a "LEGACY ALERT"
+       * util-vserver/src/Makefile-files: moved vdlimit into the only-C99
+         section
+         build vhashify only with C99 and beecrypt
+         cleanups
 
-2004-03-26 08:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build:
+       * util-vserver/lib_internal/testsuite/copy-check: cleanups
+         conditionalize expensive tests
 
-       fixed code to work with new behavior of getFileArray
+2005-03-19 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib_internal/Makefile-files: moved *dlimit* files
+         into the only-C99 section
+         clean all potentially built libraries
 
-       * scripts/util-vserver-vars.pathsubst:
+2005-03-19 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some missing variables
-       added the vshelper variables
+       * util-vserver/ensc_vector/list-free.c: some minor C89
+         compatibility changes
 
-2004-03-26 08:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/pkgmgmt:
+       * util-vserver/ensc_vector/Makefile-files: use
+         'lib-dietlibc-not-enabled-error.a' consistently
+         clean all libraries inclusive those which might not be built
 
-       use pkgmgmt.isAptAvailable()
+2005-03-19 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.dtd: readded
 
-       * scripts/functions:
+2005-03-19 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       logging(),warning(),panic(),execute(): added
-       pkgmgmt.isAptAvailable(): added
-       vshelper.*(): added
-       getFileArray(): fail, when file does not exist
+       * util-vserver/doc/configuration.xml: documented the 'vhashify'
+         configuration
+         moved '<default>' tags before '<description>'
 
-2004-03-26 08:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 02:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/doc/configuration-xhtml.xsl: applied changes
+         regarding the new www-location on savannah
 
-       added vshelper
+2005-03-19 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/Makefile-files: (re)added xsltproc support
 
-       * lib/vserver.h:
+2005-03-19 01:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - minor cleanups
-       - added vcFEATURE_VSHELPER
-       - vc_isSupported(): annotated it
-       - vc_get_insecurecaps(): moved it into an own file; CAP_SYS_BOOT
-         requires a special handling so inlining is not really usefully
-         anymore
+       * util-vserver/configure.ac: added tests for XSLTPROC
+         added '--disable-expensive-tests'
+         added beecrypt tests
+         cosmetical cleanups + enhancements
 
-2004-03-26 08:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-19 01:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: issupported.c, issupportedstring.c:
+       * util-vserver/Makefile.am: set some values in TESTS_ENVIRONMENT
+         added some hacks for lib-dietlibc-not-enabled-error.a
 
-       added VSHELPER
+2005-03-18 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore: updated
 
-       * lib/Makefile-files:
+2005-03-18 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added getinsecurecaps.c
+       * util-vserver/lib_internal/unify.h, util-vserver/src/vunify.h:
+         include <sys/stat.h> instead of defining a 'struct stat'; this
+         prevents
+         problems with the 64bit interface of the filesystem functions
 
-2004-03-26 08:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getinsecurecaps.c:
+       * util-vserver/lib_internal/unify-copy.c: use a sparse-file
+         friendly method for copying files
 
-       initial checkin
+2005-03-18 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite/Makefile-files,
+         util-vserver/lib_internal/testsuite/copy-check,
+         util-vserver/lib_internal/testsuite/copy.c: added testcases for
+         Unify_copy()
 
-       * doc/configuration.xml:
+2005-03-18 00:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented the vshelper stuff
+       * util-vserver/vserver-start/Makefile-files: use $(LIBENSCVECTOR)
+         instead of libensc_vector.a
 
-2004-03-26 08:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.dtd:
+       * util-vserver/src/vhashify-init.hc, util-vserver/src/vhashify.c,
+         util-vserver/src/vhashify.h: made it work...
 
-       added a type for 'script'
+2005-03-18 00:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcopy-init.hc, util-vserver/src/vunify-init.hc:
+         applied changes in the MatchList-API
 
-       * distrib/Makefile.am:
+2005-03-18 00:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups in the directory creation rules
+       * util-vserver/src/Makefile-files: use $(LIBENSCVECTOR) instead of
+         libensc_vector.a
+         use $(LIBVSERVER_GLIBC) instead of lib/libvserver.la
 
-2004-03-26 08:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/scripts/vpkg: exit with returncode of '2' when
+         pkgmgmt can not be determined
 
-       added vshelper
+2005-03-18 00:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-26 08:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite/Makefile-files: use
+         $(LIBENSCVECTOR) instead of libensc_vector.a
 
-       * util-vserver.spec.in:
+2005-03-18 00:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'install-distribution' instead of 'install-vserverdir'
-       added vshelper stuff
+       * util-vserver/lib_internal/unify-isiunlinkable.c,
+         util-vserver/lib_internal/unify.h: Unify_isIUnlinkable(): changed
+         return-type
 
-2004-03-26 08:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/lib_internal/unify-copy.c: implemented copyReg()
+         with mmap(2) instead of read(2)+write(2) sequences
 
-       cleanups and enhancements in the directory installation rules
+2005-03-18 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 06:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/string.hc: String_free(): added
 
-       * NEWS:
+2005-03-18 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.205
+       * util-vserver/lib_internal/string.h: renamed String_destroy() to
+         String_free()
 
-2004-03-24 06:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/lib_internal/string-destroy.c: obsoleted;
+         String_free() is now inlined
 
-       fixed LDADD flags for capchroot
+2005-03-18 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 06:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/matchlist-initbyvserver.c,
+         util-vserver/lib_internal/matchlist-initmanually.c,
+         util-vserver/lib_internal/matchlist-initrefserverlist.c,
+         util-vserver/lib_internal/matchlist.h: applied lot of API changes
 
-       * src/vsched.c:
+2005-03-18 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       enhanced the in-chain operation; make it a noop when called without opts
-       enhanced error messages
+       * util-vserver/lib_internal/matchlist-destroy.c: use String_free()
+         instead of String_destroy()
 
-2004-03-24 06:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: util-vserver-vars.pathsubst, vserver.functions,
-         vserver.start:
+       * util-vserver/lib_internal/Makefile-files: added
+         matchvserverinfo-*
+         removed string-destroy.c
 
-       added scheduler support
+2005-03-18 00:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 06:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/matchvserverinfo-free.c,
+         util-vserver/lib_internal/matchvserverinfo-init.c: initial
+         checkin
 
-       * doc/configuration.xml:
+2005-03-18 00:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added basic documentation for bcapabilities, ccapabilities and schedule
+       * util-vserver/ensc_vector/Makefile-files,
+         util-vserver/lib/Makefile-files: split into a -glibc and a -diet
+         part
 
-2004-03-24 05:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-18 00:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h, src/chcontext.c, src/reducecap.c, src/rpm-fake.c,
-         src/vattribute.c, src/vps.c:
+       * util-vserver/ensc_vector/testsuite/Makefile-files,
+         util-vserver/lib/testsuite/Makefile-files: use $(LIBENSCVECTOR)
+         instead of libensc_vector.a
 
-       renamed vc_get_securecaps() to vc_get_insecurecaps()
+2005-03-18 00:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: HACK: set 'enable_static=no' for
+         dietlibc case and postpone AC_PROG_LIBTOOL execution
 
-       * scripts/vserver.start:
+2005-03-18 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing '\'
+       * util-vserver/Makefile.am: use $(LIBVSERVER) instead of
+         lib/libvserver.la
+         use $(LIBENSCVECTOR_DIET) instead of $(ENSC_VECTOR_LIBS)
 
-2004-03-24 05:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-17 14:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vattribute.c, vcontext.c, vlimit.c, vnamespace.c,
-         vserver-info.c, vuname.c:
+       * util-vserver/build-all, util-vserver/src,
+         util-vserver/src/.cvsignore: updated
 
-       use vc_xidopt2xid()
+2005-03-17 14:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vunify.c: use new Unify_unify() API
+         rearranged some code; I do not try to be C89 compliant in C99
+         progams anymore...
 
-       * src/: chcontext.c, vkill.c, vsched.c:
+2005-03-17 14:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       prefer '--xid' instead of '--ctx'
-       use vc_xidopt2xid()
+       * util-vserver/src/vcopy.c: use new Unify_unify() API
 
-2004-03-24 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-17 14:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/src/vhashify-init.hc, util-vserver/src/vhashify.c,
+         util-vserver/src/vhashify.h: initial checkin
 
-       added support for $VSERVER_EXTRA_CMDS[] which can be set in userscripts
+2005-03-17 14:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: use $(LIBINTERNAL) instead of
+         lib_internal/libinternal.a
+         added vhashify*
 
-       * scripts/vserver-build.debootstrap:
+2005-03-17 14:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call 'wget' with '-nv' instead of '-q'
+       * util-vserver/lib_internal/testsuite/Makefile-files,
+         util-vserver/src/testsuite/Makefile-files,
+         util-vserver/vserver-start/Makefile-files: use $(LIBINTERNAL)
+         instead of lib_internal/libinternal.a
 
-2004-03-24 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-17 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/lib_internal/unify.h: * added an 'ignore_zero'
+         argument to Unify_unify()
+         * Unify_isIUnlinkable(): added
 
-       vc_xidopt2xid(): added prototype
+2005-03-17 14:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/unify-unify.c: added an 'ignore_zero'
+         argument to Unify_unify()
 
-       * lib/Makefile-files:
+2005-03-17 14:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added xidopt2xid.c
+       * util-vserver/ensc_vector/list-add.c,
+         util-vserver/ensc_vector/list-at.c,
+         util-vserver/ensc_vector/list-free.c,
+         util-vserver/ensc_vector/list-init.c,
+         util-vserver/ensc_vector/list-insertinternal.c,
+         util-vserver/ensc_vector/list-internal.h,
+         util-vserver/ensc_vector/list-search.c,
+         util-vserver/ensc_vector/list-searchselforg.c,
+         util-vserver/ensc_vector/list.h,
+         util-vserver/ensc_vector/list.hc,
+         util-vserver/ensc_vector/testsuite/test2.c,
+         util-vserver/ensc_vector/vector-searchselforg.c,
+         util-vserver/lib_internal/unify-isiunlinkable.c: initial checkin
 
-2004-03-24 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-17 14:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/xidopt2xid.c:
+       * util-vserver/lib_internal/Makefile-files: * create both
+         libinternal-diet.a and libinternal-glibc.a. This is
+         needed to avoid segfaults with gcc4 when linking against glibc
+         based
+         libraries like 'beecrypt'. Perhaps, these segfaults are a problem
+         with gcc4 as they do not happen with gcc33...
+         
+         * added unify-isiunlinkable.c
 
-       initial checkin
+2005-03-17 14:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector/testsuite/test1.c: added tests for
+         Vector_searchSelfOrg()
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2005-03-17 14:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Evc_xidopt2xid(): added
+       * util-vserver/ensc_vector/testsuite/Makefile-files: added test2
 
-2004-03-24 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-17 14:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/misc/debootstrap.uri:
+       * util-vserver/ensc_vector/vector.h,
+         util-vserver/ensc_vector/vector.hc: Vector_searchSelfOrg*():
+         added
 
-       updated to recent version
+2005-03-17 14:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector/Makefile-files: added list-* files
+         added vector-searchselforg.c
 
-       * util-vserver.spec.in:
+2005-03-17 14:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed Requires()
-       fixed some %dir's
+       * util-vserver/ensc_fmt/fmt.h, util-vserver/ensc_fmt/fmtx-32.c:
+         fixed declaration of the *_x*int() methods; they do not take a
+         'base' argument
 
-2004-03-24 02:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-09 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/src/vserver-info.c: added XIDTYPE support
 
-       cleaned up CLI: '--xid' is supported now, removed '-h' and '-v' options
-       minor cleanups
+2005-03-09 14:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/context-sync.hc: use EopenD() instead of Eopen()
 
-       * sysv/vservers-legacy:
+2005-03-09 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/m4/ensc_initrddir.m4: fixed typo
 
-2004-03-24 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-09 14:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/: rebootmgr, rebootmgr.subst[DEAD]:
+       * util-vserver/lib/vserver.h: vc_getXIDType(): added
 
-       'rebootmgr' is now a src-script
+2005-03-09 14:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver-internal.h: added some magic to avoid
+         warnings with gcc4
 
-       * sysv/Makefile-files:
+2005-03-09 14:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       'rebootmgr' is now a src-script
-       added vservers-legacy
+       * util-vserver/lib/Makefile-files, util-vserver/lib/getxidtype.c:
+         added getxidtype.c
 
-2004-03-24 02:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-09 14:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vattribute.c:
+       * util-vserver/distrib/redhat/initpre: create /usr/X11 also
 
-       initialize 'bmask' member of struct vc_ctx_caps
-       use negative logic of --bcap (this should be the 'old' behavior of '--cap')
+2005-03-09 14:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am, util-vserver/distrib/fc3/apt,
+         util-vserver/distrib/fc3/apt/rpmpriorities,
+         util-vserver/distrib/fc3/apt/sources.list: added apt support for
+         FC3
 
-       * src/rpm-fake.c:
+2005-03-02 01:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initialize 'bmask' member of struct vc_ctx_caps
+       * util-vserver/lib/syscall_adddlimit-v13.hc,
+         util-vserver/lib/syscall_adddlimit.c,
+         util-vserver/lib/syscall_getdlimit-v13.hc,
+         util-vserver/lib/syscall_getdlimit.c,
+         util-vserver/lib/syscall_remdlimit-v13.hc,
+         util-vserver/lib/syscall_remdlimit.c,
+         util-vserver/lib/syscall_setdlimit-v13.hc,
+         util-vserver/lib/syscall_setdlimit.c: use CALL_VC_V13B instead of
+         CALL_VC_V13
 
-2004-03-24 02:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-02 01:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: capchroot.c, filetime.c, readlink.c:
+       * util-vserver/scripts/vyum: allow '--all' param
 
-       rewrote it
+2005-03-02 01:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/cflags.c: avoid some compiler warnings
 
-       * src/Makefile-files:
+2005-03-02 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; moved some programs into $legacydir
+       * util-vserver/lib/vserver.h: added some VC_ATTR_NONNULL()
+         statements
 
-2004-03-24 02:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-02 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/lib/syscall_adddlimit-v13.hc,
+         util-vserver/lib/syscall_remdlimit-v13.hc,
+         util-vserver/lib/vserver-internal.h: minor cleanups
 
-       added more legacy programs
+2005-03-02 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: do not assume 'nodev' on
+         'devpts'
 
-       * scripts/legacy/vserver:
+2005-03-02 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use $_XXXX variables instead of static commandnames
-       use variables for paths
+       * util-vserver/lib/vserver-internal.h:
+         CDLIM_USER2KERNEL/CDLIM_KERNEL2USER(): added
 
-2004-03-24 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-03-02 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/legacy/distrib-info:
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall_adddlimit-v13.hc,
+         util-vserver/lib/syscall_adddlimit.c,
+         util-vserver/lib/syscall_getdlimit-v13.hc,
+         util-vserver/lib/syscall_getdlimit.c,
+         util-vserver/lib/syscall_remdlimit-v13.hc,
+         util-vserver/lib/syscall_remdlimit.c,
+         util-vserver/lib/syscall_setdlimit-v13.hc,
+         util-vserver/lib/syscall_setdlimit.c, util-vserver/lib/virtual.h,
+         util-vserver/lib/vserver.h, util-vserver/src/Makefile-files,
+         util-vserver/src/vdlimit.c: added *vdlimit functions + tools
+         (patch provided by Daniel Hokka Zakrisson)
 
-       moved parserpmdump to legacy
+2005-02-25 23:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-setup.functions: added some sanity
+         checks
 
-       * scripts/util-vserver-vars.pathsubst:
+2005-02-25 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_REBOOTMGR
+       * util-vserver/ensc_wrappers/Makefile-files,
+         util-vserver/ensc_wrappers/wrappers-string.hc,
+         util-vserver/ensc_wrappers/wrappers.h: added wrapper around
+         string functions
 
-2004-03-24 02:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-25 23:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_dietlibc.m4:
+       * util-vserver/src/secure-mount.c: /me should learn to differ
+         between script-languages and C... strings in C are still marked
+         by >"< but not by >'<...
+         fixed allocation of the newly generated option string
 
-       fixed copy&paste error
+2005-02-25 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vapt-get-worker,
+         util-vserver/scripts/vyum-worker: deprecate usage of $_YUM and
+         $_APT_GET
 
-       * ensc_vector/.cvsignore, lib_internal/.cvsignore, ChangeLog.sed,
-         cvsusers.map:
+2005-02-25 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/distrib/redhat/initpost,
+         util-vserver/scripts/functions,
+         util-vserver/scripts/legacy/distrib-info,
+         util-vserver/scripts/legacy/rootshell,
+         util-vserver/scripts/legacy/vserver,
+         util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/start-vservers,
+         util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vprocunhide, util-vserver/scripts/vpstree,
+         util-vserver/scripts/vserver, util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.functions.apt,
+         util-vserver/scripts/vserver-build.functions.pkgmgmt,
+         util-vserver/scripts/vserver-build.functions.rpm,
+         util-vserver/scripts/vserver-build.functions.yum,
+         util-vserver/scripts/vserver-build.rpm,
+         util-vserver/scripts/vserver-build.yum,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vserver-setup.functions,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/scripts/vshelper, util-vserver/scripts/vsysvwrapper,
+         util-vserver/scripts/vtop, util-vserver/sysv/rebootmgr,
+         util-vserver/sysv/vservers-legacy: LEGACY BREAKAGE FOR 3RD PARTY
+         PATCHES: introduced a more common naming
+         scheme: global, immutable variables names are now named like
+         '$__ABC'
+         instead of '$ABC'. This happens at much places and will break a
+         lot of
+         patches therefore.
 
-2004-03-24 02:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-25 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * .cvsignore, distrib/.cvsignore, ensc_vector/testsuite/.cvsignore,
-         lib/.cvsignore, lib/testsuite/.cvsignore, src/.cvsignore,
-         src/testsuite/.cvsignore, tests/.cvsignore:
+       * util-vserver/configure.ac: changed my GPG key
 
-       added some standardfiles; I do not want to wait until Savannah fixes
-       its scripts and allows access to CVSROOT/cvsignore again.
+2005-02-25 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: assume 'nodev' by default
 
-       * lib_internal/util-perror.h:
+2005-02-25 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       placed a 'do ... while (0)' block around the macros
+       * util-vserver/scripts/vserver-build.functions.yum,
+         util-vserver/scripts/vyum-worker: added preliminary support for
+         the patch from
+         https://bugzilla.redhat.com/beta/attachment.cgi?id=111435&action=view
 
-2004-03-24 02:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-25 20:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: bcaps_list-v13.c, syscall_getccaps-v13.hc,
-         syscall_setccaps-v13.hc:
+       * util-vserver/scripts/vserver-build.functions.pkgmgmt: avoid
+         ambiguous usage of $PKGDIR, use $PKGINSTALLDIR instead of
+         use $SETUP_CONFDIR instead of $confdir
 
-       handle the new struct vc_ctx_caps::bmask member
+2005-02-25 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.yum: avoid ambiguous usage of
+         $PKGDIR, use $PKGINSTALLDIR instead of
 
-       * contrib/manifest.dat.pathsubst:
+2005-02-20 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved some files into legacy
-       handle sysv scripts
+       * util-vserver/scripts/vserver-build.functions.rpm:
+         rpm.initFilesystem(): fixed variable-names; this caused e.g. an
+         unset %_dbpath macro formerly
 
-2004-03-24 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-15 23:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.204
 
-       added formerly missing 'v_gated' registration
-       updated -legacy subpackage and moved some initscripts into it
+2005-02-15 22:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-24 02:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: added information where the 'ip' and
+         'vconfig' programs can be found
 
-       * lib/vserver.h:
+2005-02-15 22:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not use PURE before gcc 3.3.3
-       use a more effective way to determine gcc revision
-       struct vc_ctx_caps: added 'bmask' member
+       * util-vserver/scripts/vshelper: adjusted the order of cli options
+         evaluation; automake-1.9.5 redirects
+         input from /dev/null so the 'tty -s' check gets triggered and
+         'make
+         distcheck' fails in the '... --version/--help' tests
 
-2004-03-24 02:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-15 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h:
+       * util-vserver/src/save_ctxinfo.c: fixed name of the run.rev
+         symlink; there was a '/' missing which
+         caused a pollution of the /etc/vservers/.defaults directory with
+         'run.revXXX' entries. (reported and analyzed by Olivier Poitrey).
 
-       do not use PURE before gcc 3.3.3
-       use a more effective way to determine gcc revision
+2005-02-07 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-23 02:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions,
+         util-vserver/scripts/vserver-build.functions.pkgmgmt,
+         util-vserver/src/vunify.c: fixed typos
 
-       * scripts/vserver-wrapper:
+2005-02-07 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed typo (missing 's')
+       * util-vserver/doc/configuration.xml: documented the *namespace
+         options
 
-2004-03-23 00:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-04 12:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions:
+       * util-vserver/scripts/vserver.functions: SECURITY: fixed detection
+         of the mtab-location (Georg Glas)
+         https://savannah.nongnu.org/bugs/?func=detailitem&item_id=11844
 
-       added basic support for SuSE (patch from Thomas Guettler)
-       give more hints in errormessages (patch from Thomas Guettler)
+2005-02-04 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-23 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: fixed one of the
+         previously added 'test -n'
 
-       * scripts/vpkg:
+2005-02-02 14:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give out errormessage on unknown distribution type
+       * util-vserver/m4/ensc_pathprog.m4: ENSC_PATHPROG_INIT(): fixed doc
+         ENSC_PATHPROG(): added a '<DESCR>' parameter
 
-2004-03-23 00:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-02 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/doc/compatibility-xhtml.xsl,
+         util-vserver/doc/compatibility.css: applied
+         http://vserver.lauft.net/wegen/util-vserver/patches/merge/util-vserver--merge--0.0--patch-2.patch
 
-       added basic support for SuSE
+2005-02-01 17:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-19 17:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.203
 
-       * src/vserver-stat.c:
+2005-02-01 17:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed race when process disappeared shortly after reading /proc
+       * util-vserver/scripts/Makefile-files: added vyum-worker to
+         AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
 
-2004-03-19 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-01 17:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/scripts/vyum-worker: minor cosmetical change
 
-       documented apps/init/{mark,depends}
-       mentioned the gentoo initstyle
+2005-02-01 17:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-19 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions, util-vserver/scripts/pkgmgmt:
+         fixed 'local VAR=$(ACTION) || ERROR' constructs; the 'local
+         VAR=$(ACTION)'
+         succeeds everytime so ERROR will be never executed. So, it is
+         rewritten to
+         'local VAR; VAR=$(ACTION) || ERROR'.
 
-       * doc/configuration-lsd.css:
+2005-02-01 17:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       followed Bertl's suggestion and added a subliminal message
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.202
 
-2004-03-19 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-01 16:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/distrib/fc3/rpmlist.d,
+         util-vserver/distrib/fc3/rpmlist.d/00.lst: initial checkin
 
-       require at least version 0.24 of dietlibc
+2005-02-01 16:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-19 17:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.rpm: moved installPackages
+         into vserver-build.functions.rpm
+         added support for preconfigured package-lists
 
-       * m4/ensc_dietlibc.m4:
+2005-02-01 16:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       allow to specify a <min-version>
+       * util-vserver/scripts/vserver-build.functions.rpm: rpmlist.*():
+         added
 
-2004-03-18 07:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-01 16:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/scripts/vserver-build: documented the '--empty'
+         switch for the '-m rpm' method
+         allow an increasing debug-level
 
-       version 0.29.204
+2005-02-01 16:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 07:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: vshelper.isDebug(): fixed it...
 
-       * lib_internal/util-dotfile.h:
+2005-02-01 16:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not use PURE; it is not applicable for inline declarations
+       * util-vserver/distrib/Makefile.am: added the fc3 rpmlist.d
+         directory + content
 
-2004-03-18 06:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-01 16:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h:
+       * util-vserver/contrib/manifest.dat.pathsubst: added
+         vserver-build.rpm
 
-       fixed broken condition for PURE
-       define __builtin_expect() when needed
+2005-02-01 02:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/matchlist-initbyvserver.c,
+         util-vserver/lib_internal/matchlist-initmanually.c,
+         util-vserver/lib_internal/matchlist-initrefserverlist.c,
+         util-vserver/src/vcopy-init.hc, util-vserver/src/vunify-init.hc:
+         changed matchlist-API to pass additional information about a
+         vserver. This allows to turn off pkgmgmt-queries for not-yet
+         existent vservers in 'vcopy'
 
-       * src/vunify.c:
+2005-02-01 02:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups in the verbosity code
+       * util-vserver/lib_internal/matchlist.h: struct MatchVserverInfo:
+         added; it allows to pass additional information about the vserver
 
-2004-03-18 06:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-02-01 02:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/legacy/: vps.pathsubst, vserver:
+       * util-vserver/lib_internal/unify-copy.c: copyReg(): open out_fd
+         with O_RDWR, fixed resource leak in error-case
 
-       use 'chcontext-compat' instead of 'chcontext'
+2005-02-01 00:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/createskeleton-full.hc: argl... fixed overflow
+         when appending the '/'
 
-       * scripts/vserver.stop:
+2005-01-31 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call isVserverRunning to cleanup rundir
+       * util-vserver/doc/configuration.xml,
+         util-vserver/scripts/functions, util-vserver/scripts/vshelper:
+         added 'debug' option for vshelper
 
-2004-03-18 06:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-31 23:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions.pkgmgmt:
+       * util-vserver/scripts/vshelper: added delegation support (Herbert
+         Poetzl)
+         http://vserver.13thfloor.at/Experimental/NGNET/delta-vshelper-delegate.diff
 
-       ignore candidates for location of pkgmgmt-dir when $ROOTDIR is empty
+2005-01-31 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions: getDistribution():
+         added support for a default distribution
 
-       * scripts/vserver-build:
+2005-01-31 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; use full parenthesis in case ... esac
+       * util-vserver/scripts/Makefile-files,
+         util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.rpm: added the '-m rpm' method
 
-2004-03-18 06:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-31 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver:
+       * util-vserver/distrib/Makefile.am, util-vserver/distrib/template,
+         util-vserver/distrib/template/initpost,
+         util-vserver/distrib/template/initpre: added the 'template'
+         distribution
 
-       implemenented 'pkgmgmt' command
+2005-01-31 17:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: fixed environment unsetting: it will
+         be now done shortly before execve(2)
+         but not on initialization anymore. This solves the problem when
+         'rpm' is
+         a wrapper only calling the real 'rpm?'. Then, LD_PRELOAD et.al.
+         was unset
+         and the wrapper not used.
 
-       * scripts/vrpm:
+2005-01-31 17:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       allow both internal and external packagemanagement
+       * util-vserver/scripts/vshelper: fixed the (currently non-existent)
+         child->parent traversal
 
-2004-03-18 06:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-31 17:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vpkg:
+       * util-vserver/lib/apidoc/Doxyfile.in: added DOT_TRANSPARENT +
+         DOT_MULTI_TARGET
 
-       cleanups; generalized some functions and moved them into the 'functions' file
+2005-01-31 17:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: updated
 
-       * scripts/vapt-get:
+2005-01-31 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       support both internal and external packagemanagement
+       * util-vserver/Makefile.am,
+         util-vserver/lib/createskeleton-full.hc,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-setup.functions,
+         util-vserver/src/save_ctxinfo.c,
+         util-vserver/util-vserver.spec.in: removed 'run.rev' as a
+         vserver-local variable and made it a system-wide setting
 
-2004-03-18 06:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-28 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/doc/configuration.xml: reindented it
+         fixed vshelper documentation
 
-       added $_PKGMGMT and $_TAR
+2005-01-27 21:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions, util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/start-vservers,
+         util-vserver/scripts/vapt-get, util-vserver/scripts/vpkg,
+         util-vserver/scripts/vprocunhide, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vrpm-preload, util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.functions.rpm,
+         util-vserver/scripts/vserver-setup.functions,
+         util-vserver/scripts/vserver-wrapper,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop, util-vserver/scripts/vshelper,
+         util-vserver/scripts/vsomething: use 'test -n "..."' instead of
+         'test "..."'; when "..." expands to '-v'
+         or a similar string, the expression will be misinterpreted
+         (noticed by
+         Werner Schalk)
 
-       * scripts/start-vservers:
+2005-01-27 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       filter out non-matching vservers *before* adding them to the makefile
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.201
 
-2004-03-18 06:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/reducecap.c, util-vserver/src/vserver-info.c:
+         reworked the capability.h stuff
 
-       getVserverStatus(): fix problems with leading whitespaces in numerical values
-       pkgmgmt.guessStyle(), pkgmgmt.isInternal(): added
+2005-01-27 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files,
+         util-vserver/src/capability-compat.h: added capability-compat.h
 
-       * scripts/pkgmgmt:
+2005-01-27 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/configure.ac: added check for <sys/capability.h>
+         header
 
-2004-03-18 06:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/Makefile.am: removed the linuxcaps.h bits
 
-       added pkgmgmt
+2005-01-27 19:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: implemented capability-support
+         check
 
-       * lib_internal/matchlist-initmanually.c:
+2005-01-27 19:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       some cleanups in the verbosity code
+       * util-vserver/src/rpm-fake.c: fixed execution order of chroot(2)
+         and context-creation; this caused
+         errors on kernel 2.6 when the vserver is not running yet
 
-2004-03-18 06:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservercfgstyle.c:
+       * util-vserver/src, util-vserver/src/.cvsignore,
+         util-vserver/src/Makefile-files: added check-unixfile
 
-       filter out relative and absolute paths; when they are not pointing to
-       an existing directory, the function fails
+2005-01-27 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: execute sanityCheck()
 
-       * ensc_wrappers/wrappers_handler.hc:
+2005-01-27 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use __builtin_expect
+       * util-vserver/scripts/vserver.functions: moved sanity checks which
+         were spread in various functions into the sanityCheck() method
+         implemented checks for non-newline terminated files and missing
+         capability support
 
-2004-03-18 06:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 19:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/defaults/apt/apt.conf:
+       * util-vserver/distrib/fc3, util-vserver/distrib/fc3/pkgs,
+         util-vserver/distrib/fc3/pkgs/01,
+         util-vserver/distrib/fc3/pkgs/02,
+         util-vserver/distrib/fc3/pkgs/03, util-vserver/distrib/fc3/yum,
+         util-vserver/distrib/fc3/yum.repos.d,
+         util-vserver/distrib/fc3/yum.repos.d/fedora-devel.repo,
+         util-vserver/distrib/fc3/yum.repos.d/fedora-updates-testing.repo,
+         util-vserver/distrib/fc3/yum.repos.d/fedora-updates.repo,
+         util-vserver/distrib/fc3/yum.repos.d/fedora.repo,
+         util-vserver/distrib/fc3/yum/yum.conf,
+         util-vserver/scripts/vserver-build.functions.yum,
+         util-vserver/scripts/vserver-build.yum,
+         util-vserver/scripts/vsomething, util-vserver/scripts/vyum,
+         util-vserver/scripts/vyum-worker,
+         util-vserver/src/check-unixfile.c: initial checkin
 
-       added '@autogenerated@' tag plus small warning
+2005-01-27 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build: added 'yum' support
 
-       * contrib/manifest.dat.pathsubst:
+2005-01-27 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added pkgmgmt script
+       * util-vserver/scripts/vrpm-preload: reorganized; moved lots of
+         code into the 'functions' file
 
-2004-03-18 06:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 19:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added yum*
+         files + vsomething + check-unixfile
 
-       look for tar
+2005-01-27 19:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-18 06:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: added yum* support
+         reorganized the rpmFake stuff
 
-       * Makefile.am:
+2005-01-27 19:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       substitute @TAR@
+       * util-vserver/scripts/Makefile-files: added the yum* files +
+         vsomething
 
-2004-03-16 15:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 19:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chbind.c:
+       * util-vserver/distrib/redhat/initpre: added missing newline
 
-       use vc_get_nb_ipv4root() instead of hardcoded '16' value
+2005-01-27 19:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 15:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added the yum* stuff for fc3
 
-       * compat.h:
+2005-01-27 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       CONST: added
+       * util-vserver/contrib/manifest.dat.pathsubst: added the yum* files
+         + check-unixfile
 
-2004-03-16 15:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-27 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/README: mentioned the '-m yum' buildmethod
 
-       VC_ATTR_CONST: added
-       vc_get_nb_ipv4root(): added
+2005-01-26 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 15:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvservercfgstyle.c: allow dangling symlinks as
+         /etc/vservers/.../vdir also
 
-       * lib/Makefile-files:
+2005-01-26 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added getnbipv4root.c
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.199
 
-2004-03-16 15:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-26 21:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getnbipv4root.c:
+       * util-vserver/util-vserver.spec.in: do not ship the /vservers
+         directory itself; as it is immutable, the
+         extraction will fail else
 
-       initial checkin
+2005-01-26 20:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 05:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore: updated
 
-       * scripts/Makefile-files:
+2005-01-26 20:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added the sysvwrappers to AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
+       * util-vserver/util-vserver.spec.in: rearranged some scriptlets to
+         avoid comments after '-p /sbin/ldconfig'
 
-2004-03-16 05:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-26 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/scripts/vserver.start: added (untested) support for
+         '/' in the vserver fstab
 
-       version 0.29.202
+2005-01-26 15:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: use unique prefixes for
+         variables used in functions with 'eval' statements
+         mountRootFS(): added
 
-       * sysv/Makefile-files:
+2005-01-26 15:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vservers-default
-       removed vservers
+       * util-vserver/scripts/functions: use unique prefixes for variables
+         used in functions with 'eval' statements
 
-2004-03-16 04:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-26 15:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/vservers.subst[DEAD]:
+       * util-vserver/lib_internal/testsuite/filecfg-ml.c: include
+         <string.h> + <ctype.h>
 
-       obsoleted by new initscript
+2005-01-26 15:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: moved rootshell to legacy
 
-       * sysv/vservers-default:
+2005-01-26 15:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/vserver-start/defaulttty.c: include <string.h>
 
-2004-03-16 04:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-26 15:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/src/secure-mount.c: added '--rootfs' option
 
-       implemented INITPID for the compat API
+2005-01-26 15:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: moved the v_*
+         initscripts to legacy
 
-       * src/rpm-fake.c:
+2005-01-26 14:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented/fixed the non-legacy part
-       cleanups
+       * util-vserver/util-vserver.spec.in: updated BuildRequires:
+         use 'setattr --barrier' instead of 'chattr +t' in the %post
+         scriptlet
+         moved the v_* initscripts to legacy
 
-2004-03-16 04:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-25 16:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake-resolver.c:
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/scripts/legacy/rootshell,
+         util-vserver/scripts/rootshell: moved rootshell script to legacy
 
-       implemented/fixed the non-legacy part
+2005-01-21 13:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * branches/SYSCALL_SWITCH/util-vserver/scripts/vserver,
+         util-vserver/scripts/legacy/vserver: fixed
+         http://savannah.nongnu.org/bugs/?func=detailitem&item_id=11570:
+         
+         "vserver myvserver start" gives exit code 1 if there is no file
+         /etc/vservers/myvserver.sh, since the last statement in vserver
+         ("test -x /etc/vservers/$1.sh && ...") evaluates to 1 in this
+         case.
+         
+         [Daniel Hermann]
 
-       * scripts/vserver.suexec:
+2005-01-21 13:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added internal mode to use 'suexec' for stopped vservers also
+       * util-vserver/scripts/vserver: be more verbosely when vserver
+         could not be determined and give hints
+         about possible solutions (based upon ideas by Thorsten Gunkel)
 
-2004-03-16 04:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-21 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.stop:
+       * util-vserver/scripts/vserver-setup.functions:
+         interface-configuration: give out a warning when no device was
+         configured
 
-       added a more efficient stop method for fakeinit vservers
+2005-01-21 13:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: *
+         interface-configuration: accept 'nodev' without a configured
+         'dev';
+         formerly the interface was silently ignored when 'dev' was
+         missing
+         * added some sanity checks for the behaviour described above
 
-       * scripts/vserver.start:
+2005-01-21 13:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       finxed incomplete quoting
+       * util-vserver/src/rpm-fake.c: added rpm_execcon() wrapper to make
+         it work in SELinux environments
+         call execve(2) directly instead of execv(3)
 
-2004-03-16 04:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-07 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/README: fixed typos
+         cleanups + enhancements
 
-       handle fakeinit separately
-       cleanups and fixes in the flag-generation
+2005-01-07 16:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/README: "Notes for distributors" + "Which version
+         shall I use?" added
 
-       * scripts/vserver-wrapper:
+2005-01-07 16:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/m4/ensc_dietlibc.m4: Fixed last patch: use '[['
+         instead of '[' (found by Hans Ulrich Niedermann)
 
-2004-03-16 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2005-01-06 23:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver:
+       * util-vserver/configure.ac: call ENSC_DIETLIBC_SANITYCHECK,
+         AC_CANONICAL_HOST + AC_CANONICAL_BUILD
 
-       added support for an internal command mode
+2005-01-06 23:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_dietlibc.m4: ENSC_DIETLIBC_SANITYCHECK():
+         added
+         made ENSC_VERSION_DIETLIBC uppercase
+         ignore extra specifiers in dietlibc's minor version (reported by
+         Hans Ulrich Niedermann)
 
-       * scripts/util-vserver-vars.pathsubst:
+2005-01-06 23:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_INITSYNC_MINIT_* variables
-       added $_START_VSERVERS
+       * util-vserver/scripts/util-vserver-vars.pathsubst: fix typo in
+         $_MKTEMPDIR: Use $_MKTEMP not $MKTEMP (fixed by Hans Ulrich
+         Niedermann)
 
-2004-03-16 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-28 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/start-vservers:
+       * util-vserver/scripts/vserver.functions: use $_<prog> (which
+         expands to absolute paths) instead of trusting into a good $PATH
+         a small VLAN fix (do not quote the splitted dev)
+         minor cleanups
 
-       added ok/passed/failed logic
+2004-12-28 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions, util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/start-vservers,
+         util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vpkg, util-vserver/scripts/vrpm-preload,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.functions.apt,
+         util-vserver/scripts/vserver-wrapper,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: use $_<prog> (which expands to
+         absolute paths) instead of trusting into a good $PATH
 
-       * scripts/Makefile-files:
+2004-12-28 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       ship vsyswrapper again
+       * util-vserver/configure.ac: use ENSC_PATHPROG & friends
 
-2004-03-16 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-28 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/m4/ensc_pathprog.m4: initial checkin
 
-       vc_is_dynamic_xid(): added
+2004-12-28 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: use ${ENSC_PATHPROG_SED} when
+         substituting prognames
 
-       * lib/Makefile-files:
+2004-12-28 12:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added isdynamicxid.c
+       * util-vserver/m4/ensc_dietlibc_compat.m4: check more syscall
+         variants
 
-2004-03-16 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-28 12:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-vserver.hc:
+       * util-vserver/lib/vserver.h: s!\params!\param!
+         added doc about vc_get_iattr()
 
-       Evc_set_ccaps(): added
+2004-12-28 11:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/cfg.txt: removed since obsoleted by
+         configuration.xml
 
-       * distrib/redhat/initpre, lib/isdynamicxid.c:
+2004-12-21 07:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/vsched.c: fixed segfault when no arguments are
+         given (reported by Adrian Reyer)
 
-2004-03-16 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-16 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/redhat/initpost:
+       * util-vserver/src/keep-ctx-alive.c: renamed the 'fd_set' variable
+         to 'fdset'. former name causes problems
+         with certain FD_* implementations (reported by Adrian Reyer)
 
-       use internal 'chkconfig' command
+2004-12-09 13:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: added fc-3 host
 
-       * distrib/Makefile.am:
+2004-12-09 13:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added initpre to handle rpm's misclassification of %_netsharedpath
+       * util-vserver/lib/Makefile-files: getfilecontext.c: added
 
-2004-03-16 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-09 13:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/: make-manifest, manifest.dat.pathsubst:
+       * util-vserver/lib/getfilecontext.c, util-vserver/lib/vserver.h:
+         vc_getfilecontext(): as noticed by daniel_hozac in IRC, this
+         function
+         was horribly broken. Fixed and moved it into an own file as it is
+         too
+         complex for an inline function. Documentation was added also.
 
-       handle some sysv files too
+2004-12-07 11:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-16 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/vserver-start/main.c: include <unistd.h>
 
-       * util-vserver.spec.in:
+2004-12-07 11:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated the -sysv package
+       * util-vserver/scripts/vserver.functions: read enter-shell from the
+         defaults-directory also
+         use prio-bias instead of cpu-mask
 
-2004-03-15 22:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-12-07 11:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/lib_internal/filecfg-iteratemultiline.c: include
+         <string.h>
 
-       cleanups; remove unused code
-       added '--silentexist'
-       use context-sync.hc
+2004-12-07 11:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-15 22:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/cflags.c: added some new flags
 
-       * src/chcontext.c:
+2004-12-07 11:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use code from context-sync.hc
+       * util-vserver/doc/configuration.xml: do not mention the /hostname
+         + /domainname params anymore
+         removed vsched/cpu-mask
+         added vsched/priority-bias
 
-2004-03-15 22:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-21 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/context-sync.hc:
+       * util-vserver/lib/vserver.h: added/updated flags and capabilities
 
-       initial checkin
+2004-10-21 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-15 22:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/islink.c: initial checkin
 
-       * src/Makefile-files:
+2004-10-21 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added context-sync.hc
+       * util-vserver/lib/internal.h: utilvserver_isLink(): added
+         prototype
 
-2004-03-15 22:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-21 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.apt-rpm:
+       * util-vserver/lib/cflags-v13.c: added lots of new flags
 
-       cleanups; full parenthesis for case ... esac statements
+2004-10-21 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-15 22:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/ccaps-v13.c: added 'remount' + 'icmp' cap;
+         'ping' is kept for compatibility reasons
 
-       * scripts/vserver:
+2004-10-21 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; full parenthesis for case ... esac statements
-       give more helpful error messages
+       * util-vserver/lib/Makefile-files: added islink.c
 
-2004-03-15 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 23:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/: jail.h, jailintotempdir.c:
+       * util-vserver/scripts/functions: getFileValue(): modified to
+         accept a list of candidates
 
-       return indication about place of error
+2004-10-19 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-15 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcontext.c: merged from
+         UV_NAMESPACE_AFTER_CHROOT branch
 
-       * configure.ac:
+2004-10-19 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       print correct $prefix when '--prefix' is not specified
+       * util-vserver/Makefile.am: added 'update-doc' target
 
-2004-03-13 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 23:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc:
+         Evc_{new,enter}_namespace(): added
 
-       version 0.29.201
+2004-10-19 21:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-13 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.196
 
-       * src/vcontext.c:
+2004-10-19 21:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added another #warning
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt.h:
+         updated to vs1.9.3-rc4
 
-2004-03-13 04:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/vserver-start/configuration-init.c,
+         util-vserver/vserver-start/configuration.c,
+         util-vserver/vserver-start/configuration.h,
+         util-vserver/vserver-start/interface.c,
+         util-vserver/vserver-start/interface.h,
+         util-vserver/vserver-start/main.c,
+         util-vserver/vserver-start/scriptlets.c,
+         util-vserver/vserver-start/vserver-start.h: added lots of new
+         code
 
-       fixed '--uid' option (it's required_argument but not no_argument)
-       drop privileges after migrate()
+2004-10-19 21:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-13 04:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/filecfg-iteratemultiline.c,
+         util-vserver/lib_internal/testsuite/filecfg-ml.c,
+         util-vserver/vserver-start/defaulttty.c: initial checkin
 
-       * scripts/vserver.start:
+2004-10-19 21:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call $_SAVE_CTXINFO until we have something better
+       * util-vserver/vserver-start/Makefile-files: added defaulttty.c
 
-2004-03-13 03:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/src/reducecap.c: use some dirty hacks to include
+         <linuxcaps.h> cleanly
 
-       updated to new kernel behavior
+2004-10-19 21:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-13 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop: execute 'prepareStop()'
 
-       * src/vattribute.c:
+2004-10-19 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed set*() to parse*()
-       set the correct secure attributes
-       call set_flags/set_ccaps only, when there is something to do
+       * util-vserver/scripts/vserver.functions: made
+         runlevel_{start,stop} global variables
+         prepareStop(): added
+         set PREVLEVEL on 'vserver ... stop' (required by Debian)
 
-2004-03-13 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: chcontext, vserver.start:
+       * util-vserver/scripts/vserver-setup.functions: s!prefix!prefixlen!
 
-       applied new CLI
+2004-10-19 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-13 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite/Makefile-files: added
+         filecfg-ml test
 
-       * lib_internal/Makefile-files:
+2004-10-19 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added jail* files
+       * util-vserver/lib_internal/string.hc: String_c_str(): added
 
-2004-03-13 03:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/: jail.h, jailintotempdir.c:
+       * util-vserver/lib_internal/string.h: ENSC_STRING_*FIXED(): added
 
-       initial checkin
+2004-10-19 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-13 03:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/filecfg.h:
+         FileCfg_iterateOverMultiLine(): added prototypes and related
+         declarations
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2004-10-19 21:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Evc_get_ccaps(): added declaration
+       * util-vserver/lib_internal/Makefile-files: added
+         filecfg-iteratemultiline.c
 
-2004-03-12 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vuname.c:
+       * util-vserver/lib/syscall_setsched-v13.hc: vc_set_sched_v13obs():
+         use VCMD_set_sched_v2 instead of VCMD_set_sched
 
-       rewrote it; CLI should be more usable now
+2004-10-19 21:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc: Enice(): added
 
-       * scripts/: chcontext, vserver.start:
+2004-10-19 21:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new vuname syntax
+       * util-vserver/doc/configuration.xml: s!prefix!prefix-length!
 
-2004-03-12 07:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-19 21:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vattribute.c:
+       * util-vserver/Makefile.am: added new kernel headers
+         changed substition of linuxcaps.h; oldish 'sed' versions do not
+         understand '\<' regexs
 
-       set caps before flags so that caps can be changed in the same transaction
-       which deletes 'setup'
+2004-10-18 16:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 05:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcontext.c: do not include "linuxcaps.h" anymore
 
-       * scripts/vserver.suexec:
+2004-10-18 16:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some explicit '--'
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt.h,
+         util-vserver/kernel/inode.h, util-vserver/kernel/legacy.h,
+         util-vserver/kernel/limit.h, util-vserver/kernel/namespace.h,
+         util-vserver/kernel/network.h, util-vserver/kernel/sched.h,
+         util-vserver/kernel/signal.h, util-vserver/kernel/switch.h,
+         util-vserver/kernel/xid.h: updated
 
-2004-03-12 05:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-18 16:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/doc/Makefile-files: removed stylesheets and images
+         from the main-package; they are now in the web-CVS
 
-       added some doc
-       getVserverStatus(): fixed it
+2004-10-18 16:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 05:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-flower.css,
+         util-vserver/doc/configuration-lsd.css,
+         util-vserver/doc/configuration-lsd1.css,
+         util-vserver/doc/flowers.png, util-vserver/doc/flowers1.png,
+         util-vserver/doc/flowers2.png: moved into web-CVS
 
-       * src/save_ctxinfo.c:
+2004-10-18 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use strncat() instead of strcat() to enforce correct length
+       * util-vserver/kernel/debug.h, util-vserver/kernel/dlimit.h:
+         updated
 
-2004-03-12 04:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-06 03:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/README: updated note about 'vserver-stat' and differ
+         between 2.4 and 2.6
+         kernel
 
-       version 0.29.200
+2004-10-06 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/unify-unify.c: retain 'errno' on the
+         final unlink()
 
-       * scripts/: chcontext, vserver.start:
+2004-10-06 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       remove the setup flag
+       * util-vserver/src/Makefile-files: link secure-mount against
+         libvserver
 
-2004-03-12 04:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-06 03:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/src/secure-mount.c: added better diagnostic when
+         fstab-parsing fails
+         use strsep() instead of strtok_r() in the parser to make the
+         line-number counter work
 
-       cleanups
+2004-10-01 12:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.195
 
-       * scripts/chcontext:
+2004-10-01 12:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give '--xid' in migrate case
+       * util-vserver/scripts/functions: _getProcNumberCount():
+         s!$_ctx!$1!
 
-2004-03-12 04:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-01 11:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/configure.ac, util-vserver/m4/ensc_dietlibc.m4: give
+         out information about version of the found dietlibc
 
-       fixed migrate vs. migrate-self
+2004-10-01 11:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_dietlibc.m4: fixed version-detection when
+         additional information are following the
+         number
 
-       * Makefile.am:
+2004-10-01 11:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added kernel headers
+       * util-vserver/scripts/functions: use more efficient ways to detect
+         number of processes in a context
+         (access /proc/virtual/... information instead of executing vps)
 
-2004-03-12 04:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-10-01 10:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * kernel/: context.h, inode.h, legacy.h, limit.h, namespace.h,
-         network.h, sched.h, signal.h, switch.h:
+       * util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.debootstrap: allowed to
+         specify additional debootstrap options
 
-       initial checkin
+2004-10-01 10:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vps.c, util-vserver/src/vserver-stat.c: added
+         warnings regarding procfs-security
 
-       * sysv/vprocunhide:
+2004-09-24 15:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not use /dev/null as lockfile
+       * util-vserver/src/rpm-fake.c: removed a __THROW which is not
+         needed and causes errors with newer gcc
 
-2004-03-12 04:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-24 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vsched.c:
+       * util-vserver/lib/syscall_setvhiname-v13.hc: use a better method
+         to copy labels; formerly, bad parameters could
+         cause undefined behaviour
 
-       updated to new API
+2004-09-24 15:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/Makefile-files: fixed typo
 
-       * src/vattribute.c:
+2004-09-23 23:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented --secure
+       * util-vserver/doc/configuration.xml: added some comments for
+         interfaces/../{name,nodev}
 
-2004-03-12 04:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-23 23:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver.start, vserver.stop:
+       * util-vserver/doc/configuration-flower.css,
+         util-vserver/doc/configuration-lsd.css,
+         util-vserver/doc/configuration-lsd1.css,
+         util-vserver/doc/configuration-xhtml.xsl,
+         util-vserver/doc/configuration.css: made it validate as xhtml
 
-       allow '--debug' in the destructors
+2004-09-23 22:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 04:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: fixed CLEAN=1 usecase
+         use gcc4 instead of gcc35
 
-       * scripts/vserver.functions:
+2004-09-23 22:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added gentoo startup style
+       * util-vserver/scripts/vserver-build.debootstrap: added better
+         diagnostic for failed debootstrap download
 
-2004-03-12 03:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-23 22:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/doc/configuration.css: added *.elements templates
 
-       fixed params
-       do not call vuname/vattribute when not needed
+2004-09-23 22:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: updated rlimits description
+         (reported by Nikola Donev)
+         added warning about explicit 'fakeinit' usage
 
-       * lib/testsuite/flags.c:
+2004-09-23 22:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added testsuite for the flags
+       * util-vserver/doc/configuration-xhtml.xsl: added new stylesheets
+         implemented <elements>...</elements> support
 
-2004-03-12 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-23 22:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/doc/Makefile-files: added new stylesheets and images
 
-       updated interface
-       added flags
+2004-09-23 22:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-flower.css,
+         util-vserver/doc/configuration-lsd1.css,
+         util-vserver/doc/flowers.png, util-vserver/doc/flowers1.png,
+         util-vserver/doc/flowers2.png: initial checkin
 
-       * lib/virtual.h:
+2004-09-23 22:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use kernel headers
+       * util-vserver/distrib/misc/debootstrap.uri: updated
 
-2004-03-12 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-22 20:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: syscall_getiattr-v13.hc, syscall_setiattr-v13.hc,
-         syscall_setsched-v13.hc:
+       * util-vserver/util-vserver.spec.in: s!commented!documented!
 
-       updated interface
+2004-09-22 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-12 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: commented the possible options
+         for 'rpmbuild'
 
-       * lib/listparser.hc:
+2004-09-22 20:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added '^' modifier which marks bit numbers
+       * util-vserver/src/vsched.c: use new vc_set_sched structure
+         generalized CLI options a little bit
 
-2004-03-12 03:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-22 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/flags-v13.c:
+       * util-vserver/src/vattribute.c: set the "secure" flags on
+         '--secure' manually. This is a crude hack
+         and must be solved better.
 
-       added the flags
+2004-09-22 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-11 05:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: struct vc_set_sched: updated + added
+         some flags
+         vc_get_insecureflags(): removed again; it is now handled by the
+         utilities
 
-       * NEWS, configure.ac:
+2004-09-22 20:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.199
+       * util-vserver/lib/vserver-internal.h: ENSC_STRUCT_IDX,
+         ENSC_SAME_STRUCT_IDX: added
 
-2004-03-11 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-22 20:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vuname.c:
+       * util-vserver/lib/syscall_setsched.c: added support for the new
+         'struct vcmd_set_sched_v3'
 
-       added more documentation
-       fixed '--version' conflicts
+2004-09-22 20:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-11 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_setsched-v13.hc: updated to new 'struct
+         vcmd_set_sched_v3'
+         added some optimizations
 
-       * src/: rpm-fake-resolver.c, rpm-fake.c:
+2004-09-22 20:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented most parts of the new migrate method
+       * util-vserver/kernel/sched.h: added 'struct vcmd_set_sched_v3'
+         plus macros
 
-2004-03-11 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-10 11:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/lib/vserver-internal.h: CALL_VC_V13B(),
+         CALL_VC_V13OBS(): added
 
-       set context-name
+2004-09-10 00:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-11 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vlimit.c: fixed missing argument for '--xid'
+         switch
 
-       * lib/Makefile-files:
+2004-09-07 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added getvserverbyctx-* files
+       * util-vserver/src/vattribute.c: use vc_get_insecureflags() on
+         '--secure' option
 
-2004-03-11 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-09-07 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvserverbyctx.c:
+       * util-vserver/lib/vserver.h: vc_get_insecureflags(): added (does
+         this really make sense??)
 
-       implemented new context-naming method
+2004-09-07 20:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-11 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/chcontext: fixed concatenation of flags +
+         caps
 
-       * lib/: getvserverbyctx-compat.hc, getvserverbyctx-v13.hc:
+2004-09-07 20:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/configure.ac: added an explicit requirement for
+         version 1.9 of automake
 
-2004-03-11 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-27 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-vserver.hc:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.193
 
-       Evc_set_vhi_name(): added
+2004-08-27 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 06:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver, util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: follow LSB behavior when
+         starting/stopping a vserver (no error, when already
+         running/stopped)
+         adjusted some exit-codes
 
-       * doc/configuration.xml:
+2004-08-27 14:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented 'fstab.local' and enhanced 'fstab' doc
+       * util-vserver/src/secure-mount.c: showHelp(): improved message
 
-2004-03-10 06:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-27 08:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/distrib/misc/debootstrap.uri: updated again...
 
-       added support for 'fstab.local' files
+2004-08-27 08:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 06:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/save_ctxinfo.c: append '\0' to the buffer read
+         by readlink()
 
-       * sysv/vprocunhide:
+2004-08-27 08:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made it a little bit more portable by providing own implementations of
-       RH's /etc/init.d/functions when this file can not be found (inspired
-       by a patch from Olivier Poitrey)
+       * util-vserver/src/keep-ctx-alive.c: include <sys/select.h>
 
-2004-03-10 05:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-27 08:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc: Ereadlink*():
+         return the count of written chars
 
-       callInNamespace(): call 'shift' to remove the vserver-name from $@
+2004-08-25 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions, util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/vserver-start/mount.c: use the new 'secure-mount'
+         CLI
 
-       * doc/.cvsignore:
+2004-08-25 00:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added configuration.html
+       * util-vserver/src/secure-mount.c: reworked it; '--chroot' does not
+         accept an argument now, and '--secure'
+         is deprecated. Lots of code was modernized
 
-2004-03-10 03:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/vserver-start/configuration-init.c,
+         util-vserver/vserver-start/configuration.c,
+         util-vserver/vserver-start/configuration.h,
+         util-vserver/vserver-start/interface-add.c,
+         util-vserver/vserver-start/interface-read.c,
+         util-vserver/vserver-start/interface.c,
+         util-vserver/vserver-start/interface.h,
+         util-vserver/vserver-start/main.c,
+         util-vserver/vserver-start/scriptlets.c,
+         util-vserver/vserver-start/vshelper.c: added lots of new code
 
-       added an option the 'CONTEXT' query so that it can be choosen between
-       running/non running
+2004-08-19 15:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/vserver-start/interface-print.c,
+         util-vserver/vserver-start/interface-remove.c,
+         util-vserver/vserver-start/mount.c,
+         util-vserver/vserver-start/mount.h,
+         util-vserver/vserver-start/undo.c,
+         util-vserver/vserver-start/undo.h: initial checkin
 
-       * src/: vlimit.c, vuname.c:
+2004-08-19 14:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       prefix option string for getopt with '+' to avoid option reordering
+       * util-vserver/src/vnamespace.c: fixed some #includes for the new
+         position of sys_clone.h
 
-2004-03-10 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vapt-get, vrpm:
+       * util-vserver/src/vkill.c: define ENSC_WRAPPERS_UNISTD; it is used
+         for some legacy code
 
-       use callInNamespace
+2004-08-19 14:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: fixed some #includes to reflect
+         changed position of sys_clone.h
 
-       * scripts/functions:
+2004-08-19 14:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       isAvoidNamespace(): determine full cfgdir path of vserver before checking for 'namespace' file
-       callInNamespace(): added
+       * util-vserver/src/fstool.h: checkForRace(), resolveCtx(): removed
+         prototypes
 
-2004-03-10 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/src/fstool.c: checkForRace(): removed as unused
 
-       minor cosmetical cleanups...
+2004-08-19 14:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chxid.c: use vc_xidopt2xid() instead of
+         resolveCtx()
 
-       * scripts/: chcontext, vserver.start, vserver.stop, vserver.suexec:
+2004-08-19 14:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use '--' delimiter
+       * util-vserver/src/sys_clone.h: moved into lib_internal/
 
-2004-03-10 03:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/src/fstool-resolvectx.c: obsoleted; functionality is
+         already in libvserver
 
-       added/updated some descriptions
+2004-08-19 14:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-10 03:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite/command.c: applied API
+         changes
 
-       * doc/configuration-lsd.css:
+2004-08-19 14:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       flowers... where are all the flowers coming from?
+       * util-vserver/lib_internal/command.h: added support for
+         plain-style char** args
 
-2004-03-10 03:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am, contrib/Makefile-files, doc/Makefile-files,
-         ensc_vector/Makefile-files, ensc_vector/testsuite/Makefile-files,
-         ensc_wrappers/Makefile-files, lib/Makefile-files,
-         lib/testsuite/Makefile-files, lib_internal/Makefile-files,
-         man/Makefile-files, scripts/Makefile-files, src/Makefile-files,
-         src/testsuite/Makefile-files, tests/Makefile-files:
+       * util-vserver/lib_internal/command-appendparameter.c,
+         util-vserver/lib_internal/command-exec.c,
+         util-vserver/lib_internal/command-free.c,
+         util-vserver/lib_internal/command-init.c: handle plain-style
+         char** args also
 
-       modernized the Makefiles; use '+=' where possible to remove complexity
-       from the toplevel Makefile.am
+2004-08-19 14:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 18:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/command-setparams.c,
+         util-vserver/lib_internal/sys_clone.h: initial checkin
 
-       * scripts/vprocunhide:
+2004-08-19 14:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       remove the correct prefix
+       * util-vserver/lib_internal/Makefile-files: added
+         command-setparams.c and sys_clone.h
 
-2004-03-09 17:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver.stop, vserver.suexec:
+       * util-vserver/contrib/manifest.dat.pathsubst: marked
+         vserver.start.bin as C99-only
 
-       use $_CHONTEXT_COMPAT explicitly
+2004-08-19 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 17:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: added some new paths
 
-       * scripts/vserver-setup.functions:
+2004-08-19 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use/create 'uts' directory
+       * util-vserver/Makefile.am: automake-1.9 fixes:
+         s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
+         removed some libtool-hacks which are not needed with automake-1.9
+         anymore
 
-2004-03-09 17:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 14:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/vserver-start/Makefile-files: automake-1.9 fixes:
+         s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
+         added lots of new files
 
-       updated copyright date
+2004-08-19 14:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 17:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: automake-1.9 fixes:
+         s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
+         removed src/sys_clone.h (now in lib_internal/)
+         removed src/fstool-resolvectx.c
 
-       * doc/configuration.xml:
+2004-08-19 14:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented the vunify configuration
+       * util-vserver/lib/testsuite/Makefile-files,
+         util-vserver/tests/Makefile-files: automake-1.9 fixes:
+         s!VSERVER_LDFLAGS!VSERVER_LDFLGS!
 
-2004-03-09 15:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 13:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/lib/xidopt2xid.c: removed code without an effect
 
-       rewrote the non-legacy part
+2004-08-19 13:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall-syscall.c: gcc35 fixes: do not make
+         vc_syscall() an alias for vserver() but execute it.
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-08-19 13:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       aded _KEEP_CTX_ALIVE
+       * util-vserver/lib/isfile.c: initial checkin
 
-2004-03-09 15:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 13:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/lib/internal.h: utilvserver_isFile(): added
+         prototype
 
-       added missing ';' in case expression
-       s!_CTX_KEEP_ALIVE!_KEEP_CTX_ALIVE!
+2004-08-19 13:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 05:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvservercfgstyle.c: fixed detection of
+         legacy-style (check for file but not directory)
 
-       * NEWS:
+2004-08-19 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.198
+       * util-vserver/lib/Makefile-files: addded 'isfile.c'
 
-2004-03-09 04:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 13:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver.stop, vserver.suexec:
+       * util-vserver/ensc_wrappers/wrappers-stdlib.hc: Esetenv(): added
 
-       removed superfluous '--'
+2004-08-19 13:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 04:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-socket.hc: Esend(),
+         Esocketpair(): added
 
-       * scripts/vserver.start:
+2004-08-19 13:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added explicit cleanup trap
-       removed superfluous '--'
+       * util-vserver/ensc_fmt/fmt-internal.h: minor optimizations
 
-2004-03-09 04:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-08-19 13:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/doc/configuration-xhtml.xsl: add '<ulink>' tag
 
-       added some parenthesis
+2004-07-08 11:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 04:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: documented vdir, run, run.rev
+         (provided by Olivier Poitrey)
+         added some links about [bc]capabilities and flags
+         added more scheduler doc (provided by Olivier Poitrey)
+         added some comments about 2.4 vs. 2.6 at rlimits/ulimits
+         added doc about rlimit's 'min' setting
 
-       * scripts/vserver:
+2004-07-03 02:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made 'status' really silent
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.30.190
 
-2004-03-09 04:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 01:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/start-vservers:
+       * util-vserver/doc/configuration.xml: fixed path of the xsd file
 
-       initial checkin
+2004-07-03 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 04:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/build-all: added fc-2
 
-       * scripts/functions:
+2004-07-03 01:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       getVserverStatus(): fixed it for the non-running & non-cleanup case
+       * util-vserver/scripts/vserver.functions: prepareInit(): fixed case
+         when .autofsck does not exist
 
-2004-03-09 04:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 01:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers.h:
+       * util-vserver/scripts/chcontext: accept --xid and prefer it
+         against --ctx in the doc
+         added --silentexist option at --create
 
-       fixed typo
-       fixed overflow
+2004-07-03 01:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 04:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/suse91/apt/rpmpriorities: initial checkin
 
-       * contrib/manifest.dat.pathsubst, scripts/Makefile-files:
+2004-07-03 01:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added start-vservers
+       * util-vserver/distrib/redhat/rc.sysinit: call 'true' finally
 
-2004-03-09 04:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 01:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/distrib/redhat/initpost: added comment about
+         possible races
+         fixed /etc/inittab substitution
 
-       added Requires: make
+2004-07-03 01:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added redhat/rc.sysinit
+         added suse/apt/rpmpriorities
+         moved suse/apt/sources.list into the cfgdir
 
-       * scripts/vserver:
+2004-07-03 01:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made 'status' silent when '--silent' is used
+       * util-vserver/contrib/manifest.dat.pathsubst: added
+         vserver.start.bin
 
-2004-03-09 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 01:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/apidoc/.cvsignore:
+       * util-vserver/vserver-start/Makefile-files: use
+         AM_INSTALLCHECK_STD_OPTIONS_EXEMPT for now
 
-       added man
+2004-07-03 00:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added suse91 files
 
-       * doc/configuration.html[DEAD]:
+2004-07-03 00:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed since autogenerated
+       * util-vserver/distrib/redhat/rc.sysinit,
+         util-vserver/distrib/suse91, util-vserver/distrib/suse91/apt,
+         util-vserver/distrib/suse91/apt/sources.list,
+         util-vserver/distrib/suse91/initpost,
+         util-vserver/distrib/suse91/pkgs,
+         util-vserver/distrib/suse91/pkgs/01,
+         util-vserver/distrib/suse91/pkgs/02,
+         util-vserver/distrib/suse91/rpm,
+         util-vserver/distrib/suse91/rpm/macros,
+         util-vserver/vserver-start,
+         util-vserver/vserver-start/.cvsignore: initial checkin
 
-2004-03-09 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 00:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration-lsd.css:
+       * util-vserver/distrib/redhat/initpost: some enhancements for
+         'plain' initstyle
 
-       use official HTML 4 colornames
+2004-07-03 00:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-09 02:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore: added some files
 
-       * doc/: beautify.xsl, compatibility-xhtml.xsl,
-         configuration-xhtml.xsl:
+2004-07-03 00:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use official XHTML namespace
+       * util-vserver/vserver-start/configuration-init.c,
+         util-vserver/vserver-start/configuration.c,
+         util-vserver/vserver-start/configuration.h,
+         util-vserver/vserver-start/interface-add.c,
+         util-vserver/vserver-start/interface-free.hc,
+         util-vserver/vserver-start/interface-init.hc,
+         util-vserver/vserver-start/interface-read.c,
+         util-vserver/vserver-start/interface.c,
+         util-vserver/vserver-start/interface.h,
+         util-vserver/vserver-start/main.c,
+         util-vserver/vserver-start/scriptlets.c,
+         util-vserver/vserver-start/vserver-start.h,
+         util-vserver/vserver-start/vshelper.c,
+         util-vserver/vserver-start/vshelper.h: initial checkin
 
-2004-03-09 02:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-03 00:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/: defaults/rpm/macros, redhat/initpost:
+       * util-vserver/vserver-start/Makefile-files: added lots of files
 
-       added hack for https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=117827
+2004-07-03 00:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: added CANONIFY tag
 
-       * m4/ensc_syscallnr.m4:
+2004-07-03 00:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       stopped to confuse users with wrong error messages
+       * util-vserver/src/secure-mount.c: rewrite 'ext*' to 'ufs'
 
-2004-03-08 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-02 23:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/apidoc/Makefile-files:
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: use a canonified lockfile-name
 
-       handle man directory
+2004-07-02 23:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 20:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: function prepareInit():
+         do some cleanups in the plain-mode
 
-       * lib/apidoc/Doxyfile.in:
+2004-07-02 23:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated
+       * util-vserver/scripts/functions: vshelper.initSync(): use $1
+         instead of $VSERVER_DIR
 
-2004-03-08 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-02 23:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/Makefile-files:
+       * util-vserver/lib_internal/util.h: include util-lockfile.h
+         canonifyVserverName(): added prototype
 
-       filled it with content...
+2004-07-02 23:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 20:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/util-mem.h: optimized it a little bit
 
-       * util-vserver.spec.in:
+2004-07-02 23:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added documentation
+       * util-vserver/lib_internal/pathinfo.h: ENSC_PI_DECLARE(): added
 
-2004-03-08 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-02 23:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/lib_internal/command-wait.c: fixed stupid typo
 
-       documented tty symlink
-       use documentation.dtd instead of cfgdirdoc.dtd
-       some small corrections/adjustments
+2004-07-02 23:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 19:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/Makefile-files: added lots of new files
 
-       * doc/: beautify.xsl, configuration-lsd.css,
-         configuration-xhtml.xsl, configuration.html:
+2004-07-02 23:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib_internal/errinfo-writeerrno.c,
+         util-vserver/lib_internal/errinfo.h,
+         util-vserver/lib_internal/filecfg-readentryflag.c,
+         util-vserver/lib_internal/filecfg-readentrystr.c,
+         util-vserver/lib_internal/filecfg.h,
+         util-vserver/lib_internal/util-canonify.c,
+         util-vserver/lib_internal/util-lockfile.c,
+         util-vserver/lib_internal/util-lockfile.h: initial checkin
 
-2004-03-08 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-02 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/: compat-xhtml.xsl[DEAD], compatibility-xhtml.xsl:
+       * util-vserver/lib/vserver.h: small cosmetical cleanups
 
-       renamed compat-xhtml.xsl to compatibility-xhtml.xsl
+2004-07-02 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/mtab: s!ext2!ufs!
 
-       * doc/: cfgdirdoc.dtd[DEAD], configuration.dtd:
+2004-07-02 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed cfgdirdoc.dtd to configuration.dtd
+       * util-vserver/pathconfig.h.pathsubst: added lots of PATH_* and
+         PROG_* macros needed for vserver-start.bin
 
-2004-03-08 09:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-07-02 23:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/build-all: removed gcc34 target (now default)
+         added gcc35 target (not working currently)
 
-       added more doc
+2004-07-01 11:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 02:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: (re)enabled nice-support for
+         2.6 vservers which was omitted inadvertently
 
-       * lib/testsuite/flags.c:
+2004-07-01 10:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed uninitialized variable
+       * util-vserver/src/vlimit.c: fixed misinterpretation of '--xid'
+         introduced by rev 1.17
 
-2004-03-08 01:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-29 16:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/apidoc/: .cvsignore, Doxyfile.in, Makefile-files:
+       * util-vserver/scripts/vserver-build.apt-rpm: fixed installation at
+         non-standard places
 
-       initial checkin
+2004-06-29 16:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 01:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build: fixed doc ('pkgcfgbase' vs.
+         'pkgbase')
 
-       * scripts/vserver.start:
+2004-06-27 14:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use '--migrate-self' instead of '--migrate'
+       * util-vserver/build-all,
+         util-vserver/lib_internal/command-appendparameter.c,
+         util-vserver/lib_internal/command-exec.c,
+         util-vserver/lib_internal/command-free.c,
+         util-vserver/lib_internal/command-init.c,
+         util-vserver/lib_internal/command-reset.c,
+         util-vserver/lib_internal/command-wait.c,
+         util-vserver/lib_internal/command.h,
+         util-vserver/lib_internal/testsuite,
+         util-vserver/lib_internal/testsuite/.cvsignore,
+         util-vserver/lib_internal/testsuite/Makefile-files,
+         util-vserver/lib_internal/testsuite/command.c: initial checkin
 
-2004-03-08 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 14:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/lib_internal/Makefile-files: added command* files
+         and testsuite/
 
-       added '--migrate-self' support
+2004-06-27 13:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-08 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: enhanced output for old-style
+         vservers
 
-       * scripts/vserver.functions:
+2004-06-27 13:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use different files for 'bcap' and 'ccap' for now
+       * util-vserver/distrib/misc/debootstrap.uri: updated...
 
-2004-03-08 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 13:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/src/vserver-info.c: assume '- SYSINFO' when no other
+         options are given
 
-       added changelog entry
+2004-06-27 13:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcopy.c: made it work...
 
-       * src/vunify.h:
+2004-06-27 13:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed NONNULL annotations
+       * util-vserver/scripts/vserver-build.skeleton: do not fail when
+         '-d' is not specified and distribution can not be detected
 
-2004-03-07 23:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 13:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/vserver-build.functions: getDistribution():
+         added detection for slackware and gentoo
 
-       added doxygen annnotations
-       added special compiler annotations
+2004-06-27 13:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 23:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vprocunhide: fixed typos
 
-       * lib/internal.h:
+2004-06-27 13:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added doxygen annnotations
-       fixed NONNULL statements
+       * util-vserver/lib_internal/unify-unify.c: Unify_unify(): made it
+         work also when destination file does not exist (needed for vcopy)
 
-2004-03-07 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 13:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/fmt.h:
+       * util-vserver/lib_internal/unify-settime.c: Unify_setTime(): skip
+         operation on symlinks
 
-       added doxygen annnotations
+2004-06-27 13:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: vc_syscall(): added prototype
+         added/updated some doc
 
-       * lib/Makefile-files:
+2004-06-27 13:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added apidoc directory
+       * util-vserver/lib/syscall-syscall.c: initial checkin
 
-2004-03-07 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 13:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac, util-vserver.spec.in:
+       * util-vserver/lib/getvserverbyctx-compat.hc,
+         util-vserver/lib/getvserverctx.c: added legacy support
 
-       added doxygen support
+2004-06-27 13:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 23:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added syscall-syscall.c
 
-       * compat.h:
+2004-06-27 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed typo in __GNUC_MINOR__
+       * util-vserver/ensc_fmt/fmt.h: cleanups; removed unneeded #undef's
 
-2004-03-07 20:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-27 12:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vattribute.c:
+       * util-vserver/doc/configuration.xml: added comment about
+         'capabilities' file and kernelversion
 
-       use new interface of the list2... functions
-       implemented --bcaps and --ccaps
+2004-06-17 21:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/vserver-start,
+         util-vserver/vserver-start/Makefile-files: initial checkin
 
-       * src/: chcontext.c, reducecap.c:
+2004-06-17 21:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new interface of the list2... functions
+       * util-vserver/Makefile.am: added silent.% target
+         include ensc_fmt/ and vserver-start/ files
+         minor cosmetical fixes
 
-2004-03-07 20:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-06-16 10:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/ensc_vector/Makefile-files,
+         util-vserver/ensc_vector/vector-zeroend.c,
+         util-vserver/ensc_vector/vector.h: added Vector_zeroEnd()
+         function
 
-       added .../interfaces/.../nodev option and deprecated 'only_ip'
+2004-06-16 10:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: moved fmt* functionality into
+         the 'ensc_fmt' module
+         removed '-D_REENTRANT' as it is defined globally
 
-       * lib/testsuite/flags.c:
+2004-06-16 10:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new interface
+       * util-vserver/ensc_fmt, util-vserver/ensc_fmt/.cvsignore,
+         util-vserver/ensc_fmt/Makefile-files,
+         util-vserver/ensc_fmt/fmt-32.c, util-vserver/ensc_fmt/fmt-64.c,
+         util-vserver/ensc_fmt/fmt-internal.h,
+         util-vserver/ensc_fmt/fmt-tai64n.c, util-vserver/ensc_fmt/fmt.h,
+         util-vserver/ensc_fmt/fmt.hc, util-vserver/ensc_fmt/fmtx-32.c,
+         util-vserver/ensc_fmt/fmtx-64.c, util-vserver/ensc_fmt/fmtx.hc,
+         util-vserver/lib/fmt-32.c, util-vserver/lib/fmt-64.c,
+         util-vserver/lib/fmt-internal.h, util-vserver/lib/fmt.h,
+         util-vserver/lib/fmt.hc, util-vserver/lib/fmtx-32.c,
+         util-vserver/lib/fmtx-64.c, util-vserver/lib/fmtx.hc: moved fmt*
+         functionality into the 'ensc_fmt' module
 
-2004-03-07 20:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-27 00:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/chcontext, util-vserver/src/vcontext.c:
+         s!fakeinit!initpid! at some places
 
-       added some documentation
-       added some flag/caps support functions
+2004-05-27 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: use '--fakeinit' by
+         default; users will have to disable it explicitly
+         by putting '~fakeinit' into the 'flags' configuration file
 
-       * lib/virtual.h:
+2004-05-27 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed scaps to bcaps
+       * util-vserver/scripts/vserver-build.debootstrap: cleanups
 
-2004-03-07 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-27 00:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall_setflags.c:
+       * util-vserver/README: fixed typos
 
-       added EFAULT check
+2004-05-27 00:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: updated
 
-       * lib/: syscall_getflags-v13.hc, syscall_setflags-v13.hc:
+2004-05-27 00:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor cosmetical cleanups
+       * util-vserver/util-vserver.spec.in: (re)added the MANIFEST_*
+         variables which were lost some time ago; this
+         will preserve %%config files...
 
-2004-03-07 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-27 00:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/listparser.hc:
+       * util-vserver/Makefile.am: make util-vserver.spec readonly to
+         prevent losing of changes
 
-       interpret numbers too
+2004-05-27 00:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/README: added content
 
-       * lib/internal.h:
+2004-05-22 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added the text2value functions
+       * util-vserver/sysv/vprocunhide: fixed rc conflict with
+         /etc/rc.d/functions; reported by taxcollector
+         in https://savannah.nongnu.org/bugs/?func=detailitem&item_id=9052
 
-2004-03-07 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-21 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: flags-v13.c, flags_list-compat.c, flags_list-v13.c:
+       * util-vserver/configure.ac, util-vserver/m4/gpgsig.am: added
+         support for the default GPG key
 
-       cleanups; use modern methods...
+2004-05-21 15:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions, util-vserver/scripts/vapt-get,
+         util-vserver/scripts/vrpm: added some color to the life
 
-       * lib/: bcaps-v13.c, bcaps_list-v13.c, ccaps-v13.c,
-         ccaps_list-v13.c, syscall_getccaps-v13.hc, syscall_getccaps.c,
-         syscall_setccaps-v13.hc, syscall_setccaps.c,
-         val2text-t2v-uint32.c, val2text-t2v-uint64.c,
-         val2text-v2t-uint32.c, val2text-v2t-uint64.c, val2text.hc:
+2004-05-20 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/pkgmgmt, util-vserver/scripts/vserver: mount
+         filesystems on 'vserver ... pkgmgmt ...' operations
 
-2004-03-07 20:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-18 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/NEWS: version 0.29.214
 
-       added the caps-files
-       added the val2text-files
+2004-05-18 23:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-07 20:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: updated URL (again...)
 
-       * doc/configuration.xml:
+2004-05-18 23:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented '.../interfaces/.../nodev'
+       * util-vserver/distrib/Makefile.am, util-vserver/distrib/fc2,
+         util-vserver/distrib/fc2/apt,
+         util-vserver/distrib/fc2/apt/rpmpriorities,
+         util-vserver/distrib/fc2/apt/sources.list,
+         util-vserver/distrib/fc2/pkgs, util-vserver/distrib/fc2/pkgs/01,
+         util-vserver/distrib/fc2/pkgs/02: added fc2 support
 
-2004-03-06 03:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-18 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/contrib/manifest.dat.pathsubst: removed clearenv,
+         added sigexec
 
-       s!Require!Requires!
+2004-05-18 23:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: s!@PACAKGE@!%name! at some
+         places
 
-       * sysv/vprocunhide:
+2004-05-18 23:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/Makefile.am: substitute ENV
 
-2004-03-06 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-11 18:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/Makefile-files:
+       * util-vserver/configure.ac,
+         util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vserver.start,
+         util-vserver/src/Makefile-files, util-vserver/src/clearenv.c: use
+         'env' instead of 'clearenv'; the '-i' switch is SUSv3 and every
+         implementation should have it...
 
-       modernized; use '+=' syntax
-       added vprocunhide
+2004-05-11 18:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/sigexec.c: initial checkin
 
-       * src/vuname.c:
+2004-05-11 18:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made it chainable
-       added '--dir' option
+       * util-vserver/src/context-sync.hc, util-vserver/src/vnamespace.c,
+         util-vserver/src/vps.c: set SIGCHLD sigmask to an expected value
+         (SIG_DFL)
+         use new exitLikeProcess() interface
 
-2004-03-06 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-11 18:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/src/chcontext.c, util-vserver/src/secure-mount.c,
+         util-vserver/src/vcontext.c, util-vserver/src/vkill.c: set
+         SIGCHLD sigmask to an expected value (SIG_DFL)
 
-       cleanups
+2004-05-11 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore,
+         util-vserver/src/Makefile-files: added sigexec
 
-       * scripts/vserver.start:
+2004-05-11 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call vuname
+       * util-vserver/scripts/vshelper: execute vshelper through 'sigexec'
+         to set expected sigmask
 
-2004-03-06 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-11 18:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vprocunhide:
+       * util-vserver/lib_internal/util-exitlikeprocess.h:
+         exitLikeProcess(): readded the 'NORETURN' and added a 'ret'
+         parameter
 
-       implemented exclude/include syntax
-       fixed exit codes
+2004-05-11 18:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/util-exitlikeprocess.c:
+         exitLikeProcess(): never return...
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-05-11 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_VUNAME
+       * util-vserver/lib_internal/switchtowatchxid.c: switchToWatchXid():
+         modified the new migrate-path to work when there exists a process
+         in xid 1 already
 
-2004-03-06 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-08 02:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.213
 
-       documents uts/ and rlimit/ subdirs
+2004-05-08 01:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/exec-ulimit.c: added support for 'core'
 
-       * distrib/misc/vprocunhide-files:
+2004-05-08 01:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some files
+       * util-vserver/src/vps.c: use new exitLikeProcess() interface
+         better error-handling
 
-2004-03-06 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-08 01:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/src/context-sync.hc, util-vserver/src/vnamespace.c:
+         use new exitLikeProcess() interface
 
-       added vprocunhide initscript
+2004-05-08 01:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-06 02:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: added locking
+         call setDefaultTTY() correctly
 
-       * Makefile.am:
+2004-05-08 01:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       modernized it a little bit; use '+=' syntax for sysv/ now
+       * util-vserver/scripts/vserver-build.apt-rpm: call 'vapt-get --
+         clean' after building the vserver
 
-2004-03-05 23:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-08 01:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver.functions, vserver.start, vserver.stop,
-         vserver.suexec:
+       * util-vserver/scripts/functions: setDefaultTTY(): redirect every
+         descriptors
 
-       added support for new migrate feature
+2004-05-08 01:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 23:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/util-exitlikeprocess.h:
+         exitLikeProcess(): removed the 'NORETURN'; this causes strange
+         error when the function returns
+         exitLikeProcess(): added a second, 'char *' parameter for the
+         human readable command
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-05-08 01:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_VCONTEXT and $_VLIMIT
+       * util-vserver/lib_internal/util-exitlikeprocess.c: be more verbose
+         when sending a signal
 
-2004-03-05 23:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-08 01:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/lib/testsuite/cflags.c: some changes to make gcc34
+         happy
 
-       isAvoidNamespace(): use 'vserver-info - FEATURE namespace' inforamtion too
+2004-05-08 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/val2text.hc: include <strings.h>
 
-       * src/vlimit.c:
+2004-05-08 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       try to read limits from dir only, when '--dir' was used
+       * util-vserver/lib/getvservername.c: getRecentName(): use
+         realpath(3) instead of errorprone 'chdir()' calls
 
-2004-03-05 20:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-08 01:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/setattr.c:
+       * util-vserver/lib/getvserverbyctx-compat.hc,
+         util-vserver/lib/getvserverctx.c: optimized buffersizes
 
-       allow '--!...' syntax too
+2004-05-08 01:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 20:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: fixed apps/vunify/logfile
+         documentation; it must be configured on a
+         per-system, but not per-vserver base
 
-       * scripts/vserver-build.functions.pkgmgmt:
+2004-05-08 01:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added a missing '\'
+       * util-vserver/distrib/misc/debootstrap.uri: updated again
 
-2004-03-05 20:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-05 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vprocunhide, distrib/misc/vprocunhide-files:
+       * util-vserver/src/clearenv.c: fixed case when '--' is used
 
-       initial checkin
+2004-05-05 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 20:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vshelper: fixed typo
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-05-05 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added setattr and vprocunhide
+       * util-vserver/scripts/vserver.start: use 'clearenv' in the new
+         path also
 
-2004-03-05 20:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-05 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/scripts/vserver.functions: sendKillSequence(): be
+         silent and succeed everytime
 
-       added vprocunhide
+2004-05-05 19:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-setup.functions: removed legacy code
 
-       * doc/configuration.xml:
+2004-05-05 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented vprocunhide documentation
+       * util-vserver/scripts/vrpm-preload,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c: added code to preserve capabilities
+         and flags
 
-2004-03-05 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-05-05 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/lib_internal/unify-unify.c: added some doc
 
-       added vprocunhide-files
+2004-05-05 19:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_setiattr-fscompat.hc: be more carefully
+         regarding signed vs. unsigned int...
 
-       * contrib/manifest.dat.pathsubst:
+2004-05-05 19:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vprocunhide files
+       * util-vserver/lib/bcaps-v13.c: removePrefix(): fixed another 'len'
+         issue
+         include <strings.h>
 
-2004-03-05 18:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-30 10:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vtop, chcontext, functions, rootshell, vapt-get,
-         vapt-get-worker, vpkg, vpstree, vrpm, vrpm-preload, vrpm-worker,
-         vserver, vserver-build, vserver-build.apt-rpm,
-         vserver-build.debootstrap, vserver-build.functions,
-         vserver-build.functions.pkgmgmt, vserver-build.skeleton,
-         vserver-copy, vserver.functions, vserver.start, vserver.stop,
-         vservers.grabinfo.sh, vsysvwrapper:
+       * util-vserver/lib/bcaps-v13.c: removePrefix(): fixed case when
+         len<4
 
-       added some '>&2'
+2004-04-28 19:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 18:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/changelog.txt: removed since unused
 
-       * .cvsignore:
+2004-04-28 18:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added FEATURES.txt
+       * util-vserver/lib/apidoc/Makefile-files: added list2xxx.syntax
 
-2004-03-05 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-28 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/src/readlink.c: enhanced errormessages
 
-       added '--dir' parameter
-       allow command-chaining
-       support limits with suffixes
-       make '-c' optionally and assume current ctx by default
+2004-04-28 18:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 18:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c, util-vserver/src/vattribute.c: use
+         vc_get_insecurebcaps() instead of vc_get_insecurecaps()
+         set secure ccapabilities
 
-       * lib/testsuite/: Makefile-files, .cvsignore:
+2004-04-28 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added parselimit
+       * util-vserver/src/chcontext.c, util-vserver/src/reducecap.c: use
+         vc_get_insecurebcaps() instead of vc_get_insecurecaps()
 
-2004-03-05 18:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-28 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/lib_internal/Makefile-files: added coreassert.h
 
-       vc_parseLimit(): added prototype
+2004-04-28 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/apidoc/list2xxx.syntax,
+         util-vserver/lib_internal/coreassert.h: initial checkin
 
-       * lib/Makefile-files:
+2004-04-28 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added parselimit.c
+       * util-vserver/lib/testsuite/cflags.c: use
+         <lib_internal/coreassert.h>
+         added new testcases
 
-2004-03-05 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-28 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: parselimit.c, testsuite/parselimit.c:
+       * util-vserver/lib/testsuite/fmt.c,
+         util-vserver/lib/testsuite/parselimit.c: use
+         <lib_internal/coreassert.h>
 
-       initial checkin
+2004-04-28 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 05:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/Makefile-files: define ENSC_TESTSUITE
 
-       * src/.cvsignore:
+2004-04-28 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated; added vattribute and keep-ctx-alive
+       * util-vserver/lib/apidoc/Doxyfile.in: set EXAMPLE_PATH
 
-2004-03-05 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-28 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/lib/vserver.h: vc_get_insecureccaps(): added
+         cleanups
+         added documentation
 
-       implement the vc_set_flags() part
+2004-04-28 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/val2text.hc: use strncasecmp() instead of
+         strncmp()
 
-       * src/vattribute.c:
+2004-04-28 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       setFlags(): implemented it
+       * util-vserver/lib/listparser.hc: improved error-detection for the
+         '^' prefix
+         added support for 'none'
+         allow '0'
 
-2004-03-05 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-28 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/Makefile-files:
+       * util-vserver/lib/bcaps-v13.c: added bcapability names
+         added code to remove a 'CAP_' prefix
 
-       added util-unixsock.hc
+2004-04-28 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/getinsecurebcaps.c,
+         util-vserver/lib/getinsecurecaps.c: renamed getinsecurecaps.c to
+         getinsecurebcaps.c
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2004-04-23 16:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed error-checking
+       * util-vserver/NEWS, util-vserver/configure.ac,
+         util-vserver/doc/configuration-lsd.css: version 0.29.211
 
-2004-03-05 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-23 16:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getprocentry-legacy.c, syscall-compat.hc,
-         syscall_getflags-v13.hc, syscall_getiattr.c,
-         syscall_getvxinfo-oldproc.hc, syscall_getvxinfo.c,
-         syscall_setflags-v13.hc:
+       * util-vserver/util-vserver.spec.in: readjusted Release:
 
-       return better errorcodes
+2004-04-23 14:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: cleaned up the %file-lists
+         buildrequire 'xalan-j' (can be disabled with '--without xalan')
+         removed 'libxslt' buildrequire
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2004-04-23 14:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed copy&paste error
+       * util-vserver/doc/Makefile-files: remove *.html only, when we can
+         recreate them
 
-2004-03-05 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-23 11:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/Makefile-files:
+       * util-vserver/lib/Makefile-files: fixed typo
 
-       added wrappers-socket.hc
+2004-04-23 11:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/Makefile-files: removed FAQ.txt and
+         configuration.dtd
+         added configuration.xsd
 
-       * contrib/manifest.dat.pathsubst:
+2004-04-23 11:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vattribute and keep-ctx-alive
+       * util-vserver/doc/FAQ.txt: obsoleted
 
-2004-03-05 04:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-22 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/configure.ac: added 'net' API
+         disable 'legacy' API by default
 
-       added 'FEATURE' tag
+2004-04-22 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/compat.h: added nid_t
 
-       * src/vcontext.c:
+2004-04-22 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for external synchronization
+       * util-vserver/src/reducecap.c: fixed warnings when compiled
+         without legacy-mode
 
-2004-03-05 04:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-22 20:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/reducecap.c:
+       * util-vserver/lib/Makefile-files, util-vserver/lib/ncaps-net.c,
+         util-vserver/lib/ncaps_list-net.c, util-vserver/lib/nflags-net.c,
+         util-vserver/lib/nflags_list-net.c,
+         util-vserver/lib/syscall_getncaps-net.hc,
+         util-vserver/lib/syscall_getncaps.c,
+         util-vserver/lib/syscall_getnflags-net.hc,
+         util-vserver/lib/syscall_getnflags.c,
+         util-vserver/lib/syscall_getnxinfo-net.hc,
+         util-vserver/lib/syscall_getnxinfo.c,
+         util-vserver/lib/syscall_gettasknid-net.hc,
+         util-vserver/lib/syscall_gettasknid.c,
+         util-vserver/lib/syscall_netadd-net.hc,
+         util-vserver/lib/syscall_netadd.c,
+         util-vserver/lib/syscall_netcreate-net.hc,
+         util-vserver/lib/syscall_netcreate.c,
+         util-vserver/lib/syscall_netmigrate-net.hc,
+         util-vserver/lib/syscall_netmigrate.c,
+         util-vserver/lib/syscall_netremove-net.hc,
+         util-vserver/lib/syscall_netremove.c,
+         util-vserver/lib/syscall_setncaps-net.hc,
+         util-vserver/lib/syscall_setncaps.c,
+         util-vserver/lib/syscall_setnflags-net.hc,
+         util-vserver/lib/syscall_setnflags.c,
+         util-vserver/lib/vserver-internal.h, util-vserver/lib/vserver.h:
+         added network layer functions
 
-       use vc_list2flag_compat() instead of vc_textlist2flag
+2004-04-22 20:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_ctxcreate-v13.hc: fixed return value
 
-       * src/: keep-ctx-alive.c, vattribute.c:
+2004-04-22 19:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/doc/configuration.dtd: obsoleted by
+         configuration.xsd
 
-2004-03-05 04:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-22 19:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: fstool.c, fstool.h, setattr.c, showattr.c:
+       * util-vserver/THANKS: added Olivier Poitrey
 
-       added support for VC_IATTR_IMMUTABLE flag
+2004-04-22 19:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: use xalan instead of xsltproc
 
-       * src/: enter-namespace.c[DEAD], new-namespace.c[DEAD]:
+2004-04-22 19:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       obsoleted by vnamespace
+       * util-vserver/doc/configuration-xhtml.xsl,
+         util-vserver/doc/configuration.xml,
+         util-vserver/doc/configuration.xsd: use the new, XSD-based format
+         which was defined by Olivier Poitrey
 
-2004-03-05 04:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-22 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chcontext.c:
+       * util-vserver/doc/configuration-xhtml.xsl: made it work with xalan
+         removed debug message
 
-       use vc_list2flag_compat() instead of vc_textlist2flag()
+2004-04-22 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/beautify.xsl: obsoleted
 
-       * src/Makefile-files:
+2004-04-22 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed new-namespace and enter-namespace
-       added keep-ctx-alive and vattribute
-       added src_legacy_* variables
+       * util-vserver/doc/Makefile-files: use xalan
 
-2004-03-05 04:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-22 18:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vapt-get, vrpm, vserver:
+       * util-vserver/kernel/network.h, util-vserver/kernel/sched.h:
+         updated to vs1.9.0pre12
 
-       use $_VNAMESPACE instead of $_NEW_NAMESPACE
+2004-04-22 15:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/cflags-v13.c,
+         util-vserver/lib/testsuite/cflags.c: use more specific names for
+         the flags
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-04-21 21:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_VATTRIBUTE and $_VNAMESPACE
-       removed $_NEW_NAMESPACE
+       * util-vserver/scripts/vserver.start: give correct vserver-name in
+         the hints ($VSERVER_DIR instead of $VSERVER_NAME)
 
-2004-03-05 04:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-21 21:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/chcontext:
+       * util-vserver/scripts/vserver.functions: moved the 'ip_only'
+         handling to the right place
 
-       began to implement the new vcontext part...
+2004-04-21 09:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vshelper-sync.c: fixed missing initialization of
+         a timeout struct
 
-       * m4/ensc_syscallnr.m4:
+2004-04-21 09:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use $ensc_cv_path_kernelheaders instead of $kernelincludedir
+       * util-vserver/src/vserver-stat.c: use uint64_t for the uptime
+         counter to handle medium+large uptimes
+         (>49 days) correctly
 
-2004-03-05 04:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-21 00:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util.h:
+       * util-vserver/scripts/vserver.functions: made 'nodev' work
 
-       include "util-unixsock.h"
+2004-04-20 18:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: added chain-echo
 
-       * lib_internal/unify-unify.c:
+2004-04-20 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use VC_IATTR_IMMUTABLE flag too
+       * util-vserver/src/Makefile-files: added chain-echo
 
-2004-03-05 04:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-20 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util-unixsock.h:
+       * util-vserver/scripts/vshelper: use '--defaulttty'
 
-       initial checkin
+2004-04-20 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop: use setDefaultTTY()
 
-       * lib/testsuite/flags.c:
+2004-04-20 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to new flag functions
+       * util-vserver/scripts/vserver.start: use setDefaultTTY()
+         added explicit synchronization step for fakeinit with the old
+         methods
 
-2004-03-05 04:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/vserver: added '--defaulttty' option
 
-       use uint_leastX_t instead of uintX_t
-       added -compat versions for the flag-parsers
-       vc_isSupportedString(): added
+2004-04-20 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/start-vservers: use --defaulttty options
+         instead of setting tty manually
 
-       * lib/internal.h:
+2004-04-20 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added utilvserver_listparser_uint* declarations
+       * util-vserver/scripts/functions: setDefaultTTY(): added
 
-2004-03-05 04:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-20 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fmt-32.c, fmt-64.c, fmt.h, fmt.hc, fmtx-32.c, fmtx-64.c,
-         fmtx.hc:
+       * util-vserver/lib/getvservercfgstyle.c: * vc_getVserverCfgStyle():
+         interprete relative ('./') and absolute
+         paths ('/...') as vcCFG_RECENT_FULL only
+         * vc_getVserverCfgStyle(): use utilvserver_isDirectory (fstat(2))
+         instead of access(2) to check for directories
 
-       fixed aliased functions; they are now in the *.c files and will not be
-       used anymore by every file including 'fmt.h'
+2004-04-20 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc: Edup(): added
 
-       * lib/: flags.c[DEAD], flags_list.c[DEAD]:
+2004-04-20 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed to -compat.c
+       * util-vserver/ensc_wrappers/wrappers-fcntl.hc: Efcntl(): added
 
-2004-03-05 04:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-20 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/distrib/misc/debootstrap.uri: added some entries
 
-       updated to new flags* files
-       added listparser* files
-       removed unused statements
+2004-04-20 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/vunify-exclude: updated
 
-       * ensc_wrappers/wrappers.h:
+2004-04-20 17:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added wrappers-socket.hc
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/scripts/util-vserver-vars.pathsubst: added
+         chain-echo
 
-2004-03-05 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-20 17:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-socket.hc, lib/flags-compat.c,
-         lib/flags-v13.c, lib/flags_list-compat.c, lib/flags_list-v13.c,
-         lib/issupportedstring.c, lib/listparser.hc,
-         lib/listparser_uint32.c, lib/listparser_uint64.c:
+       * util-vserver/src/chain-echo.c: initial checkin
 
-       initial checkin
+2004-04-15 02:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.209
 
-       * ensc_wrappers/wrappers-iosock.hc:
+2004-04-15 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       modernized declarations (use WRAPPER_DECL)
-       WsendAll(),WrecvAll(): added 'int *err' parameter and do not use perror() anymore
+       * util-vserver/src/vcontext.c: setFlags(): optimized (nearly state
+         of 1.10)
 
-2004-03-05 04:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-15 02:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/scripts/vserver.suexec: call chbind when entering
+         vservers
 
-       removed new-namespace and enter-namespace; they are obsoleted by vnamespace
+2004-04-15 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-05 04:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: call vattribute with
+         '--flag fakeinit' additionally to the '--fakeinit' flag of
+         vcontext
 
-       * Makefile.am:
+2004-04-15 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $(src_legacy_*)
+       * util-vserver/scripts/functions: callInNamespace(): do not accept
+         non-running vservers
 
-2004-03-04 05:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-15 01:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_syscallnr.m4:
+       * util-vserver/distrib/misc/debootstrap.uri: updated
 
-       requires AC_PROG_CPP
+2004-04-14 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-04 05:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcontext.c: applied new kernel API (*flags* ->
+         *cflags*, *_context -> ctx_*)
+         fixed '--fakeinit' option
 
-       * lib/vserver.h:
+2004-04-14 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added VC_IATTR_IMMUTABLE
+       * util-vserver/scripts/vshelper: fixed another brokeness in CLI
+         option handling
 
-2004-03-04 05:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-14 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/scripts/functions: lock(): do not execute the pipe;
+         this does not work on 2.6
 
-       added IATTR_IMMUTABLE
+2004-04-14 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-04 05:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore: added cflags
 
-       * lib/Makefile-files:
+2004-04-14 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not use -I $kernelincludedir anymore
+       * util-vserver/doc/configuration.xml: added some comments about
+         uts/context
 
-2004-03-04 04:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-14 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_syscallnr.m4:
+       * util-vserver/doc/configuration-xhtml.xsl: added a new boring
+         stylesheet
 
-       rewrote it...
+2004-04-14 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-03-04 04:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.css: initial checkin
 
-       * m4/: ensc_cflags.m4, ensc_dietlibc.m4, ensc_dietlibc_compat.m4,
-         ensc_fpicsyscall.m4, ensc_syscall.m4:
+2004-04-14 23:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use unique identifiers
+       * util-vserver/contrib/make-manifest,
+         util-vserver/contrib/manifest.dat.pathsubst: added support for
+         '%config(...)' (or whatever) annotations
 
-2004-02-27 20:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-14 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc,
+         util-vserver/lib_internal/switchtowatchxid.c,
+         util-vserver/src/chcontext.c, util-vserver/src/reducecap.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c, util-vserver/src/vattribute.c:
+         applied new kernel API (*flags* -> *cflags*, *_context -> ctx_*)
 
-       version 0.29.197
+2004-04-14 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/Makefile-files,
+         util-vserver/lib_internal/util.h: added util-debug.h
 
-       * distrib/redhat/initpost:
+2004-04-14 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed kernel-pkg installation
-       fixed initscript update
+       * util-vserver/lib_internal/util-debug.h: initial checkin
 
-2004-02-27 20:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-14 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt.h,
+         util-vserver/kernel/inode.h, util-vserver/kernel/legacy.h,
+         util-vserver/kernel/limit.h, util-vserver/kernel/namespace.h,
+         util-vserver/kernel/network.h, util-vserver/kernel/sched.h,
+         util-vserver/kernel/switch.h, util-vserver/kernel/xid.h: updated
+         to vs1.90pre9
 
-       added vsched
+2004-04-14 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 20:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/testsuite/Makefile-files,
+         util-vserver/lib/testsuite/cflags.c,
+         util-vserver/lib/testsuite/flags.c, util-vserver/lib/vserver.h:
+         applied new kernel API
+         renamed functions so that they correspond to the new kernel API
 
-       * lib/testsuite/fmt.c:
+2004-04-14 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       include <string.h>
+       * util-vserver/lib/Makefile-files,
+         util-vserver/lib/cflags-compat.c, util-vserver/lib/cflags-v13.c,
+         util-vserver/lib/cflags_list-compat.c,
+         util-vserver/lib/cflags_list-v13.c,
+         util-vserver/lib/flags-compat.c, util-vserver/lib/flags-v13.c,
+         util-vserver/lib/flags_list-compat.c,
+         util-vserver/lib/flags_list-v13.c,
+         util-vserver/lib/syscall_createcontext-v13.hc,
+         util-vserver/lib/syscall_createcontext.c,
+         util-vserver/lib/syscall_ctxcreate-v13.hc,
+         util-vserver/lib/syscall_ctxcreate.c,
+         util-vserver/lib/syscall_ctxmigrate-v13.hc,
+         util-vserver/lib/syscall_ctxmigrate.c,
+         util-vserver/lib/syscall_getcflags-v13.hc,
+         util-vserver/lib/syscall_getcflags.c,
+         util-vserver/lib/syscall_getflags-v13.hc,
+         util-vserver/lib/syscall_getflags.c,
+         util-vserver/lib/syscall_migratecontext-v13.hc,
+         util-vserver/lib/syscall_migratecontext.c,
+         util-vserver/lib/syscall_setcflags-v13.hc,
+         util-vserver/lib/syscall_setcflags.c,
+         util-vserver/lib/syscall_setflags-v13.hc,
+         util-vserver/lib/syscall_setflags.c: renamed files so that their
+         names are corresponding the kernel
+         API. Especially, *_context was renamed to ctx_*, and *flags* to
+         *cflags*.
 
-2004-02-27 19:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-13 08:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/scripts/functions: further locking fixes
 
-       added vsched
+2004-04-13 08:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/lockfile.c: propagate errors
 
-       * src/chbind.c:
+2004-04-13 08:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed unused variable
+       * util-vserver/src/chroot-rm.c: cleanups
 
-2004-02-27 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-13 08:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/rpm-fake-test.c:
+       * util-vserver/scripts/vshelper: open FD 0
+         evaluate CLI options depending on used kernel API
 
-       include <string.h>
+2004-04-13 08:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: use new locking mechanism
 
-       * src/: Makefile-files, vsched.c, vschedule.c[DEAD]:
+2004-04-13 08:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed vschedule to vsched
+       * util-vserver/lib/issupported.c,
+         util-vserver/lib/issupportedstring.c, util-vserver/lib/vserver.h:
+         added VSHELPER0 feature
 
-2004-02-27 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-08 08:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/scripts/vserver.functions: execScriptlets(): fixed
+         initialization of 'start'
+         execScriptlets(): declare some variables as readonly
+         _sourceWrap(): added some variables
 
-       added chcontext-compat and vschedule
+2004-04-08 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: implemented support for
+         default-scriptlets (inspired by ideas of
+         Olivier Poitrey)
 
-       * src/Makefile-files:
+2004-04-08 06:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vschedule
+       * util-vserver/scripts/rootshell,
+         util-vserver/scripts/vapt-get-worker,
+         util-vserver/scripts/vprocunhide, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vrpm-worker,
+         util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vshelper: give more verbose error-messages
 
-2004-02-27 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-08 06:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/lib/syscall.c: added link-warning for
+         vc_new_s_context()
 
-       added vc_set_sched declarations
+2004-04-08 06:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: added general description for
+         the scripts and documented
+         $DONT_SKIP_DEFAULTS
 
-       * lib/virtual.h:
+2004-04-08 06:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed 'otpions' field from vcmd_set_sched_v1
+       * util-vserver/compat.h: LINK_WARNING(): added
 
-2004-02-27 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 23:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall_setsched-v13.hc, lib/syscall_setsched.c,
-         src/vschedule.c:
+       * util-vserver/scripts/chcontext,
+         util-vserver/scripts/legacy/distrib-info,
+         util-vserver/scripts/legacy/vserver,
+         util-vserver/scripts/pkgmgmt,
+         util-vserver/scripts/start-vservers,
+         util-vserver/scripts/vapt-get, util-vserver/scripts/vpkg,
+         util-vserver/scripts/vpstree, util-vserver/scripts/vrpm-preload,
+         util-vserver/scripts/vserver, util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vserver-wrapper,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop,
+         util-vserver/sysv/rebootmgr, util-vserver/sysv/vprocunhide,
+         util-vserver/sysv/vservers-legacy: give more comprehensive
+         error-message
 
-       initial checkin
+2004-04-06 23:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vps.c, util-vserver/src/vserver-info.c,
+         util-vserver/src/vserver-stat.c: use switchToWatchXid()
 
-       * lib/Makefile-files:
+2004-04-06 22:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added *setsched* files
+       * util-vserver/src/Makefile-files: link some files against
+         libinternal.a
 
-2004-02-27 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 22:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chcontext.c:
+       * util-vserver/lib_internal/util.h: switchToWatchXid(): added
+         prototype
 
-       cleanups; applied name-change from 'chcontext' to 'chcontext-compat'
+2004-04-06 22:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/switchtowatchxid.c: initial checkin
 
-       * src/Makefile-files:
+2004-04-06 22:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed 'chcontext' to 'chcontext-compat'
+       * util-vserver/lib_internal/Makefile-files: added
+         switchtowatchxid.c
 
-2004-02-27 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/lib/vserver.h: VC_ATTR_DEPRECATED: added
 
-       added $_CHCONTEXT_COMPAT
-       updated $_CHCONTEXT
+2004-04-06 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall-compat.hc: vc_chrootsafe_compat():
+         removed
 
-       * scripts/functions:
+2004-04-06 08:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       isKernelAPI(): added
+       * util-vserver/src/vunify.c: applied new MatchList_compare()
+         interface
 
-2004-02-27 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 08:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/src/vserver-stat.c: started support for HZ!=100
+         cleanups
 
-       added chcontext wrapper
+2004-04-06 08:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcopy.c: implement support for SKIP files
 
-       * lib/vserver.h:
+2004-04-06 08:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vc_isSupported()
-       cleanups
+       * util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c: do not call vc_new_s_context() when
+         COMPAT API is not available
 
-2004-02-27 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 08:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/scripts/functions: cleanups
+         vshelper.doInit(): added another sanity check
 
-       updated scheduler definitions
+2004-04-06 08:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/matchlist-appendfiles.c,
+         util-vserver/lib_internal/matchlist-compare.c,
+         util-vserver/lib_internal/matchlist.h: implemented support for
+         SKIP (~) files
 
-       * lib/issupported.c, scripts/chcontext:
+2004-04-06 08:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/testsuite/flags.c: added tests for new flags
 
-2004-02-27 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 08:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/lib/vserver.h: updated VC_VXF_* constants
+         added VC_VXC_* constants
 
-       added issupported.c
+2004-04-06 08:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/flags-v13.c: added/updated flaglist
 
-       * contrib/manifest.dat.pathsubst:
+2004-04-06 08:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chcontext-compat
+       * util-vserver/lib/ccaps-v13.c: added ccap names
 
-2004-02-27 05:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-04-06 08:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: cleanups
 
-       cleanups; restructured code
+2004-04-06 08:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/vunify-exclude: exclude keyfiles
+         completely
+         made some big files in /etc canditates for unify
 
-       * src/new-namespace.c:
+2004-04-06 08:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; do not include "stack-start.h" anymore
+       * util-vserver/kernel/context.h, util-vserver/kernel/inode.h,
+         util-vserver/kernel/legacy.h, util-vserver/kernel/limit.h,
+         util-vserver/kernel/namespace.h, util-vserver/kernel/sched.h,
+         util-vserver/kernel/signal.h, util-vserver/kernel/xid.h: updated
+         to 2.6.5-vs1.9.0pre4
 
-2004-02-27 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-31 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vnamespace.c:
+       * util-vserver/src/lockfile.c: optimized some things
+         now check, if getppid()==original_parent instead of getppid()!=1
+         (might make a difference in vservers)
 
-       initial checkin
+2004-03-31 03:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: added some doc
+         s!_UV_LOCKS!_VS_LOCKS!
 
-       * src/: fakerunlevel.c, rpm-fake-resolver.c, save_ctxinfo.c,
-         vrsetup.c, vserver-stat.c:
+2004-03-31 00:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use wrappers with detailed error-messages
+       * util-vserver/src/lockfile.c: fixed '--help' output
 
-2004-02-27 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-31 00:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: Makefile-files, .cvsignore:
+       * util-vserver/contrib/manifest.dat.pathsubst, util-vserver/src,
+         util-vserver/src/.cvsignore: added lockfile
 
-       added vnamespace
+2004-03-31 00:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/lockfile.c: initial checkin
 
-       * lib/testsuite/fmt.c:
+2004-03-31 00:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made non-C99 compilers happy
+       * util-vserver/src/Makefile-files: added lockfile
 
-2004-02-27 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-31 00:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/vserver.functions: enableInterfaces(),
+         disableInterfaces(): added locking
+         enableInterfaces(), disableInterfaces(): added IP_ADDR_FLUSH type
 
-       vc_set_namespace(), vc_cleanup_namespace(): added prototypes
+2004-03-31 00:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: $_LOCKFILE,
+         $LOCKDIR: added
 
-       * lib/virtual.h:
+2004-03-31 00:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added VCMD_set_namespace and VCMD_cleanup_namespace declarations
+       * util-vserver/scripts/functions: lock(),unlock(): added
+         isNumber(): added doc
 
-2004-02-27 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-30 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/scripts/vserver.functions: made it work...
 
-       added *setnamespace* and *cleanupnamespace* files
+2004-03-30 20:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: isNumber(): fixed '0' case
 
-       * lib/: syscall_cleanupnamespace-v13.hc,
-         syscall_cleanupnamespace.c, syscall_setnamespace-v13.hc,
-         syscall_setnamespace.c:
+2004-03-30 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: implemented parts of Liam
+         Helmer's dummy-interface method
 
-2004-02-27 05:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-30 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/: wrappers-fcntl.hc, wrappers-unistd.hc:
+       * util-vserver/Makefile.am, util-vserver/configure.ac,
+         util-vserver/scripts/util-vserver-vars.pathsubst: added
+         substitutions/tests for iptables, modprobe, rmmod and nameif
+         (required for Liam Helmer's dummy-interfaces)
 
-       added some wrappers with detailed error-messages
+2004-03-30 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: isNumber(): added
 
-       * ensc_wrappers/wrappers.h:
+2004-03-30 17:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added ENSC_DETAIL macros
+       * util-vserver/src/vshelper-sync.c: implemented it with select()
+         instead of alarm(); races are much nicer to handle
 
-2004-02-27 05:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-30 16:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/defaults/rpm/macros:
+       * util-vserver/src/vshelper-sync.c: use sigaction() instead of
+         signal() to remove SA_RESTART flag explicitly
 
-       added /etc/rc.d/init.d/halt and /sbin/new-kernel-pkg to %_netsharedpath
+2004-03-30 16:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-27 05:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/pipe-sync.c: obsoleted by vshelper-sync
 
-       * contrib/manifest.dat.pathsubst:
+2004-03-30 15:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vcontext and vnamespace
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/src/Makefile-files: removed pipe-sync
 
-2004-02-26 14:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-30 15:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util-exitlikeprocess.c[DEAD]:
+       * util-vserver/kernel/context.h, util-vserver/kernel/cvirt.h,
+         util-vserver/kernel/limit.h, util-vserver/kernel/network.h,
+         util-vserver/kernel/sched.h, util-vserver/kernel/switch.h:
+         updated from vs0.09.28
 
-       moved to lib_internal/
+2004-03-27 04:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.207
 
-       * src/util.h:
+2004-03-26 09:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed everything an include <lib_internal/util.h> only
+       * util-vserver/scripts/vshelper: use 'findObject -e' instead of
+         'findFile' to find /dev/null also
 
-2004-02-26 14:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 09:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/scripts/vserver.start: fixed call of
+         vshelper.isEnabled
 
-       added vcontext
+2004-03-26 09:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: fixed some typos
 
-       * src/: chcontext.c, rpm-fake-resolver.c, rpm-fake.c:
+2004-03-26 09:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use VC_DYNAMIC_XID instead of VC_RANDCTX
+       * util-vserver/doc/configuration.xml: documented
+         apps/vshelper/logfile symlink
 
-2004-02-26 14:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 09:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vcontext.c:
+       * util-vserver/scripts/vshelper: ignore 'restart2' event; this
+         seems to be issued at vserver *start*
+         added support for a logfile
+         enable logfile-logging when invoked from kernel (no tty)
 
-       initial checkin
+2004-03-26 08:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: fixed order of
+         variables
+         fixed _VSHELPER path
 
-       * src/testsuite/Makefile-files:
+2004-03-26 08:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed 'util-exitlikeprocess.c'; link against libinternal.a now
+       * util-vserver/contrib/manifest.dat.pathsubst: fixed vshelper path
+         added vshelper-sync
 
-2004-02-26 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 08:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/util-vserver.spec.in: added some Requires:
+         own %dir /var/run/vshelper
 
-       added vcontext
-       removed 'util-exitlikeprocess.c'; link against libinternal.a now
+2004-03-26 08:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added substition for @VSHELPERSTATEDIR@
+         minor cosmetical cleanups
 
-       * scripts/functions:
+2004-03-26 07:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       s!/vservers!$DEFAULT_VSERVERDIR! (reported in IRC by broo)
+       * util-vserver/src, util-vserver/src/.cvsignore: added
+         vshelper-sync
 
-2004-02-26 14:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/util-mem.h:
+       * util-vserver/scripts/vshelper, util-vserver/src/vshelper-sync.c:
+         initial checkin
 
-       include <stdlib.h>
+2004-03-26 07:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: - added tgID and tgPXID support
+         - accept 'true' as boolean value
+         - optimized the code a little bit so that the xid will be looked
+         up
+         only when really needed
 
-       * lib_internal/Makefile-files:
+2004-03-26 07:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lots of util-* headers
-       added util-exitlikeprocess
+       * util-vserver/src/vps.c: in output, added a ' ' on overlong
+         vserver-names
 
-2004-02-26 14:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/src/secure-mount.c: rewrote some parts to cope
+         better with '-o' options (required for -bme
+         patches to work)
 
-       * vc_create_context(), vc_migrate_context(), vc_[sg]et_flags(): added
-         prototypes plus structures
-       * use VC_DYNAMIC_XID instead of VC_RANDCTX
+2004-03-26 07:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: added vshelper-sync
 
-       * lib/vserver-internal.h:
+2004-03-26 07:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added CALL_VC_V13A macro (for API >= 0x00010012)
-       use VC_DYNAMIC_XID instead of VC_RANDCTX
+       * util-vserver/scripts/vserver.stop: added VSHELPER &
+         synchronization code
 
-2004-02-26 14:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/scripts/vserver.start: added documentation about
+         failure reasons
+         added VSHELPER code
 
-       added create+migrate+flags+caps declarations
+2004-03-26 07:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 14:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: adapted code to new
+         getFileArray() behavior
+         added VSHELPER support
+         added "LEGACY ALERT" messages
+         initSync(),waitForSync(): added
 
-       * lib/syscall_createcontext-v13.hc, lib/syscall_createcontext.c,
-         lib/syscall_getflags-v13.hc, lib/syscall_getflags.c,
-         lib/syscall_migratecontext-v13.hc, lib/syscall_migratecontext.c,
-         lib/syscall_setflags-v13.hc, lib/syscall_setflags.c,
-         lib_internal/util-cast.h, lib_internal/util-commonstrings.h,
-         lib_internal/util-declarecmd.h, lib_internal/util-dimof.h,
-         lib_internal/util-exitlikeprocess.c,
-         lib_internal/util-exitlikeprocess.h, lib_internal/util.h:
+2004-03-26 07:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver-setup.functions: added a "LEGACY
+         ALERT"
 
-2004-02-26 14:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/scripts/vserver-build: fixed code to work with new
+         behavior of getFileArray
 
-       added createcontext + migratecontext + [sg]etflags files
+2004-03-26 07:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-26 13:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added some
+         missing variables
+         added the vshelper variables
 
-       * ensc_wrappers/wrappers-vserver.hc:
+2004-03-26 07:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Evc_create_context(), Evc_migrate_context(): added
-       use WRAPPER_DECL instead of UNUSED
+       * util-vserver/scripts/pkgmgmt: use pkgmgmt.isAptAvailable()
 
-2004-02-25 12:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/scripts/functions:
+         logging(),warning(),panic(),execute(): added
+         pkgmgmt.isAptAvailable(): added
+         vshelper.*(): added
+         getFileArray(): fail, when file does not exist
 
-       enhanced output
-       added -nd options
-       allow literal limits
-       assume '-H' by default
+2004-03-26 07:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-25 12:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/scripts/Makefile-files: added vshelper
 
-       * lib/testsuite/.cvsignore:
+2004-03-26 07:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'fmt'
+       * util-vserver/lib/vserver.h: - minor cleanups
+         - added vcFEATURE_VSHELPER
+         - vc_isSupported(): annotated it
+         - vc_get_insecurecaps(): moved it into an own file; CAP_SYS_BOOT
+         requires a special handling so inlining is not really usefully
+         anymore
 
-2004-02-25 12:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util.h:
+       * util-vserver/lib/issupported.c,
+         util-vserver/lib/issupportedstring.c: added VSHELPER
 
-       include util-perror.h
+2004-03-26 07:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-25 12:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added getinsecurecaps.c
 
-       * src/: chcontext.c, secure-mount.c:
+2004-03-26 07:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use more verbose perror()
+       * util-vserver/lib/getinsecurecaps.c: initial checkin
 
-2004-02-25 12:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/doc/configuration.xml: documented the vshelper stuff
 
-       added better namespace supportc
+2004-03-26 07:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-25 12:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.dtd: added a type for 'script'
 
-       * lib/testsuite/fmt.c, lib_internal/util-perror.h:
+2004-03-26 07:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/distrib/Makefile.am: cleanups in the directory
+         creation rules
 
-2004-02-25 12:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-26 07:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/Makefile-files:
+       * util-vserver/util-vserver.spec.in: use 'install-distribution'
+         instead of 'install-vserverdir'
+         added vshelper stuff
 
-       added fmt.c
+2004-03-26 07:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-25 12:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: cleanups and enhancements in the
+         directory installation rules
 
-       * lib/fmt.h:
+2004-03-24 05:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fmt_[u]int{32,64}(): added
+       * util-vserver/NEWS: version 0.29.205
 
-2004-02-21 00:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 05:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/flags.c:
+       * util-vserver/src/Makefile-files: fixed LDADD flags for capchroot
 
-       cosmetical cleanups
+2004-03-24 05:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-21 00:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vsched.c: enhanced the in-chain operation; make
+         it a noop when called without opts
+         enhanced error messages
 
-       * lib/: flags.c, vserver.h:
+2004-03-24 05:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added NAMESPACE flag
+       * util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start: added scheduler support
 
-2004-02-20 22:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 05:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/doc/configuration.xml: added basic documentation for
+         bcapabilities, ccapabilities and schedule
 
-       install enter-namespace into $(sbindir) instead of $(pkglibdir)
+2004-03-24 04:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 22:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h, util-vserver/src/chcontext.c,
+         util-vserver/src/reducecap.c, util-vserver/src/rpm-fake.c,
+         util-vserver/src/vattribute.c, util-vserver/src/vps.c: renamed
+         vc_get_securecaps() to vc_get_insecurecaps()
 
-       * src/new-namespace.c:
+2004-03-24 04:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing '#include <errno.h>'
+       * util-vserver/scripts/vserver.start: added missing '\'
 
-2004-02-20 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 04:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/src/vattribute.c, util-vserver/src/vcontext.c,
+         util-vserver/src/vlimit.c, util-vserver/src/vnamespace.c,
+         util-vserver/src/vserver-info.c, util-vserver/src/vuname.c: use
+         vc_xidopt2xid()
 
-       version 0.29.196
+2004-03-24 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chcontext.c, util-vserver/src/vkill.c,
+         util-vserver/src/vsched.c: prefer '--xid' instead of '--ctx'
+         use vc_xidopt2xid()
 
-       * src/.cvsignore:
+2004-03-24 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added enter-namespace
+       * util-vserver/scripts/vserver.start: added support for
+         $VSERVER_EXTRA_CMDS[] which can be set in userscripts
 
-2004-02-20 21:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/enter-namespace.c:
+       * util-vserver/scripts/vserver-build.debootstrap: call 'wget' with
+         '-nv' instead of '-q'
 
-       initial checkin
+2004-03-24 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 21:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: vc_xidopt2xid(): added prototype
 
-       * src/Makefile-files, contrib/manifest.dat.pathsubst:
+2004-03-24 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added enter-namespace
+       * util-vserver/lib/Makefile-files: added xidopt2xid.c
 
-2004-02-20 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/lib/xidopt2xid.c: initial checkin
 
-       merged with 0.29.2
+2004-03-24 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: Evc_xidopt2xid():
+         added
 
-       * src/vlimit.c:
+2004-03-24 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       changed logic to skip entries without chance for success
+       * util-vserver/distrib/misc/debootstrap.uri: updated to recent
+         version
 
-2004-02-20 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/util-vserver.spec.in: fixed Requires()
+         fixed some %dir's
 
-       cleanups
+2004-03-24 01:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 20:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vlimit.c: cleaned up CLI: '--xid' is supported
+         now, removed '-h' and '-v' options
+         minor cleanups
 
-       * lib/syscall_rlimit-v11.hc:
+2004-03-24 01:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_get_rlimit_mask_v11(): use correct datastructure
+       * util-vserver/sysv/vservers-legacy: initial checkin
 
-2004-02-20 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: Makefile-files, virtual.h, vserver.h:
+       * util-vserver/sysv/rebootmgr, util-vserver/sysv/rebootmgr.subst:
+         'rebootmgr' is now a src-script
 
-       added the enter-namespace stuff
+2004-03-24 01:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/Makefile-files: 'rebootmgr' is now a src-script
+         added vservers-legacy
 
-       * lib/: syscall_enternamespace-v13.hc, syscall_enternamespace.c:
+2004-03-24 01:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/vattribute.c: initialize 'bmask' member of
+         struct vc_ctx_caps
+         use negative logic of --bcap (this should be the 'old' behavior
+         of '--cap')
 
-2004-02-20 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers_handler.hc:
+       * util-vserver/src/rpm-fake.c: initialize 'bmask' member of struct
+         vc_ctx_caps
 
-       added support for more extensive output
+2004-03-24 01:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/capchroot.c, util-vserver/src/filetime.c,
+         util-vserver/src/readlink.c: rewrote it
 
-       * contrib/manifest.dat.pathsubst:
+2004-03-24 01:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved vserver-info into core
+       * util-vserver/src/Makefile-files: cleanups; moved some programs
+         into $legacydir
 
-2004-02-20 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver-internal.h:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added more
+         legacy programs
 
-       VC_ENABLE_API_V13(): incremented needed API-version
+2004-03-24 01:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/legacy/vserver: use $_XXXX variables instead
+         of static commandnames
+         use variables for paths
 
-       * lib/syscall_getvxinfo-v13.hc:
+2004-03-24 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_get_vx_info_v13(): handle xid==0 and xid==1 case manually
+       * util-vserver/scripts/legacy/distrib-info: moved parserpmdump to
+         legacy
 
-2004-02-20 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_REBOOTMGR
 
-       cleanup output in error-case
+2004-03-24 01:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_dietlibc.m4: fixed copy&paste error
 
-       * src/stack-start.h:
+2004-03-24 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed begin of STACK_START for non-growing stacks
+       * util-vserver/ChangeLog.sed, util-vserver/cvsusers.map,
+         util-vserver/ensc_vector, util-vserver/ensc_vector/.cvsignore,
+         util-vserver/lib_internal, util-vserver/lib_internal/.cvsignore:
+         initial checkin
 
-2004-02-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/fakerunlevel.c:
+       * util-vserver, util-vserver/.cvsignore, util-vserver/distrib,
+         util-vserver/distrib/.cvsignore,
+         util-vserver/ensc_vector/testsuite,
+         util-vserver/ensc_vector/testsuite/.cvsignore, util-vserver/lib,
+         util-vserver/lib/.cvsignore, util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore, util-vserver/src,
+         util-vserver/src/.cvsignore, util-vserver/src/testsuite,
+         util-vserver/src/testsuite/.cvsignore, util-vserver/tests,
+         util-vserver/tests/.cvsignore: added some standardfiles; I do not
+         want to wait until Savannah fixes
+         its scripts and allows access to CVSROOT/cvsignore again.
 
-       use more extensive errormessages
-       use <wrappers.h>
+2004-03-24 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/util-perror.h: placed a 'do ... while
+         (0)' block around the macros
 
-       * lib/: fscompat_getiattr-v13.hc[DEAD], fscompat_getiattr.c[DEAD],
-         fscompat_setiattr-v13.hc[DEAD], fscompat_setiattr.c[DEAD]:
+2004-03-24 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       obsoleted
+       * util-vserver/lib/bcaps_list-v13.c,
+         util-vserver/lib/syscall_getccaps-v13.hc,
+         util-vserver/lib/syscall_setccaps-v13.hc: handle the new struct
+         vc_ctx_caps::bmask member
 
-2004-02-20 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: chcontext.c, clearenv.c, exec-cd.c, exec-ulimit.c,
-         ifspec.c, listdevip.c, new-namespace.c, reducecap.c,
-         rpm-fake-resolver.c, rpm-fake.c, save_ctxinfo.c, secure-mount.c,
-         vkill.c:
+       * util-vserver/contrib/manifest.dat.pathsubst: moved some files
+         into legacy
+         handle sysv scripts
 
-       do not do the lo-check anymore
+2004-03-24 01:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-20 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: added formerly missing
+         'v_gated' registration
+         updated -legacy subpackage and moved some initscripts into it
 
-       * src/chbind.c:
+2004-03-24 01:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use more extensive errormessages
-       do not do the lo-check anymore
+       * util-vserver/lib/vserver.h: do not use PURE before gcc 3.3.3
+         use a more effective way to determine gcc revision
+         struct vc_ctx_caps: added 'bmask' member
 
-2004-02-20 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-24 01:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/compat.h: do not use PURE before gcc 3.3.3
+         use a more effective way to determine gcc revision
 
-       fix copy&paste error when giving out initpid
+2004-03-23 01:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-wrapper: fixed typo (missing 's')
 
-       * NEWS:
+2004-03-22 23:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.29.195
+       * util-vserver/scripts/vserver-build.functions: added basic support
+         for SuSE (patch from Thomas Guettler)
+         give more hints in errormessages (patch from Thomas Guettler)
 
-2004-02-19 23:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-22 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/scripts/vpkg: give out errormessage on unknown
+         distribution type
 
-       added SYSINFO command
-       internal cleanups
+2004-03-22 23:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: added basic support for SuSE
 
-       * m4/ensc_e2fscheck.m4:
+2004-03-19 16:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       tell correct packagename for Debian's e2fsprogs-devel
-       tell packagename for Mandrake
+       * util-vserver/src/vserver-stat.c: fixed race when process
+         disappeared shortly after reading /proc
 
-2004-02-19 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-19 16:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: chxid.c, fstool.c, fstool.h, lsxid.c, setattr.c,
-         showattr.c:
+       * util-vserver/doc/configuration.xml: documented
+         apps/init/{mark,depends}
+         mentioned the gentoo initstyle
 
-       applied new iattr interface and changed some internal functions
+2004-03-19 16:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-lsd.css: followed Bertl's
+         suggestion and added a subliminal message
 
-       * lib_internal/: unify-unify.c, util-safechdir.c:
+2004-03-19 16:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       applied new iattr interface
+       * util-vserver/configure.ac: require at least version 0.24 of
+         dietlibc
 
-2004-02-19 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-19 16:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/m4/ensc_dietlibc.m4: allow to specify a
+         <min-version>
 
-       * changed iattr interface
-       * removed *iattr_compat() functions; functionality is covered by new
-         iattr interface already
+2004-03-18 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.204
 
-       * lib/virtual.h:
+2004-03-18 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added new iattr definitions
+       * util-vserver/lib_internal/util-dotfile.h: do not use PURE; it is
+         not applicable for inline declarations
 
-2004-02-19 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: syscall_getiattr-v13.hc, syscall_getiattr.c,
-         syscall_setiattr-v13.hc, syscall_setiattr.c:
+       * util-vserver/compat.h: fixed broken condition for PURE
+         define __builtin_expect() when needed
 
-       implemented new iattr interface
+2004-03-18 05:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vunify.c: cleanups in the verbosity code
 
-       * lib/syscall-compat.hc:
+2004-03-18 05:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_set_ipv4root_compat(): fixed off-by-one error while checking number
-       of allowed IPs
+       * util-vserver/scripts/legacy/vps.pathsubst,
+         util-vserver/scripts/legacy/vserver: use 'chcontext-compat'
+         instead of 'chcontext'
 
-2004-02-19 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fscompat_getiattr-fscompat.hc[DEAD],
-         fscompat_setiattr-fscompat.hc[DEAD],
-         syscall_getiattr-fscompat.hc, syscall_setiattr-fscompat.hc:
+       * util-vserver/scripts/vserver.stop: call isVserverRunning to
+         cleanup rundir
 
-       moved fscompat* files to *iattr-fscompat* and applied the changed iattr interface
+2004-03-18 05:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions.pkgmgmt: ignore
+         candidates for location of pkgmgmt-dir when $ROOTDIR is empty
 
-       * lib/createskeleton-full.hc:
+2004-03-18 05:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new iattr interface
+       * util-vserver/scripts/vserver-build: cleanups; use full
+         parenthesis in case ... esac
 
-2004-02-19 23:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/scripts/vserver: implemenented 'pkgmgmt' command
 
-       removed the fscompat* files
-       added *iattr-fscompat files
+2004-03-18 05:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vrpm: allow both internal and external
+         packagemanagement
 
-       * contrib/manifest.dat.pathsubst:
+2004-03-18 05:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added FEATURES.txt and vcopy
+       * util-vserver/scripts/vpkg: cleanups; generalized some functions
+         and moved them into the 'functions' file
 
-2004-02-19 23:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vapt-get: support both internal and external
+         packagemanagement
 
-       create FEATURES.txt and rearranged code a little bit
+2004-03-18 05:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-19 23:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added $_PKGMGMT
+         and $_TAR
 
-       * Makefile.am:
+2004-03-18 05:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added FEATURES.txt
+       * util-vserver/scripts/start-vservers: filter out non-matching
+         vservers *before* adding them to the makefile
 
-2004-02-18 05:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/functions: getVserverStatus(): fix problems
+         with leading whitespaces in numerical values
+         pkgmgmt.guessStyle(), pkgmgmt.isInternal(): added
 
-       added vc_createSkeleton() plus defines
+2004-03-18 05:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/pkgmgmt: initial checkin
 
-       * lib/fscompat_setiattr-fscompat.hc:
+2004-03-18 05:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_set_iattr_compat_fscompat(): fixed usage of the mode argument
+       * util-vserver/scripts/Makefile-files: added pkgmgmt
 
-2004-02-18 05:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/: unify-unify.c, unify.h:
+       * util-vserver/lib_internal/matchlist-initmanually.c: some cleanups
+         in the verbosity code
 
-       Unify_deUnify(): fixed parameters
-       Unify_copy(), Unify_setTime(): added prototype
+2004-03-18 05:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvservercfgstyle.c: filter out relative and
+         absolute paths; when they are not pointing to
+         an existing directory, the function fails
 
-       * lib_internal/unify-deunify.c:
+2004-03-18 05:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed parameters
+       * util-vserver/ensc_wrappers/wrappers_handler.hc: use
+         __builtin_expect
 
-2004-02-18 05:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib_internal/matchlist.h:
+       * util-vserver/distrib/defaults/apt/apt.conf: added
+         '@autogenerated@' tag plus small warning
 
-       MatchList_printId(): added prototype
+2004-03-18 05:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: added pkgmgmt script
 
-       * lib_internal/Makefile-files:
+2004-03-18 05:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added unify* and util-* files
+       * util-vserver/configure.ac: look for tar
 
-2004-02-18 05:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-18 05:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vunify.c, vunify.h:
+       * util-vserver/Makefile.am: substitute @TAR@
 
-       cleanups; outsourced a lot to libinternal.a
+2004-03-16 14:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chbind.c: use vc_get_nb_ipv4root() instead of
+         hardcoded '16' value
 
-       * src/util.h:
+2004-03-16 14:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; outsourced some macros/inlines to libinternal.a
+       * util-vserver/compat.h: CONST: added
 
-2004-02-18 05:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 14:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/lib/vserver.h: VC_ATTR_CONST: added
+         vc_get_nb_ipv4root(): added
 
-       added vcopy
-       link the fstool programs against libinternal.a
-       removed vserver-visitdir
+2004-03-16 14:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added getnbipv4root.c
 
-       * src/.cvsignore:
+2004-03-16 14:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vcopy
+       * util-vserver/lib/getnbipv4root.c: initial checkin
 
-2004-02-18 05:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 04:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util-safechdir.c[DEAD]:
+       * util-vserver/scripts/Makefile-files: added the sysvwrappers to
+         AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
 
-       moved into libinternal.a
+2004-03-16 04:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.202
 
-       * lib/createskeleton-full.hc, lib/createskeleton-short.hc,
-         lib/createskeleton.c, lib_internal/matchlist-printid.c,
-         lib_internal/unify-copy.c, lib_internal/unify-settime.c,
-         lib_internal/util-dotfile.h, lib_internal/util-safechdir.c,
-         lib_internal/util-safechdir.h, src/vcopy-init.hc, src/vcopy.c,
-         src/vserver-visitdir.hc:
+2004-03-16 03:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/sysv/Makefile-files: added vservers-default
+         removed vservers
 
-2004-02-18 05:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-io.hc:
+       * util-vserver/sysv/vservers.subst: obsoleted by new initscript
 
-       rewrote the W*all() function to accept an additional argument holding
-       the error, instead of giving out the error
+2004-03-16 03:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat/initpre,
+         util-vserver/lib/isdynamicxid.c,
+         util-vserver/scripts/vserver-wrapper,
+         util-vserver/sysv/vservers-default: initial checkin
 
-       * lib/Makefile-files:
+2004-03-16 03:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added createskeleton* files
+       * util-vserver/src/vserver-info.c: implemented INITPID for the
+         compat API
 
-2004-02-18 05:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * pathconfig.h.pathsubst:
+       * util-vserver/src/rpm-fake.c: implemented/fixed the non-legacy
+         part
+         cleanups
 
-       added DEFAULT_PKGSTATEDIR
+2004-03-16 03:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-18 05:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake-resolver.c: implemented/fixed the
+         non-legacy part
 
-       * compat.h:
+2004-03-16 03:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added PURE
+       * util-vserver/scripts/vserver.suexec: added internal mode to use
+         'suexec' for stopped vservers also
 
-2004-02-18 05:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac, Makefile.am:
+       * util-vserver/scripts/vserver.stop: added a more efficient stop
+         method for fakeinit vservers
 
-       do not redefine 'LIBTOOL'; the '--tag' causes problems on install
+2004-03-16 03:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 20:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: finxed incomplete quoting
 
-       * configure.ac:
+2004-03-16 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call ENSC_DIETLIBC_NEED_COMPAT to determine if '-lcompat' is needed for dietlibc
+       * util-vserver/scripts/vserver.functions: handle fakeinit
+         separately
+         cleanups and fixes in the flag-generation
 
-2004-02-17 20:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/scripts/vserver: added support for an internal
+         command mode
 
-       define $(VSERVER_LDADDS)
-       generalized some LIBTOOL stuff
-       do not install libinternal.a anymore
+2004-03-16 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 20:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_INITSYNC_MINIT_* variables
+         added $_START_VSERVERS
 
-       * tests/Makefile-files:
+2004-03-16 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use $(VSERVER_LDADDS) instead of lib/libvserver.la to use '-lcompat' on purpose
+       * util-vserver/scripts/start-vservers: added ok/passed/failed logic
 
-2004-02-17 20:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/scripts/Makefile-files: ship vsyswrapper again
 
-       _pkgMountRPM(): do not mount /proc when it is already mounted
+2004-03-16 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 20:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: vc_is_dynamic_xid(): added
 
-       * src/rpm-fake.c:
+2004-03-16 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rearranged inclusion of <sys/socket.h> to fix compilation problems
-       with fc1.90
+       * util-vserver/lib/Makefile-files: added isdynamicxid.c
 
-2004-02-17 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rebootmgr.c:
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: Evc_set_ccaps():
+         added
 
-       include <limits.h>
+2004-03-16 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat/initpost: use internal 'chkconfig'
+         command
 
-       * src/Makefile-files:
+2004-03-16 03:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use $(VSERVER_LDADDS) instead of lib/libvserver.la to use '-lcompat' on purpose
-       fixed capchroot compilation
+       * util-vserver/distrib/Makefile.am: added initpre to handle rpm's
+         misclassification of %_netsharedpath
 
-2004-02-17 20:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-16 03:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_dietlibc_compat.m4:
+       * util-vserver/contrib/make-manifest,
+         util-vserver/contrib/manifest.dat.pathsubst: handle some sysv
+         files too
 
-       initial checkin
+2004-03-16 03:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: updated the -sysv package
 
-       * ensc_vector/testsuite/test1.c, src/testsuite/vunify-functest.c:
+2004-03-15 21:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       make non-C99 compilers happy
+       * util-vserver/src/vcontext.c: cleanups; remove unused code
+         added '--silentexist'
+         use context-sync.hc
 
-2004-02-17 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-15 21:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS:
+       * util-vserver/src/chcontext.c: use code from context-sync.hc
 
-       version 0.29.192
+2004-03-15 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/context-sync.hc: initial checkin
 
-       * Makefile.am:
+2004-03-15 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing backslash
+       * util-vserver/src/Makefile-files: added context-sync.hc
 
-2004-02-17 03:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-15 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vunify.h, testsuite/Makefile-files,
-         testsuite/vunify-functest.c:
+       * util-vserver/scripts/vserver-build.apt-rpm: cleanups; full
+         parenthesis for case ... esac statements
 
-       use new lib_internal/
+2004-03-15 21:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: cleanups; full parenthesis for case
+         ... esac statements
+         give more helpful error messages
 
-       * src/vunify-init.hc:
+2004-03-15 21:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved most function into lib_internal/
+       * util-vserver/lib_internal/jail.h,
+         util-vserver/lib_internal/jailintotempdir.c: return indication
+         about place of error
 
-2004-02-17 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-15 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify.c:
+       * util-vserver/configure.ac: print correct $prefix when '--prefix'
+         is not specified
 
-       use new lib_internal
+2004-03-13 03:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.201
 
-       * src/util.h:
+2004-03-13 03:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved some functions/macros into lib_internal/util-*
+       * util-vserver/src/vcontext.c: added another #warning
 
-2004-02-17 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-13 03:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/src/vcontext.c: fixed '--uid' option (it's
+         required_argument but not no_argument)
+         drop privileges after migrate()
 
-       removed vunify-* files which went into lib_internal
+2004-03-13 03:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: call $_SAVE_CTXINFO until we
+         have something better
 
-       * Makefile.am:
+2004-03-13 02:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lib_internal/ files
+       * util-vserver/src/vcontext.c: updated to new kernel behavior
 
-2004-02-17 03:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-13 02:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vunify-compare.hc[DEAD], vunify-debug.c[DEAD],
-         vunify-doit.hc[DEAD], vunify-matchlist.c[DEAD],
-         vunify-matchlist.h[DEAD]:
+       * util-vserver/src/vattribute.c: renamed set*() to parse*()
+         set the correct secure attributes
+         call set_flags/set_ccaps only, when there is something to do
 
-       moved functionality into lib_internal library
+2004-03-13 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-17 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/chcontext,
+         util-vserver/scripts/vserver.start: applied new CLI
 
-       * lib_internal/: Makefile-files, matchlist-appendfiles.c,
-         matchlist-compare.c, matchlist-destroy.c, matchlist-init.c,
-         matchlist-initbyvserver.c, matchlist-initmanually.c,
-         matchlist-initrefserverlist.c, matchlist.h, pathinfo-append.c,
-         pathinfo-test.c, pathinfo.h, string-destroy.c, string.h,
-         string.hc, unify-deunify.c, unify-unify.c, unify.h, util-io.h,
-         util-mem.h:
+2004-03-13 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib_internal/Makefile-files: added jail* files
 
-2004-02-17 03:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-13 02:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/: wrappers-unistd.hc, wrappers_handler.hc:
+       * util-vserver/lib_internal/jail.h,
+         util-vserver/lib_internal/jailintotempdir.c: initial checkin
 
-       fixed some 'noreturn' warnings for the execv() functions
+2004-03-13 02:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: Evc_get_ccaps():
+         added declaration
 
-       * contrib/make-manifest:
+2004-03-12 19:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       ignore lines beginning with '#'
+       * util-vserver/src/vuname.c: rewrote it; CLI should be more usable
+         now
 
-2004-02-16 20:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 19:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/scripts/chcontext,
+         util-vserver/scripts/vserver.start: use new vuname syntax
 
-       set @ENSC_HAVE_*_COMPILER_TRUE@ tags
+2004-03-12 06:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vattribute.c: set caps before flags so that caps
+         can be changed in the same transaction
+         which deletes 'setup'
 
-       * ensc_vector/testsuite/test1.c:
+2004-03-12 04:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       #undef NDEBUG
+       * util-vserver/scripts/vserver.suexec: added some explicit '--'
 
-2004-02-16 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 04:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/scripts/functions: added some doc
+         getVserverStatus(): fixed it
 
-       use $_READLINK
-       mount /proc when doing pkg-management
+2004-03-12 04:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/save_ctxinfo.c: use strncat() instead of
+         strcat() to enforce correct length
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-03-12 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added readlink
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.200
 
-2004-02-16 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vrpm-preload:
+       * util-vserver/scripts/chcontext,
+         util-vserver/scripts/vserver.start: remove the setup flag
 
-       made rpm-flavor configurable (e.g. 'i' for install (default), 'q' for
-       query, 'd' for database)
+2004-03-12 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/virtual.h: cleanups
 
-       * scripts/vserver-build.functions:
+2004-03-12 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       register generated files so that they
-       can be cleaned up when needed
+       * util-vserver/scripts/chcontext: give '--xid' in migrate case
 
-2004-02-16 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.apt-rpm:
+       * util-vserver/scripts/chcontext: fixed migrate vs. migrate-self
 
-       call rpm.initDB()
+2004-03-12 03:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added kernel headers
 
-       * scripts/vserver-build.functions.rpm:
+2004-03-12 03:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rpm.initDB(): added
+       * util-vserver/kernel, util-vserver/kernel/context.h,
+         util-vserver/kernel/inode.h, util-vserver/kernel/legacy.h,
+         util-vserver/kernel/limit.h, util-vserver/kernel/namespace.h,
+         util-vserver/kernel/network.h, util-vserver/kernel/sched.h,
+         util-vserver/kernel/signal.h, util-vserver/kernel/switch.h:
+         initial checkin
 
-2004-02-16 20:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 03:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-setup.functions:
+       * util-vserver/sysv/vprocunhide: do not use /dev/null as lockfile
 
-       added --initstyle support (-> /etc/vservers/.../apps/init/style)
+2004-03-12 03:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vsched.c: updated to new API
 
-       * src/chbind.c:
+2004-03-12 03:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       refined test-routine to work in vservers without 'lo' interface
+       * util-vserver/src/vattribute.c: implemented --secure
 
-2004-02-16 20:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-mount.c:
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: allow '--debug' in the
+         destructors
 
-       define MS_REC when needed
+2004-03-12 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-16 20:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: added gentoo startup
+         style
 
-       * configure.ac, src/rpm-fake-resolver.c:
+2004-03-12 02:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added big, fat warning when not using dietlibc
+       * util-vserver/scripts/chcontext: fixed params
+         do not call vuname/vattribute when not needed
 
-2004-02-16 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 02:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/lib/testsuite/flags.c: added testsuite for the flags
 
-       added ENSC_HAVE_*_COMPILER_* to pathsubst-rules
+2004-03-12 02:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-14 02:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: updated interface
+         added flags
 
-       * scripts/vserver:
+2004-03-12 02:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use isAvoidNamespace() from main-functions file
+       * util-vserver/lib/virtual.h: use kernel headers
 
-2004-02-14 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-12 02:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: functions, vserver.functions:
+       * util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_setiattr-v13.hc,
+         util-vserver/lib/syscall_setsched-v13.hc: updated interface
 
-       moved isAvoidNamespace() into main-functions file
+2004-03-12 02:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-14 02:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/listparser.hc: added '^' modifier which marks
+         bit numbers
 
-       * m4/ensc_syscallnr.m4:
+2004-03-12 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed auto-case
-       improved message
+       * util-vserver/lib/flags-v13.c: added the flags
 
-2004-02-14 02:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-11 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_kerneldir.m4:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.199
 
-       ENSC_KERNEL_HEADERS: made argument optionally
+2004-03-11 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-14 02:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vuname.c: added more documentation
+         fixed '--version' conflicts
 
-       * contrib/manifest.dat.pathsubst:
+2004-03-11 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added clearenv
+       * util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c: implemented most parts of the new
+         migrate method
 
-2004-02-14 02:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-11 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vserver.start: set context-name
 
-       use ENSC_SYSCALLNR()
+2004-03-11 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-14 00:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added getvserverbyctx-* files
 
-       * lib/vserver-internal.h:
+2004-03-11 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use results from ENSC_SYSCALLNR
+       * util-vserver/lib/getvserverbyctx.c: implemented new
+         context-naming method
 
-2004-02-14 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-11 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_syscallnr.m4:
+       * util-vserver/lib/getvserverbyctx-compat.hc,
+         util-vserver/lib/getvserverbyctx-v13.hc: initial checkin
 
-       initial checkin
+2004-03-11 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-12 00:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc:
+         Evc_set_vhi_name(): added
 
-       * src/clearenv.c:
+2004-03-10 05:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use VSERVER_DECLARE_CMD
+       * util-vserver/doc/configuration.xml: documented 'fstab.local' and
+         enhanced 'fstab' doc
 
-2004-02-12 00:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-10 05:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/scripts/vserver.functions: added support for
+         'fstab.local' files
 
-       added clearenv
+2004-03-10 05:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-12 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/vprocunhide: made it a little bit more portable
+         by providing own implementations of
+         RH's /etc/init.d/functions when this file can not be found
+         (inspired
+         by a patch from Olivier Poitrey)
 
-       * scripts/vserver.start:
+2004-03-10 04:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use clearenv
+       * util-vserver/scripts/functions: callInNamespace(): call 'shift'
+         to remove the vserver-name from $@
 
-2004-02-12 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-10 02:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/doc, util-vserver/doc/.cvsignore: added
+         configuration.html
 
-       made namespace stuff configurable at a global place
+2004-03-10 02:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-12 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: added an option the 'CONTEXT'
+         query so that it can be choosen between
+         running/non running
 
-       * scripts/vrpm-preload:
+2004-03-10 02:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       give more rights... (same like at --secure)
+       * util-vserver/src/vlimit.c, util-vserver/src/vuname.c: prefix
+         option string for getopt with '+' to avoid option reordering
 
-2004-02-12 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-10 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files, scripts/util-vserver-vars.pathsubst:
+       * util-vserver/scripts/vapt-get, util-vserver/scripts/vrpm: use
+         callInNamespace
 
-       added clearenv
+2004-03-10 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-12 00:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: isAvoidNamespace(): determine
+         full cfgdir path of vserver before checking for 'namespace' file
+         callInNamespace(): added
 
-       * src/clearenv.c:
+2004-03-10 02:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: minor cosmetical
+         cleanups...
 
-2004-02-10 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-10 02:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: chxid.c, setattr.c:
+       * util-vserver/scripts/chcontext,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: use '--' delimiter
 
-       handle dot-files by default; it does not make sense to use a special
-       '-a' flag for the set-operations
+2004-03-10 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: added/updated some
+         descriptions
 
-       * configure.ac:
+2004-03-10 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.28.200
+       * util-vserver/doc/configuration-lsd.css: flowers... where are all
+         the flowers coming from?
 
-2004-02-10 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-10 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-mount.c:
+       * util-vserver/Makefile.am, util-vserver/contrib/Makefile-files,
+         util-vserver/doc/Makefile-files,
+         util-vserver/ensc_vector/Makefile-files,
+         util-vserver/ensc_vector/testsuite/Makefile-files,
+         util-vserver/ensc_wrappers/Makefile-files,
+         util-vserver/lib/Makefile-files,
+         util-vserver/lib/testsuite/Makefile-files,
+         util-vserver/lib_internal/Makefile-files,
+         util-vserver/man/Makefile-files,
+         util-vserver/scripts/Makefile-files,
+         util-vserver/src/Makefile-files,
+         util-vserver/src/testsuite/Makefile-files,
+         util-vserver/tests/Makefile-files: modernized the Makefiles; use
+         '+=' where possible to remove complexity
+         from the toplevel Makefile.am
 
-       recognize 'rbind' in fstab
-       use internal mount(2) on MOVE too
+2004-03-09 17:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 15:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vprocunhide: remove the correct prefix
 
-       * scripts/: vserver, vserver.functions, vserver.start:
+2004-03-09 16:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented CLONE_NS and --rbind mounting
+       * util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: use $_CHONTEXT_COMPAT
+         explicitly
 
-2004-02-10 15:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 16:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-mount.c:
+       * util-vserver/scripts/vserver-setup.functions: use/create 'uts'
+         directory
 
-       implemented '--rbind'
+2004-03-09 16:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 13:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/chcontext: updated copyright date
 
-       * ensc_vector/testsuite/.cvsignore, lib/testsuite/.cvsignore:
+2004-03-09 16:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/doc/configuration.xml: documented the vunify
+         configuration
 
-2004-02-10 13:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 14:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/testsuite/flags.c:
+       * util-vserver/scripts/chcontext: rewrote the non-legacy part
 
-       s!init!fakeinit!
+2004-03-09 14:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 13:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: aded
+         _KEEP_CTX_ALIVE
 
-       * configure.ac:
+2004-03-09 14:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.28.199
+       * util-vserver/scripts/chcontext: added missing ';' in case
+         expression
+         s!_CTX_KEEP_ALIVE!_KEEP_CTX_ALIVE!
 
-2004-02-10 13:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 04:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/NEWS: version 0.29.198
 
-       moved the 'chattr' into the right %post scriptlet
+2004-03-09 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 13:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: removed superfluous '--'
 
-       * lib/flags.c:
+2004-03-09 03:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       s!init!fakeinit!
+       * util-vserver/scripts/vserver.start: added explicit cleanup trap
+         removed superfluous '--'
 
-2004-02-10 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 03:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vserver.functions: added some parenthesis
 
-       version 0.28.198
+2004-03-09 03:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: made 'status' really silent
 
-       * contrib/: make-manifest, manifest.dat.pathsubst:
+2004-03-09 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved *.so.* files from -core to -lib
+       * util-vserver/scripts/start-vservers: initial checkin
 
-2004-02-10 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 03:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/scripts/functions: getVserverStatus(): fixed it for
+         the non-running & non-cleanup case
 
-       added -lib subpackage
-       moved *.so.* files from -core to -lib
-       removed the '%exclude ...vrpm.8'
-       added a 'make check'
+2004-03-09 03:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/scripts/Makefile-files: added start-vservers
 
-       * src/testsuite/.cvsignore:
+2004-03-09 03:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/ensc_wrappers/wrappers.h: fixed typo
+         fixed overflow
 
-2004-02-10 00:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_wrappers/wrappers-unistd.hc:
+       * util-vserver/util-vserver.spec.in: added Requires: make
 
-       Eexecvp(): added
-       added some 'NORETURN' specifiers
+2004-03-09 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: made 'status' silent when
+         '--silent' is used
 
-       * Makefile.am:
+2004-03-09 02:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lib/testsuite
+       * util-vserver/lib/apidoc, util-vserver/lib/apidoc/.cvsignore:
+         added man
 
-2004-02-10 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 02:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/vunify-test.sh:
+       * util-vserver/doc/configuration.html: removed since autogenerated
 
-       redirect output to /dev/null
+2004-03-09 02:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration-lsd.css: use official HTML 4
+         colornames
 
-       * src/testsuite/rpm-fake-test.c:
+2004-03-09 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed compilation warnings
+       * util-vserver/doc/beautify.xsl,
+         util-vserver/doc/compatibility-xhtml.xsl,
+         util-vserver/doc/configuration-xhtml.xsl: use official XHTML
+         namespace
 
-2004-02-10 00:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-09 01:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/chcontext-test.c:
+       * util-vserver/distrib/defaults/rpm/macros,
+         util-vserver/distrib/redhat/initpost: added hack for
+         https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=117827
 
-       added explicite 'return' for non-C99 compilers
+2004-03-08 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_syscallnr.m4: stopped to confuse users with
+         wrong error messages
 
-       * src/testsuite/Makefile-files:
+2004-03-08 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chbind-test
+       * util-vserver/lib/apidoc/Makefile-files: handle man directory
 
-2004-02-10 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-08 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * man/Makefile-files:
+       * util-vserver/lib/apidoc/Doxyfile.in: updated
 
-       renoved vrpm.8 for now
+2004-03-08 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/Makefile-files: filled it with content...
 
-       * lib/vserver.h:
+2004-03-08 19:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       vc_text2cap(): take 'unsigned int' instead of 'int' argument
-       vc_textlist2flag(), vc_text2flag(), vc_hiflag2text(): added prototypes
+       * util-vserver/util-vserver.spec.in: added documentation
 
-2004-02-10 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-08 18:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/capabilities.c:
+       * util-vserver/doc/configuration.xml: documented tty symlink
+         use documentation.dtd instead of cfgdirdoc.dtd
+         some small corrections/adjustments
 
-       vc_text2cap(): take 'unsigned int' instead of 'int' argument
+2004-03-08 18:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/beautify.xsl,
+         util-vserver/doc/configuration-lsd.css,
+         util-vserver/doc/configuration-xhtml.xsl,
+         util-vserver/doc/configuration.html: initial checkin
 
-       * lib/Makefile-files:
+2004-03-08 18:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added flags* files
-       added testsuite + -programs
+       * util-vserver/doc/compat-xhtml.xsl,
+         util-vserver/doc/compatibility-xhtml.xsl: renamed
+         compat-xhtml.xsl to compatibility-xhtml.xsl
 
-2004-02-10 00:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-08 18:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chcontext.c:
+       * util-vserver/doc/cfgdirdoc.dtd,
+         util-vserver/doc/configuration.dtd: renamed cfgdirdoc.dtd to
+         configuration.dtd
 
-       setFlags(): use vc_textlist2flag() function
-       rearranged code to avoid unremovable zombie processes
+2004-03-08 08:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added more doc
 
-       * src/: chbind.c, reducecap.c:
+2004-03-08 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rewrote it
+       * util-vserver/lib/testsuite/flags.c: fixed uninitialized variable
 
-2004-02-10 00:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-08 00:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/lib/apidoc, util-vserver/lib/apidoc/.cvsignore,
+         util-vserver/lib/apidoc/Doxyfile.in,
+         util-vserver/lib/apidoc/Makefile-files: initial checkin
 
-       made reducecap & chbind native dietlibc programs
+2004-03-08 00:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-10 00:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: use '--migrate-self' instead
+         of '--migrate'
 
-       * lib/flags.c, lib/flags_list.c, lib/testsuite/Makefile-files,
-         lib/testsuite/flags.c, src/testsuite/chbind-test.c:
+2004-03-07 23:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/vcontext.c: added '--migrate-self' support
 
-2004-02-06 23:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 23:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/scripts/vserver.functions: use different files for
+         'bcap' and 'ccap' for now
 
-       added sys_clone.h
+2004-03-07 23:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 23:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: added changelog entry
 
-       * util-vserver.spec.in:
+2004-03-07 22:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'chattr -t /vservers' + needed Requires:
+       * util-vserver/src/vunify.h: fixed NONNULL annotations
 
-2004-02-06 23:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 22:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions:
+       * util-vserver/lib/vserver.h: added doxygen annnotations
+         added special compiler annotations
 
-       call 'chattr -t' on newly create vserverdirs
-       cleanups; parenthesize case-expressions
+2004-03-07 22:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 22:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/internal.h: added doxygen annnotations
+         fixed NONNULL statements
 
-       * src/util.h:
+2004-03-07 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       exitLikeProcess(): added NORETURN attribute to prototype
+       * util-vserver/lib/fmt.h: added doxygen annnotations
 
-2004-02-06 22:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake.c:
+       * util-vserver/lib/Makefile-files: added apidoc directory
 
-       cleanups; use sys_clone()
+2004-03-07 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 22:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac, util-vserver/util-vserver.spec.in:
+         added doxygen support
 
-       * src/new-namespace.c:
+2004-03-07 22:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; modernized it
+       * util-vserver/compat.h: fixed typo in __GNUC_MINOR__
 
-2004-02-06 22:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 19:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/src/vattribute.c: use new interface of the list2...
+         functions
+         implemented --bcaps and --ccaps
 
-       link new-namespace against util-exitlikeprocess
-       cleanups
+2004-03-07 19:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 22:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chcontext.c, util-vserver/src/reducecap.c: use
+         new interface of the list2... functions
 
-       * src/sys_clone.h:
+2004-03-07 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: added
+         .../interfaces/.../nodev option and deprecated 'only_ip'
 
-2004-02-06 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/Makefile-files:
+       * util-vserver/lib/testsuite/flags.c: applied new interface
 
-       do not call vunify-test when no C99 compiler is available
+2004-03-07 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 18:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added some documentation
+         added some flag/caps support functions
 
-       * ensc_vector/testsuite/: Makefile-files, test1.c:
+2004-03-07 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/virtual.h: renamed scaps to bcaps
 
-2004-02-06 18:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 19:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/vunify-test.sh:
+       * util-vserver/lib/syscall_setflags.c: added EFAULT check
 
-       use '-n' flag
+2004-03-07 19:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 18:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_getflags-v13.hc,
+         util-vserver/lib/syscall_setflags-v13.hc: minor cosmetical
+         cleanups
 
-       * src/vutil.cc:
+2004-03-07 19:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor cosmetical changes
+       * util-vserver/lib/listparser.hc: interpret numbers too
 
-2004-02-06 18:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify-init.hc:
+       * util-vserver/lib/internal.h: added the text2value functions
 
-       initModeManually(): added missing strdup()
+2004-03-07 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 18:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/flags-v13.c,
+         util-vserver/lib/flags_list-compat.c,
+         util-vserver/lib/flags_list-v13.c: cleanups; use modern
+         methods...
 
-       * Makefile.am, ensc_vector/Makefile-files:
+2004-03-07 19:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added ensc_vector testsuite
+       * util-vserver/lib/bcaps-v13.c, util-vserver/lib/bcaps_list-v13.c,
+         util-vserver/lib/ccaps-v13.c, util-vserver/lib/ccaps_list-v13.c,
+         util-vserver/lib/syscall_getccaps-v13.hc,
+         util-vserver/lib/syscall_getccaps.c,
+         util-vserver/lib/syscall_setccaps-v13.hc,
+         util-vserver/lib/syscall_setccaps.c,
+         util-vserver/lib/val2text-t2v-uint32.c,
+         util-vserver/lib/val2text-t2v-uint64.c,
+         util-vserver/lib/val2text-v2t-uint32.c,
+         util-vserver/lib/val2text-v2t-uint64.c,
+         util-vserver/lib/val2text.hc: initial checkin
 
-2004-02-06 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-07 19:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_vector/vector-insert.c:
+       * util-vserver/lib/Makefile-files: added the caps-files
+         added the val2text-files
 
-       fixed it
+2004-03-07 19:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: documented
+         '.../interfaces/.../nodev'
 
-       * src/vserver-stat.c:
+2004-03-06 02:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use ensc_vector
-       cleanups
+       * util-vserver/util-vserver.spec.in: s!Require!Requires!
 
-2004-02-06 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-06 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/lsxid.c:
+       * util-vserver/sysv/vprocunhide: initial checkin
 
-       use ensc_vector to cache xid->name mappings
+2004-03-06 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 17:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/Makefile-files: modernized; use '+=' syntax
+         added vprocunhide
 
-       * src/Makefile-files:
+2004-03-06 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       link vserver-stat against libensc_vector.a
+       * util-vserver/src/vuname.c: made it chainable
+         added '--dir' option
 
-2004-02-06 16:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-06 01:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/configuration.xml:
+       * util-vserver/src/vlimit.c: cleanups
 
-       enumerated possible resources
+2004-03-06 01:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 16:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: call vuname
 
-       * src/chxid.c:
+2004-03-06 01:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed do-display-dir behavior
+       * util-vserver/scripts/vprocunhide: implemented exclude/include
+         syntax
+         fixed exit codes
 
-2004-02-06 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-06 01:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added $_VUNAME
 
-       _generateFlagOptions(): fixed a case expression; formerly x"foo" ==
-       foo checks which would never succeed
+2004-03-06 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 15:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: documents uts/ and rlimit/
+         subdirs
 
-       * src/: chcontext.c, chroot-cat.c, chroot-rm.c, exec-cd.c,
-         exec-ulimit.c, fstool.c, new-namespace.c, pipe-sync.c,
-         rpm-fake-resolver.c, save_ctxinfo.c, vps.c, vrsetup.c,
-         vserver-info.c, vserver-stat.c, vunify-doit.hc, vunify-init.hc,
-         vunify-matchlist.c, vunify.c, testsuite/rpm-fake-test.c:
+2004-03-06 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new ensc_wrappers/ headers
+       * util-vserver/distrib/misc/vprocunhide-files: added some files
 
-2004-02-06 15:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-06 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/util-vserver.spec.in: added vprocunhide initscript
 
-       removed wrappers-*
-       link lsxid against libensc_vector.a
+2004-03-06 01:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 15:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: modernized it a little bit; use '+='
+         syntax for sysv/ now
 
-       * src/: wrappers-dirent.h[DEAD], wrappers-io.h[DEAD],
-         wrappers-vserver.h[DEAD], wrappers.h[DEAD]:
+2004-03-05 22:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved and generalized into an own /ensc_wrappers subdir
+       * util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: added support for new
+         migrate feature
 
-2004-02-06 15:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 22:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * ensc_vector/Makefile-files, ensc_vector/vector-clear.c,
-         ensc_vector/vector-free.c, ensc_vector/vector-init.c,
-         ensc_vector/vector-insert.c, ensc_vector/vector-internal.h,
-         ensc_vector/vector-popback.c, ensc_vector/vector-pushback.c,
-         ensc_vector/vector-resize.c,
-         ensc_vector/vector-resizeinternal.hc,
-         ensc_vector/vector-search.c, ensc_vector/vector-sort.c,
-         ensc_vector/vector-unique.c, ensc_vector/vector.h,
-         ensc_vector/vector.hc, ensc_wrappers/Makefile-files,
-         ensc_wrappers/wrappers-clone.hc,
-         ensc_wrappers/wrappers-dirent.hc,
-         ensc_wrappers/wrappers-fcntl.hc, ensc_wrappers/wrappers-io.hc,
-         ensc_wrappers/wrappers-ioctl.hc,
-         ensc_wrappers/wrappers-iosock.hc,
-         ensc_wrappers/wrappers-mount.hc, ensc_wrappers/wrappers-pivot.hc,
-         ensc_wrappers/wrappers-resource.hc,
-         ensc_wrappers/wrappers-stdlib.hc,
-         ensc_wrappers/wrappers-unistd.hc,
-         ensc_wrappers/wrappers-vserver.hc,
-         ensc_wrappers/wrappers-wait.hc, ensc_wrappers/wrappers.h,
-         ensc_wrappers/wrappers_handler.hc:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_VCONTEXT and $_VLIMIT
 
-       initial checkin
+2004-03-05 22:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-06 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: isAvoidNamespace(): use
+         'vserver-info - FEATURE namespace' inforamtion too
 
-       * Makefile.am:
+2004-03-05 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added ensc_vector/ & ensc_wrappers/ subdirs and files
+       * util-vserver/distrib/misc/vprocunhide-files,
+         util-vserver/scripts/vprocunhide: initial checkin
 
-2004-02-05 23:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/setattr.c:
+       * util-vserver/src/vlimit.c: try to read limits from dir only, when
+         '--dir' was used
 
-       documented --barrier
-       fixed do-display-dir behavior
+2004-03-05 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 05:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/setattr.c: allow '--!...' syntax too
 
-       * scripts/vserver.functions:
+2004-03-05 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added another path for the template mtab file
+       * util-vserver/scripts/vserver-build.functions.pkgmgmt: added a
+         missing '\'
 
-2004-02-05 05:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 19:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added setattr
+         and vprocunhide
 
-       version 0.28.195
+2004-03-05 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 05:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: added vprocunhide
 
-       * distrib/defaults/apt.conf:
+2004-03-05 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/doc/configuration.xml: documented vprocunhide
+         documentation
 
-2004-02-05 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/distrib/Makefile.am: added vprocunhide-files
 
-       added default apt.conf
+2004-03-05 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: added vprocunhide
+         files
 
-       * doc/configuration.xml:
+2004-03-05 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented default apt.conf
+       * util-vserver/scripts/chcontext, util-vserver/scripts/functions,
+         util-vserver/scripts/rootshell, util-vserver/scripts/vapt-get,
+         util-vserver/scripts/vapt-get-worker, util-vserver/scripts/vpkg,
+         util-vserver/scripts/vpstree, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vrpm-preload,
+         util-vserver/scripts/vrpm-worker, util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.debootstrap,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.functions.pkgmgmt,
+         util-vserver/scripts/vserver-build.skeleton,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop:
+         added some '>&2'
 
-2004-02-05 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 17:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall-legacy.hc:
+       * util-vserver, util-vserver/.cvsignore: added FEATURES.txt
 
-       minor code cleanups
-       added a missing '#ifdef ENSC_SYSCALL_TRADITIONAL'
+2004-03-05 17:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore,
+         util-vserver/lib/testsuite/Makefile-files: added parselimit
 
-       * m4/ensc_syscall.m4:
+2004-03-05 17:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       enhanced check by using kernel headers
+       * util-vserver/src/vlimit.c: added '--dir' parameter
+         allow command-chaining
+         support limits with suffixes
+         make '-c' optionally and assume current ctx by default
 
-2004-02-05 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 17:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions.apt:
+       * util-vserver/lib/parselimit.c,
+         util-vserver/lib/testsuite/parselimit.c: initial checkin
 
-       added default apt.conf/vendors.conf files
+2004-03-05 17:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: vc_parseLimit(): added prototype
 
-       * src/chcontext.c:
+2004-03-05 17:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use sethostname(2)/setdomainname(2) again...
+       * util-vserver/lib/Makefile-files: added parselimit.c
 
-2004-02-05 00:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/src, util-vserver/src/.cvsignore: updated; added
+         vattribute and keep-ctx-alive
 
-       use ENSC_SYSCALL
-       enhanced diagnostic output
+2004-03-05 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcontext.c: implement the vc_set_flags() part
 
-       * lib/: syscall-legacy.hc, vserver-internal.h:
+2004-03-05 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use ENSC_SYSCALL_TRADITIONAL
+       * util-vserver/src/vattribute.c: setFlags(): implemented it
 
-2004-02-05 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall.c:
+       * util-vserver/lib_internal/Makefile-files: added util-unixsock.hc
 
-       cleanups; do not include "compat.h" anymore explicitly
+2004-03-05 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-05 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: fixed
+         error-checking
 
-       * Makefile.am:
+2004-03-05 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added @WGET@ substitution
+       * util-vserver/lib/getprocentry-legacy.c,
+         util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall_getflags-v13.hc,
+         util-vserver/lib/syscall_getiattr.c,
+         util-vserver/lib/syscall_getvxinfo-oldproc.hc,
+         util-vserver/lib/syscall_getvxinfo.c,
+         util-vserver/lib/syscall_setflags-v13.hc: return better
+         errorcodes
 
-2004-02-04 22:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_syscall.m4:
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc: fixed copy&paste
+         error
 
-       initial checkin
+2004-03-05 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 22:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/Makefile-files: added
+         wrappers-socket.hc
 
-       * scripts/vpkg:
+2004-03-05 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented Debian support
+       * util-vserver/contrib/manifest.dat.pathsubst: added vattribute and
+         keep-ctx-alive
 
-2004-02-04 22:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver:
+       * util-vserver/src/vserver-info.c: added 'FEATURE' tag
 
-       cleanups
-       added '--silent' option
+2004-03-05 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 22:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vcontext.c: added support for external
+         synchronization
 
-       * src/: vunify-init.hc, vunify.c:
+2004-03-05 03:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor cleanups
+       * util-vserver/src/reducecap.c: use vc_list2flag_compat() instead
+         of vc_textlist2flag
 
-2004-02-04 04:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/fscompat_getiattr-v13.hc:
+       * util-vserver/src/keep-ctx-alive.c, util-vserver/src/vattribute.c:
+         initial checkin
 
-       fixed 'xid' parameter transmission
+2004-03-05 03:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 04:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/fstool.c, util-vserver/src/fstool.h,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c: added
+         support for VC_IATTR_IMMUTABLE flag
 
-       * NEWS:
+2004-03-05 03:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.28.193
+       * util-vserver/src/enter-namespace.c,
+         util-vserver/src/new-namespace.c: obsoleted by vnamespace
 
-2004-02-04 04:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/src/chcontext.c: use vc_list2flag_compat() instead
+         of vc_textlist2flag()
 
-       added check for wget
-       version 0.28.193
+2004-03-05 03:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: removed new-namespace and
+         enter-namespace
+         added keep-ctx-alive and vattribute
+         added src_legacy_* variables
 
-       * util-vserver.spec.in:
+2004-03-05 03:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some (Build)Requires:
+       * util-vserver/scripts/vapt-get, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vserver: use $_VNAMESPACE instead of
+         $_NEW_NAMESPACE
 
-2004-02-04 04:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/manifest.dat.pathsubst:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_VATTRIBUTE and $_VNAMESPACE
+         removed $_NEW_NAMESPACE
 
-       added debootstrap files
+2004-03-05 03:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 04:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/chcontext: began to implement the new
+         vcontext part...
 
-       * doc/configuration.xml:
+2004-03-05 03:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented debootstrap configuration
+       * util-vserver/m4/ensc_syscallnr.m4: use
+         $ensc_cv_path_kernelheaders instead of $kernelincludedir
 
-2004-02-04 04:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.debootstrap:
+       * util-vserver/lib_internal/util.h: include "util-unixsock.h"
 
-       fixed path of default-uri file
+2004-03-05 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 03:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/unify-unify.c: use VC_IATTR_IMMUTABLE
+         flag too
 
-       * distrib/misc/debootstrap.uri:
+2004-03-05 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib_internal/util-unixsock.h: initial checkin
 
-2004-02-04 03:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/lib/testsuite/flags.c: updated to new flag functions
 
-       added debootstrap.uri
+2004-03-05 03:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 03:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: use uint_leastX_t instead of uintX_t
+         added -compat versions for the flag-parsers
+         vc_isSupportedString(): added
 
-       * scripts/vserver-setup.functions:
+2004-03-05 03:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use $PKGLIBDEFAULTDIRc
+       * util-vserver/lib/internal.h: added utilvserver_listparser_uint*
+         declarations
 
-2004-02-04 03:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver-build.apt-rpm, vserver-build.functions,
-         vserver-build.skeleton:
+       * util-vserver/lib/fmt-32.c, util-vserver/lib/fmt-64.c,
+         util-vserver/lib/fmt.h, util-vserver/lib/fmt.hc,
+         util-vserver/lib/fmtx-32.c, util-vserver/lib/fmtx-64.c,
+         util-vserver/lib/fmtx.hc: fixed aliased functions; they are now
+         in the *.c files and will not be
+         used anymore by every file including 'fmt.h'
 
-       cleanups; use 'base.' namespace
+2004-03-05 03:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/flags.c, util-vserver/lib/flags_list.c: renamed
+         to -compat.c
 
-       * scripts/vserver-build:
+2004-03-05 03:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added debootstrap
+       * util-vserver/ensc_wrappers/wrappers-socket.hc,
+         util-vserver/lib/flags-compat.c, util-vserver/lib/flags-v13.c,
+         util-vserver/lib/flags_list-compat.c,
+         util-vserver/lib/flags_list-v13.c,
+         util-vserver/lib/issupportedstring.c,
+         util-vserver/lib/listparser.hc,
+         util-vserver/lib/listparser_uint32.c,
+         util-vserver/lib/listparser_uint64.c: initial checkin
 
-2004-02-04 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vpkg:
+       * util-vserver/lib/Makefile-files: updated to new flags* files
+         added listparser* files
+         removed unused statements
 
-       added basic support for Debian
+2004-03-05 03:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers.h: added wrappers-socket.hc
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-03-05 03:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_WGET
+       * util-vserver/ensc_wrappers/wrappers-iosock.hc: modernized
+         declarations (use WRAPPER_DECL)
+         WsendAll(),WrecvAll(): added 'int *err' parameter and do not use
+         perror() anymore
 
-2004-02-04 03:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-05 03:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/contrib/manifest.dat.pathsubst: removed
+         new-namespace and enter-namespace; they are obsoleted by
+         vnamespace
 
-       added debootstrap and pkgmgmt files
+2004-03-05 03:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-04 03:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added $(src_legacy_*)
 
-       * scripts/vserver-build.debootstrap:
+2004-03-04 04:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/m4/ensc_syscallnr.m4: requires AC_PROG_CPP
 
-2004-02-03 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-04 04:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/lib/vserver.h: added VC_IATTR_IMMUTABLE
 
-       version 0.28.192
+2004-03-04 04:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/virtual.h: added IATTR_IMMUTABLE
 
-       * src/.cvsignore:
+2004-03-04 04:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'vuname'
+       * util-vserver/lib/Makefile-files: do not use -I $kernelincludedir
+         anymore
 
-2004-02-03 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-03-04 03:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * contrib/: Makefile-files, make-manifest, manifest.dat.pathsubst,
-         .cvsignore:
+       * util-vserver/m4/ensc_syscallnr.m4: rewrote it...
 
-       initial checkin
+2004-03-04 03:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_cflags.m4, util-vserver/m4/ensc_dietlibc.m4,
+         util-vserver/m4/ensc_dietlibc_compat.m4,
+         util-vserver/m4/ensc_fpicsyscall.m4,
+         util-vserver/m4/ensc_syscall.m4: use unique identifiers
 
-       * configure.ac:
+2004-02-27 19:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added more details to the final summary
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.197
 
-2004-02-03 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/distrib/redhat/initpost: fixed kernel-pkg
+         installation
+         fixed initscript update
 
-       added misc/fstab
+2004-02-27 19:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: added vsched
 
-       * scripts/: vserver-build.apt-rpm, vserver-build.functions:
+2004-02-27 19:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       splitted some functions into a separate vserver-build.functions.pkgmgmt file
-       use XXX.yyy namespace-style notation
+       * util-vserver/lib/testsuite/fmt.c: include <string.h>
 
-2004-02-03 22:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions.pkgmgmt,
-         scripts/vserver-build.skeleton, distrib/misc/fstab:
+       * util-vserver/contrib/manifest.dat.pathsubst: added vsched
 
-       initial checkin
+2004-02-27 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chbind.c: removed unused variable
 
-       * scripts/vserver-setup.functions:
+2004-02-27 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       allow to configure fstab-file
+       * util-vserver/src/testsuite/rpm-fake-test.c: include <string.h>
 
-2004-02-03 22:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver-build.functions.apt,
-         vserver-build.functions.rpm:
+       * util-vserver/src/Makefile-files, util-vserver/src/vsched.c,
+         util-vserver/src/vschedule.c: renamed vschedule to vsched
 
-       splitted some functions into a separate vserver-build.functions.pkgmgmt file
-       use XXX.yyy namespace-style notation
+2004-02-27 18:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: added
+         chcontext-compat and vschedule
 
-       * scripts/vserver-build:
+2004-02-27 18:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added skeleton support
-       fixed help message
+       * util-vserver/lib/syscall_setsched-v13.hc,
+         util-vserver/lib/syscall_setsched.c,
+         util-vserver/src/vschedule.c: initial checkin
 
-2004-02-03 22:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver:
+       * util-vserver/src/Makefile-files: added vschedule
 
-       added '--debug' option
+2004-02-27 18:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added vc_set_sched declarations
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-02-27 18:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT
+       * util-vserver/lib/virtual.h: removed 'otpions' field from
+         vcmd_set_sched_v1
 
-2004-02-03 22:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/lib/Makefile-files: added *setsched* files
 
-       added vserver-build.skeleton
+2004-02-27 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chcontext.c: cleanups; applied name-change from
+         'chcontext' to 'chcontext-compat'
 
-       * src/vkill.c:
+2004-02-27 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; use modern interfaces
+       * util-vserver/src/Makefile-files: renamed 'chcontext' to
+         'chcontext-compat'
 
-2004-02-03 22:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util.h:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_CHCONTEXT_COMPAT
+         updated $_CHCONTEXT
 
-       VSERVER_DECLARE_CMD macro: added
+2004-02-27 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: isKernelAPI(): added
 
-       * src/Makefile-files:
+2004-02-27 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vuname
+       * util-vserver/lib/issupported.c, util-vserver/scripts/chcontext:
+         initial checkin
 
-2004-02-03 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/Makefile-files:
+       * util-vserver/scripts/Makefile-files: added chcontext wrapper
 
-       added workaround for automake bug
+2004-02-27 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added vc_isSupported()
+         cleanups
 
-       * src/vuname.c:
+2004-02-27 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/virtual.h: updated scheduler definitions
 
-2004-02-03 13:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/lib/Makefile-files: added issupported.c
 
-       use ENSC_C99COMPILER
-       give out summary at end of ./configure
+2004-02-27 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 13:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: added
+         chcontext-compat
 
-       * src/Makefile-files:
+2004-02-27 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * added support for ENSC_HAVE_C99_COMPILER and conditionalized build
-         of 'vunify'
-       * renamed *_CXX_X_* variables to *_CXX_*
+       * util-vserver/src/vcontext.c: cleanups; restructured code
 
-2004-02-03 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify.cc[DEAD]:
+       * util-vserver/src/new-namespace.c: cleanups; do not include
+         "stack-start.h" anymore
 
-       removed since rewritten in C
+2004-02-27 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore,
+         util-vserver/src/Makefile-files: added vnamespace
 
-       * m4/ensc_dietlibc.m4:
+2004-02-27 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'yes' instead of '1'
+       * util-vserver/lib/syscall_cleanupnamespace-v13.hc,
+         util-vserver/lib/syscall_cleanupnamespace.c,
+         util-vserver/lib/syscall_setnamespace-v13.hc,
+         util-vserver/lib/syscall_setnamespace.c,
+         util-vserver/src/vnamespace.c: initial checkin
 
-2004-02-03 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_cxxcompiler.m4:
+       * util-vserver/src/fakerunlevel.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/save_ctxinfo.c, util-vserver/src/vrsetup.c,
+         util-vserver/src/vserver-stat.c: use wrappers with detailed
+         error-messages
 
-       added ENSC_C99COMPILER
-       added warning-messages
+2004-02-27 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-03 13:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/fmt.c: made non-C99 compilers happy
 
-       * lib/: syscall_getvhiname-v13.hc, syscall_setvhiname-v13.hc:
+2004-02-27 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       #include <string.h>
+       * util-vserver/lib/vserver.h: vc_set_namespace(),
+         vc_cleanup_namespace(): added prototypes
 
-2004-02-02 20:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/compatibility.xml:
+       * util-vserver/lib/virtual.h: added VCMD_set_namespace and
+         VCMD_cleanup_namespace declarations
 
-       added note about chcontext rewrite
+2004-02-27 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added *setnamespace* and
+         *cleanupnamespace* files
 
-       * configure.ac:
+2004-02-27 04:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for olduts API
+       * util-vserver/ensc_wrappers/wrappers-fcntl.hc,
+         util-vserver/ensc_wrappers/wrappers-unistd.hc: added some
+         wrappers with detailed error-messages
 
-2004-02-02 20:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-27 04:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/ensc_wrappers/wrappers.h: added ENSC_DETAIL macros
 
-       substitute @PACKAGE@ too
+2004-02-27 04:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/defaults/rpm/macros: added
+         /etc/rc.d/init.d/halt and /sbin/new-kernel-pkg to %_netsharedpath
 
-       * src/testsuite/Makefile-files:
+2004-02-27 04:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chcontext-test.c
+       * util-vserver/contrib/manifest.dat.pathsubst: added vcontext and
+         vnamespace
 
-2004-02-02 20:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-26 13:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/chcontext-test.c:
+       * util-vserver/src/util-exitlikeprocess.c: moved to lib_internal/
 
-       initial checkin
+2004-02-26 13:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/util.h: removed everything an include
+         <lib_internal/util.h> only
 
-       * src/wrappers.h:
+2004-02-26 13:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added Esetsid()
+       * util-vserver/src, util-vserver/src/.cvsignore: added vcontext
 
-2004-02-02 20:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-26 13:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers-vserver.h:
+       * util-vserver/src/chcontext.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c: use VC_DYNAMIC_XID instead of
+         VC_RANDCTX
 
-       return xid_t instead of void
+2004-02-26 13:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_createcontext-v13.hc,
+         util-vserver/lib/syscall_createcontext.c,
+         util-vserver/lib/syscall_getflags-v13.hc,
+         util-vserver/lib/syscall_getflags.c,
+         util-vserver/lib/syscall_migratecontext-v13.hc,
+         util-vserver/lib/syscall_migratecontext.c,
+         util-vserver/lib/syscall_setflags-v13.hc,
+         util-vserver/lib/syscall_setflags.c,
+         util-vserver/lib_internal/util-cast.h,
+         util-vserver/lib_internal/util-commonstrings.h,
+         util-vserver/lib_internal/util-declarecmd.h,
+         util-vserver/lib_internal/util-dimof.h,
+         util-vserver/lib_internal/util-exitlikeprocess.c,
+         util-vserver/lib_internal/util-exitlikeprocess.h,
+         util-vserver/lib_internal/util.h, util-vserver/src/vcontext.c:
+         initial checkin
 
-       * src/vserver-stat.c:
+2004-02-26 13:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
-       added missing '\n' in error-msg
+       * util-vserver/src/testsuite/Makefile-files: removed
+         'util-exitlikeprocess.c'; link against libinternal.a now
 
-2004-02-02 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-26 13:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/src/Makefile-files: added vcontext
+         removed 'util-exitlikeprocess.c'; link against libinternal.a now
 
-       added UTS tag
+2004-02-26 13:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: s!/vservers!$DEFAULT_VSERVERDIR!
+         (reported in IRC by broo)
 
-       * src/reducecap.c:
+2004-02-26 13:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups in the vc_new_s_context() call
+       * util-vserver/lib_internal/util-mem.h: include <stdlib.h>
 
-2004-02-02 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-26 13:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chcontext.c:
+       * util-vserver/lib_internal/Makefile-files: added lots of util-*
+         headers
+         added util-exitlikeprocess
 
-       rewrote and enhanced it
+2004-02-26 13:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: * vc_create_context(),
+         vc_migrate_context(), vc_[sg]et_flags(): added
+         prototypes plus structures
+         * use VC_DYNAMIC_XID instead of VC_RANDCTX
 
-       * src/Makefile-files:
+2004-02-26 13:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made chcontext a dietlibc program and updated its SOURCES
+       * util-vserver/lib/vserver-internal.h: added CALL_VC_V13A macro
+         (for API >= 0x00010012)
+         use VC_DYNAMIC_XID instead of VC_RANDCTX
 
-2004-02-02 20:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-26 13:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/lib/virtual.h: added create+migrate+flags+caps
+         declarations
 
-       return xid_t on vc_new_s_context()
-       added VHOST/vhi functions and types
+2004-02-26 13:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added createcontext +
+         migratecontext + [sg]etflags files
 
-       * lib/vserver-internal.h:
+2004-02-26 12:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
-       added CALL_VC_OLDUTS()
-       added VHI_USER2KERNEL/VHI_KERNEL2USER() wrappers
+       * util-vserver/ensc_wrappers/wrappers-vserver.hc:
+         Evc_create_context(), Evc_migrate_context(): added
+         use WRAPPER_DECL instead of UNUSED
 
-2004-02-02 19:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-25 11:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/src/vlimit.c: enhanced output
+         added -nd options
+         allow literal limits
+         assume '-H' by default
 
-       added VHOST support
+2004-02-25 11:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 19:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore: added 'fmt'
 
-       * lib/: syscall_gettaskxid-oldproc.hc,
-         syscall_getvxinfo-oldproc.hc:
+2004-02-25 11:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed *_X to *_oldproc
+       * util-vserver/src/util.h: include util-perror.h
 
-2004-02-02 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-25 11:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: syscall-compat.hc, syscall-legacy.hc, syscall.c:
+       * util-vserver/src/chcontext.c, util-vserver/src/secure-mount.c:
+         use more verbose perror()
 
-       fixed vc_new_s_context() to return the context instead of 0/1
+2004-02-25 11:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/testsuite/fmt.c,
+         util-vserver/lib_internal/util-perror.h: initial checkin
 
-       * lib/: fscompat_getiattr-v13.hc, fscompat_setiattr-v13.hc,
-         syscall_getiattr-v13.hc, syscall_getvxinfo-v13.hc,
-         syscall_kill-v11.hc, syscall_setiattr-v13.hc:
+2004-02-25 11:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use CTX_USER2KERNEL to wrap xid
+       * util-vserver/scripts/vserver.functions: added better namespace
+         supportc
 
-2004-02-02 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-25 11:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/capabilities.c:
+       * util-vserver/lib/testsuite/Makefile-files: added fmt.c
 
-       allow both 'CAP_xxx' and 'xxx'
+2004-02-25 11:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-02-02 19:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fmt.h: fmt_[u]int{32,64}(): added
 
-       * lib/Makefile-files:
+2004-02-20 23:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added *vhiname* files
+       * util-vserver/lib/flags.c: cosmetical cleanups
 
-2004-02-02 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 23:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: syscall_getvhiname-olduts.hc, syscall_getvhiname-v13.hc,
-         syscall_getvhiname.c, syscall_setvhiname-olduts.hc,
-         syscall_setvhiname-v13.hc, syscall_setvhiname.c:
+       * util-vserver/lib/flags.c, util-vserver/lib/vserver.h: added
+         NAMESPACE flag
 
-       initial checkin
+2004-02-20 21:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: install enter-namespace into
+         $(sbindir) instead of $(pkglibdir)
 
-       * doc/.cvsignore:
+2004-02-20 21:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/new-namespace.c: added missing '#include
+         <errno.h>'
 
-2004-01-29 12:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.29.196
 
-       version 0.28.190
+2004-02-20 20:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: added
+         enter-namespace
 
-       * Makefile.am:
+2004-02-20 20:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; use $(SED) instead of sed
-       fix $pkglibdir in install-data-hook
-       put some hooks into own targets
+       * util-vserver/contrib/manifest.dat.pathsubst,
+         util-vserver/src/Makefile-files: added enter-namespace
 
-2004-01-29 12:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 20:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/src/enter-namespace.c: initial checkin
 
-       added tests for sed and cmp
-       outsourced ext2fs test (merged from 0.28)
+2004-02-20 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vlimit.c: merged with 0.29.2
 
-       * src/vserver-stat.c:
+2004-02-20 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed insert-into-list function
-       give out warning when vc_get_task_xid() fails
+       * util-vserver/src/vlimit.c: changed logic to skip entries without
+         chance for success
 
-2004-01-29 12:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/lib/Makefile-files: cleanups
 
-       use DIM_OF() macro
-       added APIVER tag
-       fixed help message
+2004-02-20 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_rlimit-v11.hc: vc_get_rlimit_mask_v11():
+         use correct datastructure
 
-       * src/util.h:
+2004-02-20 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added DIM_OF() macro
+       * util-vserver/lib/Makefile-files, util-vserver/lib/virtual.h,
+         util-vserver/lib/vserver.h: added the enter-namespace stuff
 
-2004-01-29 12:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 17:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/lib/syscall_enternamespace-v13.hc,
+         util-vserver/lib/syscall_enternamespace.c: initial checkin
 
-       added vrsetup
+2004-02-20 17:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers_handler.hc: added support for
+         more extensive output
 
-       * scripts/: rootshell, vapt-get, vapt-get-worker, vpkg, vpstree,
-         vrpm, vrpm-preload, vrpm-worker, vserver, vserver-build,
-         vserver-copy, vservers.grabinfo.sh, vsysvwrapper, vtop,
-         legacy/distrib-info, legacy/vserver, legacy/vserverkillall:
+2004-02-20 17:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed/changed path-detection for $UTIL_VSERVER_VARS
+       * util-vserver/contrib/manifest.dat.pathsubst: moved vserver-info
+         into core
 
-2004-01-29 12:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 17:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/lib/vserver-internal.h: VC_ENABLE_API_V13():
+         incremented needed API-version
 
-       cleanups
-       do not install util-vserver-vars in SBINDIR anymore
+2004-02-20 17:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-29 12:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_getvxinfo-v13.hc: vc_get_vx_info_v13():
+         handle xid==0 and xid==1 case manually
 
-       * m4/ensc_e2fscheck.m4:
+2004-02-20 17:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/vlimit.c: cleanup output in error-case
 
-2004-01-29 12:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 17:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: ext2fs.h, getversion.c, vserver.h:
+       * util-vserver/src/stack-start.h: fixed begin of STACK_START for
+         non-growing stacks
 
-       merged with 0.28
+2004-02-20 17:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-23 22:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/fakerunlevel.c: use more extensive errormessages
+         use <wrappers.h>
 
-       * doc/Makefile-files:
+2004-02-20 17:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added some files to doc_DAT
+       * util-vserver/lib/fscompat_getiattr-v13.hc,
+         util-vserver/lib/fscompat_getiattr.c,
+         util-vserver/lib/fscompat_setiattr-v13.hc,
+         util-vserver/lib/fscompat_setiattr.c: obsoleted
 
-2004-01-23 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-20 16:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/src/chcontext.c, util-vserver/src/clearenv.c,
+         util-vserver/src/exec-cd.c, util-vserver/src/exec-ulimit.c,
+         util-vserver/src/ifspec.c, util-vserver/src/listdevip.c,
+         util-vserver/src/new-namespace.c, util-vserver/src/reducecap.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c, util-vserver/src/save_ctxinfo.c,
+         util-vserver/src/secure-mount.c, util-vserver/src/vkill.c: do not
+         do the lo-check anymore
 
-       version 0.27.199
-       added check for xsltproc
+2004-02-20 16:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-23 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chbind.c: use more extensive errormessages
+         do not do the lo-check anymore
 
-       * NEWS:
+2004-02-20 02:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.27.199
+       * util-vserver/src/vserver-info.c: fix copy&paste error when giving
+         out initpid
 
-2004-01-23 21:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-19 22:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h:
+       * util-vserver/NEWS: version 0.29.195
 
-       added ENSC_FIX_IOCTL()
+2004-02-19 22:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-23 21:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: added SYSINFO command
+         internal cleanups
 
-       * Makefile.am:
+2004-02-19 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $(doc_DAT)
+       * util-vserver/m4/ensc_e2fscheck.m4: tell correct packagename for
+         Debian's e2fsprogs-devel
+         tell packagename for Mandrake
 
-2004-01-23 21:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-19 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/Makefile-files:
+       * util-vserver/src/chxid.c, util-vserver/src/fstool.c,
+         util-vserver/src/fstool.h, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c: applied
+         new iattr interface and changed some internal functions
 
-       added compat-doc
+2004-02-19 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-23 21:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/unify-unify.c,
+         util-vserver/lib_internal/util-safechdir.c: applied new iattr
+         interface
 
-       * doc/: compat-xhtml.xsl, compatibility.dtd, compatibility.xml:
+2004-02-19 22:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/vserver.h: * changed iattr interface
+         * removed *iattr_compat() functions; functionality is covered by
+         new
+         iattr interface already
 
-2004-01-23 21:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-19 22:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: ioctl-getext2flags.hc, ioctl-getfilecontext.hc,
-         ioctl-setext2flags.hc, ioctl-setfilecontext.hc, ioctl-setxflg.hc:
+       * util-vserver/lib/virtual.h: added new iattr definitions
 
-       use ENSC_FIX_IOCTL() to fix dietlibc's ioctl() return values
+2004-02-19 22:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 22:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_getiattr.c,
+         util-vserver/lib/syscall_setiattr-v13.hc,
+         util-vserver/lib/syscall_setiattr.c: implemented new iattr
+         interface
 
-       * lib/: getversion-internal.hc, syscall-compat.hc,
-         syscall_getiattr-v13.hc, syscall_gettaskxid-v13.hc,
-         syscall_getvxinfo-v13.hc, syscall_kill-v11.hc,
-         syscall_rlimit-v11.hc, syscall_setiattr-v13.hc:
+2004-02-19 22:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use the VCMD_* macros instead of the VC_CMD(...) macros
+       * util-vserver/lib/syscall-compat.hc: vc_set_ipv4root_compat():
+         fixed off-by-one error while checking number
+         of allowed IPs
 
-2004-01-22 16:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-19 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/lib/fscompat_getiattr-fscompat.hc,
+         util-vserver/lib/fscompat_setiattr-fscompat.hc,
+         util-vserver/lib/syscall_getiattr-fscompat.hc,
+         util-vserver/lib/syscall_setiattr-fscompat.hc: moved fscompat*
+         files to *iattr-fscompat* and applied the changed iattr interface
 
-       version 0.27.198
+2004-02-19 22:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 16:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/createskeleton-full.hc: use new iattr interface
 
-       * src/vrsetup.c:
+2004-02-19 22:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed copyright date
+       * util-vserver/lib/Makefile-files: removed the fscompat* files
+         added *iattr-fscompat files
 
-2004-01-22 15:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-19 22:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/contrib/manifest.dat.pathsubst: added FEATURES.txt
+         and vcopy
 
-       added Eioctl() wrapper
+2004-02-19 22:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 15:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: create FEATURES.txt and rearranged
+         code a little bit
 
-       * src/Makefile-files:
+2004-02-19 22:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vrsetup
+       * util-vserver/Makefile.am: added FEATURES.txt
 
-2004-01-22 15:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vrsetup.c:
+       * util-vserver/lib/vserver.h: added vc_createSkeleton() plus
+         defines
 
-       initial checkin
+2004-02-18 04:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fscompat_setiattr-fscompat.hc:
+         vc_set_iattr_compat_fscompat(): fixed usage of the mode argument
 
-       * src/vunify-doit.hc:
+2004-02-18 04:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * provide st_mode at vc_set_iattr_compat() call
+       * util-vserver/lib_internal/unify-unify.c,
+         util-vserver/lib_internal/unify.h: Unify_deUnify(): fixed
+         parameters
+         Unify_copy(), Unify_setTime(): added prototype
 
-2004-01-22 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: lsxid.c, showattr.c:
+       * util-vserver/lib_internal/unify-deunify.c: fixed parameters
 
-       * provide st_mode at vc_set_iattr_compat() call
-       * do not stop on non-regular files; vc_set_iattr_compat() handles this
-         already
+2004-02-18 04:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib_internal/matchlist.h: MatchList_printId(): added
+         prototype
 
-       * src/setattr.c:
+2004-02-18 04:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * removed the race-check; this is done by vc_set_iattr_compat() already
-       * provide st_mode at vc_set_iattr_compat() call
-       * do not stop on non-regular files; vc_set_iattr_compat() handles this
-         already
-       * moved setFlags() code into handleFile()
-       * added 'iunlink' option
+       * util-vserver/lib_internal/Makefile-files: added unify* and util-*
+         files
 
-2004-01-22 14:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chxid.c:
+       * util-vserver/src/vunify.c, util-vserver/src/vunify.h: cleanups;
+         outsourced a lot to libinternal.a
 
-       * removed the race-check; this is done by vc_set_iattr_compat() already
-       * provide st_mode at vc_set_iattr_compat() call
-       * do not stop on non-regular files; vc_set_iattr_compat() handles this
-         already
-       * moved setFile() code into handleFile()
+2004-02-18 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/util.h: cleanups; outsourced some macros/inlines
+         to libinternal.a
 
-       * src/Makefile-files:
+2004-02-18 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed 'vunify' from list of C++ files
+       * util-vserver/src/Makefile-files: added vcopy
+         link the fstool programs against libinternal.a
+         removed vserver-visitdir
 
-2004-01-22 14:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall_gettaskxid-v13.hc:
+       * util-vserver/src, util-vserver/src/.cvsignore: added vcopy
 
-       fixed call
+2004-02-18 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/util-safechdir.c: moved into libinternal.a
 
-       * lib/: ioctl-getext2flags.hc, ioctl-getfilecontext.hc,
-         ioctl-getxflg.hc, ioctl-setext2flags.hc, ioctl-setfilecontext.hc,
-         ioctl-setxflg.hc:
+2004-02-18 04:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       when ioctl() returns a value <-1, assign errno manually and return -1
+       * util-vserver/lib/createskeleton-full.hc,
+         util-vserver/lib/createskeleton-short.hc,
+         util-vserver/lib/createskeleton.c,
+         util-vserver/lib_internal/matchlist-printid.c,
+         util-vserver/lib_internal/unify-copy.c,
+         util-vserver/lib_internal/unify-settime.c,
+         util-vserver/lib_internal/util-dotfile.h,
+         util-vserver/lib_internal/util-safechdir.c,
+         util-vserver/lib_internal/util-safechdir.h,
+         util-vserver/src/vcopy-init.hc, util-vserver/src/vcopy.c,
+         util-vserver/src/vserver-visitdir.hc: initial checkin
 
-2004-01-22 14:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: syscall_getiattr-v13.hc, syscall_setiattr-v13.hc:
+       * util-vserver/ensc_wrappers/wrappers-io.hc: rewrote the W*all()
+         function to accept an additional argument holding
+         the error, instead of giving out the error
 
-       updated to changed API; removed 'dev' field from 'struct vcmd_ctx_iattr_v0'
+2004-02-18 04:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added createskeleton* files
 
-       * lib/virtual.h:
+2004-02-18 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated; removed 'dev' field from 'struct  vcmd_ctx_iattr_v0'
+       * util-vserver/pathconfig.h.pathsubst: added DEFAULT_PKGSTATEDIR
 
-2004-01-22 14:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-18 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver-internal.h:
+       * util-vserver/Makefile.am, util-vserver/configure.ac: do not
+         redefine 'LIBTOOL'; the '--tag' causes problems on install
 
-       CALL_VC(): return ENOSYS in errorcase
+2004-02-18 04:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/compat.h: added PURE
 
-       * lib/vserver.h:
+2004-02-17 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * vc_[sg]et_iattr_compat(): added additional 'mode' parameter to avoid
-         an additional 'lstat'
+       * util-vserver/configure.ac: call ENSC_DIETLIBC_NEED_COMPAT to
+         determine if '-lcompat' is needed for dietlibc
 
-2004-01-22 14:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fscompat_getiattr.c, fscompat_setiattr.c:
+       * util-vserver/Makefile.am: define $(VSERVER_LDADDS)
+         generalized some LIBTOOL stuff
+         do not install libinternal.a anymore
 
-       * added additional 'mode' parameter to avoid an additional 'lstat'
+2004-02-17 19:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-22 14:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests/Makefile-files: use $(VSERVER_LDADDS) instead
+         of lib/libvserver.la to use '-lcompat' on purpose
 
-       * lib/: fscompat_getiattr-fscompat.hc,
-         fscompat_setiattr-fscompat.hc:
+2004-02-17 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * added additional 'mode' parameter to avoid an additional 'lstat'
-       * operate on regular files and directories only
+       * util-vserver/scripts/functions: _pkgMountRPM(): do not mount
+         /proc when it is already mounted
 
-2004-01-21 22:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 19:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/syscall_gettaskxid-v13.hc:
+       * util-vserver/src/rpm-fake.c: rearranged inclusion of
+         <sys/socket.h> to fix compilation problems
+         with fc1.90
 
-       return VC_NOCTX instead of -1
+2004-02-17 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rebootmgr.c: include <limits.h>
 
-       * tests/getinitpid.c:
+2004-02-17 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to new API
+       * util-vserver/src/Makefile-files: use $(VSERVER_LDADDS) instead of
+         lib/libvserver.la to use '-lcompat' on purpose
+         fixed capchroot compilation
 
-2004-01-21 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 19:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/m4/ensc_dietlibc_compat.m4: initial checkin
 
-       added INITPID* and XID tags
+2004-02-17 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector/testsuite/test1.c,
+         util-vserver/src/testsuite/vunify-functest.c: make non-C99
+         compilers happy
 
-       * src/save_ctxinfo.c, src/vps.c, src/vserver-stat.c,
-         src/wrappers-vserver.h, tests/getctx.c:
+2004-02-17 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use vc_get_task_xid() instead of vc_X_getctx()
+       * util-vserver/NEWS: version 0.29.192
 
-2004-01-21 19:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/Makefile.am: added missing backslash
 
-       * vc_get_vx_info(), vc_get_task_xid(): added prototypes plus required
-         typedefinitions
-       * vc_X_getctx(), vc_X_getinitpid(): removed since obsoleted by functions
-         above
+2004-02-17 02:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/vunify-functest.c,
+         util-vserver/src/vunify.h: use new lib_internal/
 
-       * lib/vserver-internal.h:
+2004-02-17 02:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * added fscompat & oldproc API
-       * added support for VC_MULTIVERSION_SYSCALL which chooses the optimal
-         CALL_VC variant
-       * changed CALL_VC() so that it looks for version greater than requested
-         one now
+       * util-vserver/src/vunify-init.hc: moved most function into
+         lib_internal/
 
-2004-01-21 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/src/vunify.c: use new lib_internal
 
-       updated; added VINFO commands
+2004-02-17 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/util.h: moved some functions/macros into
+         lib_internal/util-*
 
-       * lib/: syscall_kill.c, syscall_rlimit.c:
+2004-02-17 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; optimize CALL_VC() usage
+       * util-vserver/src/Makefile-files: removed vunify-* files which
+         went into lib_internal
 
-2004-01-21 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fscompat_getiattr.c, fscompat_setiattr.c:
+       * util-vserver/Makefile.am: added lib_internal/ files
 
-       cleanups; use CALL_VC() macro
+2004-02-17 02:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vunify-compare.hc,
+         util-vserver/src/vunify-debug.c, util-vserver/src/vunify-doit.hc,
+         util-vserver/src/vunify-matchlist.c,
+         util-vserver/src/vunify-matchlist.h: moved functionality into
+         lib_internal library
 
-       * lib/: checkversion.c, getversion-internal.hc, getversion.c,
-         ioctl-getext2flags.hc, ioctl-getfilecontext.hc, ioctl-getxflg.hc,
-         ioctl-setext2flags.hc, ioctl-setfilecontext.hc, ioctl-setxflg.hc,
-         syscall-compat.hc, syscall.c, syscall_getiattr-v13.hc,
-         syscall_setiattr-v13.hc:
+2004-02-17 02:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; fixed/changed "vserver-internal.h" including
+       * util-vserver/lib_internal,
+         util-vserver/lib_internal/Makefile-files,
+         util-vserver/lib_internal/matchlist-appendfiles.c,
+         util-vserver/lib_internal/matchlist-compare.c,
+         util-vserver/lib_internal/matchlist-destroy.c,
+         util-vserver/lib_internal/matchlist-init.c,
+         util-vserver/lib_internal/matchlist-initbyvserver.c,
+         util-vserver/lib_internal/matchlist-initmanually.c,
+         util-vserver/lib_internal/matchlist-initrefserverlist.c,
+         util-vserver/lib_internal/matchlist.h,
+         util-vserver/lib_internal/pathinfo-append.c,
+         util-vserver/lib_internal/pathinfo-test.c,
+         util-vserver/lib_internal/pathinfo.h,
+         util-vserver/lib_internal/string-destroy.c,
+         util-vserver/lib_internal/string.h,
+         util-vserver/lib_internal/string.hc,
+         util-vserver/lib_internal/unify-deunify.c,
+         util-vserver/lib_internal/unify-unify.c,
+         util-vserver/lib_internal/unify.h,
+         util-vserver/lib_internal/util-io.h,
+         util-vserver/lib_internal/util-mem.h: initial checkin
 
-2004-01-21 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-17 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc,
+         util-vserver/ensc_wrappers/wrappers_handler.hc: fixed some
+         'noreturn' warnings for the execv() functions
 
-       added get_task_xid & get_vc_info files
-       removed obsoleted getctx/getinitpid files
-       renamed some -v11 files to -fscompat
+2004-02-16 19:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/make-manifest: ignore lines beginning with
+         '#'
 
-       * lib/: getctx-compat.hc[DEAD], getctx-legacy.hc[DEAD],
-         getctx.c[DEAD], getinitpid-compat.hc[DEAD],
-         getinitpid-legacy.hc[DEAD], getinitpid.c[DEAD]:
+2004-02-16 19:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       obsoleted by v13/oldproc functions
+       * util-vserver/contrib/manifest.dat.pathsubst: set
+         @ENSC_HAVE_*_COMPILER_TRUE@ tags
 
-2004-01-21 19:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-16 19:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fscompat_getiattr-v13.hc, fscompat_setiattr-v13.hc,
-         syscall_gettaskxid-oldproc.hc, syscall_gettaskxid-v13.hc,
-         syscall_gettaskxid.c, syscall_getvxinfo-oldproc.hc,
-         syscall_getvxinfo-v13.hc, syscall_getvxinfo.c:
+       * util-vserver/ensc_vector/testsuite/test1.c: #undef NDEBUG
 
-       initial checkin
+2004-02-16 19:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: use $_READLINK
+         mount /proc when doing pkg-management
 
-       * lib/: fscompat_getiattr-fscompat.hc,
-         fscompat_getiattr-v11.hc[DEAD], fscompat_setiattr-fscompat.hc,
-         fscompat_setiattr-v11.hc[DEAD]:
+2004-02-16 19:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed *-v11 to *-fscompat
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added readlink
 
-2004-01-21 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-16 19:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * .cvsignore:
+       * util-vserver/scripts/vrpm-preload: made rpm-flavor configurable
+         (e.g. 'i' for install (default), 'q' for
+         query, 'd' for database)
 
-       added 'Build-*'
+2004-02-16 19:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 19:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions: register generated
+         files so that they
+         can be cleaned up when needed
 
-       * configure.ac:
+2004-02-16 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'oldproc' API
+       * util-vserver/scripts/vserver-build.apt-rpm: call rpm.initDB()
 
-2004-01-21 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-16 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: Makefile-files, vunify-compare.hc, vunify-compare.ic[DEAD],
-         vunify-doit.hc, vunify-doit.ic[DEAD], vunify-init.hc,
-         vunify-init.ic[DEAD], vunify.c:
+       * util-vserver/scripts/vserver-build.functions.rpm: rpm.initDB():
+         added
 
-       renamed *.ic to *.hc
+2004-02-16 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-setup.functions: added --initstyle
+         support (-> /etc/vservers/.../apps/init/style)
 
-       * src/vunify.h:
+2004-02-16 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added changes for new API
-       added rsSPECIAL reason
+       * util-vserver/src/chbind.c: refined test-routine to work in
+         vservers without 'lo' interface
 
-2004-01-21 02:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-16 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify.c:
+       * util-vserver/src/secure-mount.c: define MS_REC when needed
 
-       added changes for new API
+2004-02-16 19:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac, util-vserver/src/rpm-fake-resolver.c:
+         added big, fat warning when not using dietlibc
 
-       * src/vunify-doit.ic:
+2004-02-16 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to new API
+       * util-vserver/Makefile.am: added ENSC_HAVE_*_COMPILER_* to
+         pathsubst-rules
 
-2004-01-21 02:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-14 01:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vlimit.c:
+       * util-vserver/scripts/vserver: use isAvoidNamespace() from
+         main-functions file
 
-       fixed help message
+2004-02-14 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions,
+         util-vserver/scripts/vserver.functions: moved isAvoidNamespace()
+         into main-functions file
 
-       * src/: chxid.c, fstool.c, fstool.h, lsxid.c, setattr.c,
-         showattr.c:
+2004-02-14 01:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated/enhanced for new API
+       * util-vserver/m4/ensc_syscallnr.m4: fixed auto-case
+         improved message
 
-2004-01-21 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-14 01:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/virtual.h:
+       * util-vserver/m4/ensc_kerneldir.m4: ENSC_KERNEL_HEADERS: made
+         argument optionally
 
-       updated
+2004-02-14 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: added clearenv
 
-       * lib/vserver-internal.h:
+2004-02-14 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added v13 API
+       * util-vserver/configure.ac: use ENSC_SYSCALLNR()
 
-2004-01-21 02:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-13 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/lib/vserver-internal.h: use results from
+         ENSC_SYSCALLNR
 
-       added fscompat and v13 functions
-       removed ioctl functions
+2004-02-13 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_syscallnr.m4: initial checkin
 
-       * lib/Makefile-files:
+2004-02-11 23:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added fscompat and v13 functions
+       * util-vserver/src/clearenv.c: use VSERVER_DECLARE_CMD
 
-2004-01-21 02:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-11 23:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: ioctl-getext2flags.c[DEAD], ioctl-getfilecontext.c[DEAD],
-         ioctl-setext2flags.c[DEAD], ioctl-setfilecontext.c[DEAD],
-         ioctl-getext2flags.hc, ioctl-getfilecontext.hc,
-         ioctl-setext2flags.hc, ioctl-setfilecontext.hc:
+       * util-vserver/src, util-vserver/src/.cvsignore: added clearenv
 
-       do not provide the ioctl-functions anymore; use them only internally
-       and include them directly. Therefore, renamed them from *.c to *.hc
+2004-02-11 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-21 02:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: use clearenv
 
-       * lib/: fscompat_getiattr-v11.hc, fscompat_getiattr.c,
-         fscompat_setiattr-v11.hc, fscompat_setiattr.c, ioctl-getxflg.hc,
-         ioctl-setxflg.hc, syscall_getiattr-v13.hc, syscall_getiattr.c,
-         syscall_setiattr-v13.hc, syscall_setiattr.c:
+2004-02-11 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: made namespace stuff
+         configurable at a global place
 
-2004-01-21 02:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-11 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vrpm-preload: give more rights... (same like
+         at --secure)
 
-       added v13 & fscompat APIs
+2004-02-11 23:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-19 19:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/src/Makefile-files: added clearenv
 
-       * distrib/misc/vunify-exclude:
+2004-02-11 23:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added .rpmdb
+       * util-vserver/src/clearenv.c: initial checkin
 
-2004-01-19 19:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-10 17:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: chxid.c, lsxid.c, setattr.c, showattr.c:
+       * util-vserver/src/chxid.c, util-vserver/src/setattr.c: handle
+         dot-files by default; it does not make sense to use a special
+         '-a' flag for the set-operations
 
-       s/S_ISLNK/!S_ISREG/ -> ignore any non-regular files
+2004-02-10 17:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-19 19:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: version 0.28.200
 
-       * src/Makefile-files:
+2004-02-10 17:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed vunify-operations
+       * util-vserver/src/secure-mount.c: recognize 'rbind' in fstab
+         use internal mount(2) on MOVE too
 
-2004-01-19 19:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-10 14:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify.h:
+       * util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start: implemented CLONE_NS and
+         --rbind mounting
 
-       cleanups; moved structure declarations from vunify.c into this headerfile
+2004-02-10 14:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-19 19:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: implemented '--rbind'
 
-       * src/vunify.c:
+2004-02-10 12:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups
-       added 'skip_reason' support
-       added debug output
+       * util-vserver/ensc_vector/testsuite,
+         util-vserver/ensc_vector/testsuite/.cvsignore,
+         util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/.cvsignore: initial checkin
 
-2004-01-19 19:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-10 12:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify-init.ic:
+       * util-vserver/lib/flags.c, util-vserver/lib/testsuite/flags.c:
+         s!init!fakeinit!
 
-       added debug output
-       fixed descriptor leak
+2004-02-10 12:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-19 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: version 0.28.199
 
-       * src/: vunify-compare.ic, vunify-doit.ic:
+2004-02-10 12:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/util-vserver.spec.in: moved the 'chattr' into the
+         right %post scriptlet
 
-2004-01-19 19:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-10 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: vunify-operations.c[DEAD], vunify-operations.h[DEAD]:
+       * util-vserver/configure.ac: version 0.28.198
 
-       obsoleted by more straight-forward code
+2004-02-09 23:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-19 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/make-manifest,
+         util-vserver/contrib/manifest.dat.pathsubst: moved *.so.* files
+         from -core to -lib
 
-       * src/vlimit.c:
+2004-02-09 23:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed copy&paste error
+       * util-vserver/util-vserver.spec.in: added -lib subpackage
+         moved *.so.* files from -core to -lib
+         removed the '%exclude ...vrpm.8'
+         added a 'make check'
 
-2004-01-17 06:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-09 23:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * NEWS, configure.ac:
+       * util-vserver/src/testsuite,
+         util-vserver/src/testsuite/.cvsignore: initial checkin
 
-       version 0.27.196
+2004-02-09 23:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_wrappers/wrappers-unistd.hc: Eexecvp(): added
+         added some 'NORETURN' specifiers
 
-       * tests/vserver-info.c:
+2004-02-09 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated to new vc_getVserverVdir() API
+       * util-vserver/Makefile.am: added lib/testsuite
 
-2004-01-17 06:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-09 23:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify.c:
+       * util-vserver/src/testsuite/vunify-test.sh: redirect output to
+         /dev/null
 
-       moved init*() functions to vunify-init.c
+2004-02-09 23:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/rpm-fake-test.c: fixed compilation
+         warnings
 
-       * src/vunify-operations.c:
+2004-02-09 23:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       compareUnify(): check mtime too
+       * util-vserver/src/testsuite/chcontext-test.c: added explicite
+         'return' for non-C99 compilers
 
-2004-01-17 06:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-09 23:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify-matchlist.h:
+       * util-vserver/src/testsuite/Makefile-files: added chbind-test
 
-       made 'buf' constant
+2004-02-09 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/man/Makefile-files: renoved vrpm.8 for now
 
-       * src/vunify-matchlist.c:
+2004-02-09 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       allow cmp-pointer to be NULL
+       * util-vserver/lib/vserver.h: vc_text2cap(): take 'unsigned int'
+         instead of 'int' argument
+         vc_textlist2flag(), vc_text2flag(), vc_hiflag2text(): added
+         prototypes
 
-2004-01-17 06:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-09 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vunify-init.ic:
+       * util-vserver/lib/capabilities.c: vc_text2cap(): take 'unsigned
+         int' instead of 'int' argument
 
-       use VPKG_PROG instead of PKGMGMT_INFO_PROG
-       register 'vdir'
-       use default exclude-lists
+2004-02-09 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added flags* files
+         added testsuite + -programs
 
-       * src/vunify-debug.c:
+2004-02-09 23:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added a const_cast
+       * util-vserver/src/chcontext.c: setFlags(): use vc_textlist2flag()
+         function
+         rearranged code to avoid unremovable zombie processes
 
-2004-01-17 06:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-09 23:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/src/chbind.c, util-vserver/src/reducecap.c: rewrote
+         it
 
-       updated VDIR tag to new interface
+2004-02-09 23:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: made reducecap & chbind native
+         dietlibc programs
 
-       * scripts/vserver:
+2004-02-09 23:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added 'unify' and 'pkg' commands
+       * util-vserver/lib/flags.c, util-vserver/lib/flags_list.c,
+         util-vserver/lib/testsuite,
+         util-vserver/lib/testsuite/Makefile-files,
+         util-vserver/lib/testsuite/flags.c,
+         util-vserver/src/testsuite/chbind-test.c: initial checkin
 
-2004-01-17 06:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 22:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vpkg:
+       * util-vserver/src/Makefile-files: added sys_clone.h
 
-       initial checkin
+2004-02-06 22:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: added 'chattr -t /vservers' +
+         needed Requires:
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-02-06 22:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $_VUNIFY and $_VPKG
+       * util-vserver/scripts/vserver-build.functions: call 'chattr -t' on
+         newly create vserverdirs
+         cleanups; parenthesize case-expressions
 
-2004-01-17 06:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 21:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: distrib-info[DEAD], legacy/distrib-info:
+       * util-vserver/src/util.h: exitLikeProcess(): added NORETURN
+         attribute to prototype
 
-       moved distrib-info to legacy/
+2004-02-06 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: cleanups; use sys_clone()
 
-       * scripts/Makefile-files:
+2004-02-06 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved distrib-info to legacy/
-       added vpkg
+       * util-vserver/src/new-namespace.c: cleanups; modernized it
 
-2004-01-17 06:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 21:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getvservervdir.c, vserver.h:
+       * util-vserver/src/Makefile-files: link new-namespace against
+         util-exitlikeprocess
+         cleanups
 
-       added 'physical' parameter to vc_getVserverVdir() which resolves the
-       complete physical path of the vdir
+2004-02-06 21:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/sys_clone.h: initial checkin
 
-       * distrib/misc/vunify-exclude:
+2004-02-06 18:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/testsuite/Makefile-files: do not call
+         vunify-test when no C99 compiler is available
 
-2004-01-17 06:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/ensc_vector/testsuite,
+         util-vserver/ensc_vector/testsuite/Makefile-files,
+         util-vserver/ensc_vector/testsuite/test1.c: initial checkin
 
-       added vunify-exclude
+2004-02-06 17:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-17 06:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/vunify-test.sh: use '-n' flag
 
-       * util-vserver.spec.in:
+2004-02-06 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use manifest-data for -legacy
+       * util-vserver/src/vutil.cc: minor cosmetical changes
 
-2004-01-17 06:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * pathconfig.h.pathsubst:
+       * util-vserver/src/vunify-init.hc: initModeManually(): added
+         missing strdup()
+
+2004-02-06 17:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added VPKG_PROG
-       minor cleanups
+       * util-vserver/Makefile.am,
+         util-vserver/ensc_vector/Makefile-files: added ensc_vector
+         testsuite
 
-2004-01-16 19:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 16:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/vunify-test.sh:
+       * util-vserver/ensc_vector/vector-insert.c: fixed it
 
-       applied new calling scheme
+2004-02-06 16:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 19:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: use ensc_vector
+         cleanups
 
-       * src/testsuite/vunify-functest.c:
+2004-02-06 16:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added wrapper_exit_code
+       * util-vserver/src/lsxid.c: use ensc_vector to cache xid->name
+         mappings
 
-2004-01-16 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 16:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/src/Makefile-files: link vserver-stat against
+         libensc_vector.a
 
-       Elseek(), Emkstemp(): added
-       Emalloc(), Erealloc(): fixed declarations
+2004-02-06 15:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: enumerated possible resources
 
-       * src/: vunify-matchlist.c, vunify-matchlist.h,
-         vunify-operations.c, vunify.c:
+2004-02-06 15:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added exclude-list support
+       * util-vserver/src/chxid.c: fixed do-display-dir behavior
 
-2004-01-16 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 14:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/scripts/vserver.functions: _generateFlagOptions():
+         fixed a case expression; formerly x"foo" ==
+         foo checks which would never succeed
 
-       added APPDIR tag
-       made it possible to supply additional paramaters
+2004-02-06 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chcontext.c, util-vserver/src/chroot-cat.c,
+         util-vserver/src/chroot-rm.c, util-vserver/src/exec-cd.c,
+         util-vserver/src/exec-ulimit.c, util-vserver/src/fstool.c,
+         util-vserver/src/new-namespace.c, util-vserver/src/pipe-sync.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/save_ctxinfo.c,
+         util-vserver/src/testsuite/rpm-fake-test.c,
+         util-vserver/src/vps.c, util-vserver/src/vrsetup.c,
+         util-vserver/src/vserver-info.c, util-vserver/src/vserver-stat.c,
+         util-vserver/src/vunify-doit.hc, util-vserver/src/vunify-init.hc,
+         util-vserver/src/vunify-matchlist.c, util-vserver/src/vunify.c:
+         use new ensc_wrappers/ headers
 
-       * src/: new-namespace.c, rpm-fake.c:
+2004-02-06 14:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not use CLONE_VFORK in debug mode; lockups with 'strace' are too annoying
+       * util-vserver/src/Makefile-files: removed wrappers-*
+         link lsxid against libensc_vector.a
 
-2004-01-16 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-06 14:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/src/wrappers-dirent.h,
+         util-vserver/src/wrappers-io.h,
+         util-vserver/src/wrappers-vserver.h, util-vserver/src/wrappers.h:
+         moved and generalized into an own /ensc_wrappers subdir
 
-       updated vunify setup
-       added files for vunify
+2004-02-06 14:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/ensc_vector,
+         util-vserver/ensc_vector/Makefile-files,
+         util-vserver/ensc_vector/vector-clear.c,
+         util-vserver/ensc_vector/vector-free.c,
+         util-vserver/ensc_vector/vector-init.c,
+         util-vserver/ensc_vector/vector-insert.c,
+         util-vserver/ensc_vector/vector-internal.h,
+         util-vserver/ensc_vector/vector-popback.c,
+         util-vserver/ensc_vector/vector-pushback.c,
+         util-vserver/ensc_vector/vector-resize.c,
+         util-vserver/ensc_vector/vector-resizeinternal.hc,
+         util-vserver/ensc_vector/vector-search.c,
+         util-vserver/ensc_vector/vector-sort.c,
+         util-vserver/ensc_vector/vector-unique.c,
+         util-vserver/ensc_vector/vector.h,
+         util-vserver/ensc_vector/vector.hc, util-vserver/ensc_wrappers,
+         util-vserver/ensc_wrappers/Makefile-files,
+         util-vserver/ensc_wrappers/wrappers-clone.hc,
+         util-vserver/ensc_wrappers/wrappers-dirent.hc,
+         util-vserver/ensc_wrappers/wrappers-fcntl.hc,
+         util-vserver/ensc_wrappers/wrappers-io.hc,
+         util-vserver/ensc_wrappers/wrappers-ioctl.hc,
+         util-vserver/ensc_wrappers/wrappers-iosock.hc,
+         util-vserver/ensc_wrappers/wrappers-mount.hc,
+         util-vserver/ensc_wrappers/wrappers-pivot.hc,
+         util-vserver/ensc_wrappers/wrappers-resource.hc,
+         util-vserver/ensc_wrappers/wrappers-stdlib.hc,
+         util-vserver/ensc_wrappers/wrappers-unistd.hc,
+         util-vserver/ensc_wrappers/wrappers-vserver.hc,
+         util-vserver/ensc_wrappers/wrappers-wait.hc,
+         util-vserver/ensc_wrappers/wrappers.h,
+         util-vserver/ensc_wrappers/wrappers_handler.hc: initial checkin
 
-       * scripts/legacy/.cvsignore, src/vunify-debug.c,
-         src/vunify-init.ic, src/vunify.h, src/wrappers-io.h:
+2004-02-06 14:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/Makefile.am: added ensc_vector/ & ensc_wrappers/
+         subdirs and files
 
-2004-01-16 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-05 22:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/setattr.c: documented --barrier
+         fixed do-display-dir behavior
 
-       accept vservers beginning with './'
+2004-02-05 04:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: added another path for
+         the template mtab file
 
-       * lib/vserver.h:
+2004-02-05 04:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added new management functions + doc
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.28.195
 
-2004-01-16 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-05 04:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/internal.h:
+       * util-vserver/distrib/defaults/apt.conf: initial checkin
 
-       added utilvserver_isDirectory() prototype
+2004-02-05 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added default apt.conf
 
-       * lib/getvservervdir.c:
+2004-02-05 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use utilvserver_isDirectory()
+       * util-vserver/doc/configuration.xml: documented default apt.conf
 
-2004-01-16 18:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-05 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/lib/syscall-legacy.hc: minor code cleanups
+         added a missing '#ifdef ENSC_SYSCALL_TRADITIONAL'
 
-       added new management sources
+2004-02-05 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 18:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_syscall.m4: enhanced check by using kernel
+         headers
 
-       * lib/: getvserverappdir.c, getvservercfgdir.c, isdirectory.c:
+2004-02-05 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver-build.functions.apt: added default
+         apt.conf/vendors.conf files
 
-2004-01-16 18:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-05 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/src/chcontext.c: use sethostname(2)/setdomainname(2)
+         again...
 
-       use filelists from contrib/make-manifest
+2004-02-04 23:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-16 18:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: use ENSC_SYSCALL
+         enhanced diagnostic output
 
-       * configure.ac:
+2004-02-04 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed CVS tag
+       * util-vserver/lib/syscall-legacy.hc,
+         util-vserver/lib/vserver-internal.h: use ENSC_SYSCALL_TRADITIONAL
 
-2004-01-16 18:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/lib/syscall.c: cleanups; do not include "compat.h"
+         anymore explicitly
 
-       added contrib/ dir
-       substitute MANDIR too
+2004-02-04 23:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 03:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added @WGET@ substitution
 
-       * src/util-exitlikeprocess.c:
+2004-02-04 21:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing <signal.h>
+       * util-vserver/m4/ensc_syscall.m4: initial checkin
 
-2004-01-14 03:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 21:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/fstool.h:
+       * util-vserver/scripts/vpkg: implemented Debian support
 
-       added 'local_fs' struct-member
+2004-02-04 21:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 03:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: cleanups
+         added '--silent' option
 
-       * src/fstool.c:
+2004-02-04 21:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for '-x' (do not cross filesystems)
-       fixed invocation with directory-name
-       implemented '-a' (show dot)
+       * util-vserver/src/vunify-init.hc, util-vserver/src/vunify.c: minor
+         cleanups
 
-2004-01-14 03:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 03:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vps.c:
+       * util-vserver/lib/fscompat_getiattr-v13.hc: fixed 'xid' parameter
+         transmission
 
-       minor documentation fix
+2004-02-04 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 03:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS: version 0.28.193
 
-       * src/: chxid.c, lsxid.c, setattr.c, showattr.c:
+2004-02-04 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added and documented '-x' switch
+       * util-vserver/configure.ac: added check for wget
+         version 0.28.193
 
-2004-01-14 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 03:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vps.c:
+       * util-vserver/util-vserver.spec.in: added some (Build)Requires:
 
-       makde it compilable with gcc296
+2004-02-04 03:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 01:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/contrib/manifest.dat.pathsubst: added debootstrap
+         files
 
-       * util-vserver.spec.in:
+2004-02-04 03:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added -legacy subpackage
+       * util-vserver/doc/configuration.xml: documented debootstrap
+         configuration
 
-2004-01-14 01:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 03:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/scripts/vserver-build.debootstrap: fixed path of
+         default-uri file
 
-       removed timestamps in legacy-dir also
-       substitute LEGACYDIR and PS
+2004-02-04 02:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 01:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/debootstrap.uri: initial checkin
 
-       * src/vps.c:
+2004-02-04 02:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added native '--version' and '--help'
+       * util-vserver/distrib/Makefile.am: added debootstrap.uri
 
-2004-01-14 01:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 02:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/scripts/vserver-setup.functions: use
+         $PKGLIBDEFAULTDIRc
 
-       added legacy-scripts to $(scripts_OPTIONS_EXEMPT)
-       added scripts_legacy_gen_SCRPTS to $(scripts_CLEANFILES)
+2004-02-04 02:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 01:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.skeleton: cleanups; use
+         'base.' namespace
 
-       * m4/validate.am:
+2004-02-04 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed parallel build
+       * util-vserver/scripts/vserver-build: added debootstrap
 
-2004-01-14 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/scripts/vpkg: added basic support for Debian
 
-       added check for PS
+2004-02-04 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added $_WGET
 
-       * pathconfig.h.pathsubst:
+2004-02-04 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added PS_PROG
+       * util-vserver/scripts/Makefile-files: added debootstrap and
+         pkgmgmt files
 
-2004-01-14 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-04 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/scripts/vserver-build.debootstrap: initial checkin
 
-       added vps
+2004-02-03 22:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.28.192
 
-       * src/Makefile-files:
+2004-02-03 22:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made vps a dietprog
+       * util-vserver/src, util-vserver/src/.cvsignore: added 'vuname'
 
-2004-01-14 00:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 22:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getctx.c:
+       * util-vserver/contrib, util-vserver/contrib/.cvsignore,
+         util-vserver/contrib/Makefile-files,
+         util-vserver/contrib/make-manifest,
+         util-vserver/contrib/manifest.dat.pathsubst: initial checkin
 
-       minor code cleanups
+2004-02-03 21:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: added more details to the final
+         summary
 
-       * lib/getctx.c:
+2004-02-03 21:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added VC_BE_VALGRIND_FRIENDLY support
+       * util-vserver/distrib/Makefile.am: added misc/fstab
 
-2004-01-14 00:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 21:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.functions.apt,
+         util-vserver/scripts/vserver-build.functions.rpm: splitted some
+         functions into a separate vserver-build.functions.pkgmgmt file
+         use XXX.yyy namespace-style notation
 
-       vc_get_securecaps(): added prototype
+2004-02-03 21:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/misc/fstab,
+         util-vserver/scripts/vserver-build.functions.pkgmgmt,
+         util-vserver/scripts/vserver-build.skeleton: initial checkin
 
-       * lib/vserver-internal.h:
+2004-02-03 21:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made CALL_VC-macro a block
+       * util-vserver/scripts/vserver-setup.functions: allow to configure
+         fstab-file
 
-2004-01-14 00:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 21:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util-exitlikeprocess.c:
+       * util-vserver/scripts/vserver-build: added skeleton support
+         fixed help message
 
-       include <unistd.h>
+2004-02-03 21:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: added '--debug' option
 
-       * scripts/Makefile-files:
+2004-02-03 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved legacy scripts into legacy/ and updated variables
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT
 
-2004-01-14 00:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 21:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/scripts/Makefile-files: added vserver-build.skeleton
 
-       updated legacy paths
+2004-02-03 21:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vkill.c: cleanups; use modern interfaces
 
-       * src/Makefile-files:
+2004-02-03 21:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vps
+       * util-vserver/src/util.h: VSERVER_DECLARE_CMD macro: added
 
-2004-01-14 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 21:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/util.h:
+       * util-vserver/src/Makefile-files: added vuname
 
-       exitLikeProcess(): added prototype
+2004-02-03 21:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/Makefile-files: added workaround for
+         automake bug
 
-       * src/wrappers.h:
+2004-02-03 21:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Emalloc(), Erealloc(): added
+       * util-vserver/src/vuname.c: initial checkin
 
-2004-01-14 00:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 12:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: util-exitlikeprocess.c, vps.c:
+       * util-vserver/configure.ac: use ENSC_C99COMPILER
+         give out summary at end of ./configure
 
-       initial checkin
+2004-02-03 12:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-14 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: * added support for
+         ENSC_HAVE_C99_COMPILER and conditionalized build
+         of 'vunify'
+         * renamed *_CXX_X_* variables to *_CXX_*
 
-       * scripts/: save_s_context[DEAD], vps.pathsubst[DEAD],
-         vserver-legacy[DEAD], vserverkillall[DEAD]:
+2004-02-03 12:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved into legacy
+       * util-vserver/src/vunify.cc: removed since rewritten in C
 
-2004-01-14 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-03 12:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/legacy/: save_s_context, vps.pathsubst, vserver,
-         vserverkillall:
+       * util-vserver/m4/ensc_dietlibc.m4: use 'yes' instead of '1'
 
-       initial checkin (moved from ../)
+2004-02-03 12:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_cxxcompiler.m4: added ENSC_C99COMPILER
+         added warning-messages
 
-       * scripts/vserver-legacy:
+2004-02-03 12:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'exec' to call commands on 'suexec' (patch by Alec Thomas)
+       * util-vserver/lib/syscall_getvhiname-v13.hc,
+         util-vserver/lib/syscall_setvhiname-v13.hc: #include <string.h>
 
-2004-01-13 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 19:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/doc/compatibility.xml: added note about chcontext
+         rewrite
 
-       added missing fstool.h header
+2004-02-02 19:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: added support for olduts API
 
-       * lib/virtual.h:
+2004-02-02 19:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated (added scheduler stuff)
+       * util-vserver/Makefile.am: substitute @PACKAGE@ too
 
-2004-01-13 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vkill.c:
+       * util-vserver/src/testsuite/Makefile-files: added chcontext-test.c
 
-       removed warnings about unused parameters
+2004-02-02 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/chcontext-test.c: initial checkin
 
-       * lib/getvserverbyctx.c, lib/getvserverctx.c, src/exec-cd.c,
-         tests/escaperoot.c, tests/testipc.c, tests/testlimit.c,
-         tests/testopenf.c:
+2004-02-02 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made it compilable with gcc296
+       * util-vserver/src/wrappers.h: added Esetsid()
 
-2004-01-13 15:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 19:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/src/wrappers-vserver.h: return xid_t instead of void
 
-       use $(src_sbin_SCRPTS)
+2004-02-02 19:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: cleanups
+         added missing '\n' in error-msg
 
-       * lib/vserver.h:
+2004-02-02 19:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added declarations for the ext2fs functions
+       * util-vserver/src/vserver-info.c: added UTS tag
 
-2004-01-13 15:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 19:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver-internal.h:
+       * util-vserver/src/reducecap.c: cleanups in the vc_new_s_context()
+         call
 
-       added EXT2FS macros
+2004-02-02 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/chcontext.c: rewrote and enhanced it
 
-       * lib/fmt.h:
+2004-02-02 19:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed xulong/xlong declarations
+       * util-vserver/src/Makefile-files: made chcontext a dietlibc
+         program and updated its SOURCES
 
-2004-01-13 15:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 19:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/lib/vserver.h: return xid_t on vc_new_s_context()
+         added VHOST/vhi functions and types
 
-       added the ioctl-* files
-       added ext2fs.h
+2004-02-02 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver-internal.h: cleanups
+         added CALL_VC_OLDUTS()
+         added VHI_USER2KERNEL/VHI_KERNEL2USER() wrappers
 
-       * src/.cvsignore:
+2004-02-02 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated
+       * util-vserver/lib/virtual.h: added VHOST support
 
-2004-01-13 15:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 18:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/lib/syscall_gettaskxid-oldproc.hc,
+         util-vserver/lib/syscall_getvxinfo-oldproc.hc: renamed *_X to
+         *_oldproc
 
-       removed ext2fs.h
-       added the fstools (lsxid,chxid,showattr,setattr) plus deps
+2004-02-02 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 15:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall-legacy.hc, util-vserver/lib/syscall.c:
+         fixed vc_new_s_context() to return the context instead of 0/1
 
-       * src/: chxid.c, fstool.c, fstool.h, lsxid.c, setattr.c,
-         showattr.c:
+2004-02-02 18:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor/medium cleanups
+       * util-vserver/lib/fscompat_getiattr-v13.hc,
+         util-vserver/lib/fscompat_setiattr-v13.hc,
+         util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_getvxinfo-v13.hc,
+         util-vserver/lib/syscall_kill-v11.hc,
+         util-vserver/lib/syscall_setiattr-v13.hc: use CTX_USER2KERNEL to
+         wrap xid
 
-2004-01-13 15:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-02-02 18:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/fstool-resolvectx.c:
+       * util-vserver/lib/capabilities.c: allow both 'CAP_xxx' and 'xxx'
 
-       initial checkin
+2004-02-02 18:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 14:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added *vhiname* files
 
-       * src/showattr.c:
+2004-02-02 18:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rewrote completely
+       * util-vserver/lib/syscall_getvhiname-olduts.hc,
+         util-vserver/lib/syscall_getvhiname-v13.hc,
+         util-vserver/lib/syscall_getvhiname.c,
+         util-vserver/lib/syscall_setvhiname-olduts.hc,
+         util-vserver/lib/syscall_setvhiname-v13.hc,
+         util-vserver/lib/syscall_setvhiname.c: initial checkin
 
-2004-01-13 14:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-29 11:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/ext2fs.h, src/ext2fs.h[DEAD]:
+       * util-vserver/doc, util-vserver/doc/.cvsignore: initial checkin
 
-       moved ext2fs.h from src/ into lib/ directory; we are providing the
-       needed functionality through libvserver now
+2004-01-29 11:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-13 14:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS: version 0.28.190
 
-       * src/chxid.c, src/fstool.c, src/fstool.h, src/lsxid.c,
-         src/setattr.c, lib/ioctl-getext2flags.c,
-         lib/ioctl-getfilecontext.c, lib/ioctl-setext2flags.c,
-         lib/ioctl-setfilecontext.c:
+2004-01-29 11:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/Makefile.am: cleanups; use $(SED) instead of sed
+         fix $pkglibdir in install-data-hook
+         put some hooks into own targets
 
-2004-01-07 16:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-29 11:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/configure.ac: added tests for sed and cmp
+         outsourced ext2fs test (merged from 0.28)
 
-       added URL which describes context-creation
+2004-01-29 11:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-07 16:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-stat.c: fixed insert-into-list function
+         give out warning when vc_get_task_xid() fails
 
-       * src/chcontext.c:
+2004-01-29 11:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * removed obsolete and unused 'fakeinit' variable
-       * fixed ctx-creation with fakeinit and static ctx-id's; fakeinit
-         requires a second call for ctx -2 to take effect
+       * util-vserver/src/vserver-info.c: use DIM_OF() macro
+         added APIVER tag
+         fixed help message
 
-2004-01-05 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-29 11:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/src/util.h: added DIM_OF() macro
 
-       added vserver-info
+2004-01-29 11:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: added vrsetup
 
-       * src/.cvsignore:
+2004-01-29 11:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated
+       * util-vserver/scripts/legacy/distrib-info,
+         util-vserver/scripts/legacy/vserver,
+         util-vserver/scripts/legacy/vserverkillall,
+         util-vserver/scripts/rootshell, util-vserver/scripts/vapt-get,
+         util-vserver/scripts/vapt-get-worker, util-vserver/scripts/vpkg,
+         util-vserver/scripts/vpstree, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vrpm-preload,
+         util-vserver/scripts/vrpm-worker, util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop:
+         fixed/changed path-detection for $UTIL_VSERVER_VARS
 
-2004-01-05 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-29 11:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/scripts/Makefile-files: cleanups
+         do not install util-vserver-vars in SBINDIR anymore
 
-       Edup2(): added
+2004-01-29 11:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_e2fscheck.m4: initial checkin
 
-       * src/vserver-stat.c:
+2004-01-29 11:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use existing syscall-wrappers instead of checking return-codes manually
+       * util-vserver/lib/ext2fs.h, util-vserver/lib/getversion.c,
+         util-vserver/lib/vserver.h: merged with 0.28
 
-2004-01-05 23:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-23 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-info.c:
+       * util-vserver/doc/Makefile-files: added some files to doc_DAT
 
-       initial checkin
+2004-01-23 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 23:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: version 0.27.199
+         added check for xsltproc
 
-       * src/rpm-fake.c:
+2004-01-23 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use fd3 for synchronization with resolver
-       adding some missing '\n' in messages
-       ignore empty environment variables too
-       exitRPMFake(): conditionalized debug-message
+       * util-vserver/NEWS: version 0.27.199
 
-2004-01-05 23:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-23 20:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake-resolver.c:
+       * util-vserver/compat.h: added ENSC_FIX_IOCTL()
 
-       daemonize(): child waits for parent to finish now
-       use fd3 for synchronisation
-       enable fork on default
+2004-01-23 20:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 23:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added $(doc_DAT)
 
-       * src/Makefile-files:
+2004-01-23 20:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vserver-info
-       minor cosmetical fixes
+       * util-vserver/doc/Makefile-files: added compat-doc
 
-2004-01-05 23:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-23 20:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.stop:
+       * util-vserver/doc/compat-xhtml.xsl,
+         util-vserver/doc/compatibility.dtd,
+         util-vserver/doc/compatibility.xml: initial checkin
 
-       fixed error-handling
+2004-01-23 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 23:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/ioctl-getext2flags.hc,
+         util-vserver/lib/ioctl-getfilecontext.hc,
+         util-vserver/lib/ioctl-setext2flags.hc,
+         util-vserver/lib/ioctl-setfilecontext.hc,
+         util-vserver/lib/ioctl-setxflg.hc: use ENSC_FIX_IOCTL() to fix
+         dietlibc's ioctl() return values
 
-       * scripts/vserver-setup.functions:
+2004-01-22 21:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added '--context' option
-       minor cosmetical cleanups
+       * util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_gettaskxid-v13.hc,
+         util-vserver/lib/syscall_getvxinfo-v13.hc,
+         util-vserver/lib/syscall_kill-v11.hc,
+         util-vserver/lib/syscall_rlimit-v11.hc,
+         util-vserver/lib/syscall_setiattr-v13.hc: use the VCMD_* macros
+         instead of the VC_CMD(...) macros
 
-2004-01-05 23:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 15:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions.apt:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.27.198
 
-       initVariablesApt(): fixed empty function body
+2004-01-22 15:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vrsetup.c: fixed copyright date
 
-       * scripts/vrpm-preload:
+2004-01-22 14:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       major cleanups; use 'vserver-info' to retrieve information about vserver
+       * util-vserver/src/wrappers.h: added Eioctl() wrapper
 
-2004-01-05 22:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 14:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vapt-get-worker:
+       * util-vserver/src/Makefile-files: added vrsetup
 
-       removed old, unused debug code
+2004-01-22 14:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 22:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vrsetup.c: initial checkin
 
-       * scripts/: vapt-get, vrpm:
+2004-01-22 13:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use modern '--help' & '--version' output
+       * util-vserver/src/vunify-doit.hc: * provide st_mode at
+         vc_set_iattr_compat() call
 
-2004-01-05 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 13:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/src/lsxid.c, util-vserver/src/showattr.c: * provide
+         st_mode at vc_set_iattr_compat() call
+         * do not stop on non-regular files; vc_set_iattr_compat() handles
+         this
+         already
 
-       added $_VSERVER_INFO
+2004-01-22 13:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2004-01-05 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/setattr.c: * removed the race-check; this is
+         done by vc_set_iattr_compat() already
+         * provide st_mode at vc_set_iattr_compat() call
+         * do not stop on non-regular files; vc_set_iattr_compat() handles
+         this
+         already
+         * moved setFlags() code into handleFile()
+         * added 'iunlink' option
 
-       * scripts/functions:
+2004-01-22 13:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       getVserverStatus(): fixed usage of 2nd parameter
+       * util-vserver/src/chxid.c: * removed the race-check; this is done
+         by vc_set_iattr_compat() already
+         * provide st_mode at vc_set_iattr_compat() call
+         * do not stop on non-regular files; vc_set_iattr_compat() handles
+         this
+         already
+         * moved setFile() code into handleFile()
 
-2004-01-05 22:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 13:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fmtx.hc, getvserverbyctx.c, getvserverctx.c,
-         vserver-internal.h, vserver.h:
+       * util-vserver/src/Makefile-files: removed 'vunify' from list of
+         C++ files
 
-       small cosmetical fix
+2004-01-22 13:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 21:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_gettaskxid-v13.hc: fixed call
 
-       * configure.ac:
+2004-01-22 13:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.27.190
+       * util-vserver/lib/ioctl-getext2flags.hc,
+         util-vserver/lib/ioctl-getfilecontext.hc,
+         util-vserver/lib/ioctl-getxflg.hc,
+         util-vserver/lib/ioctl-setext2flags.hc,
+         util-vserver/lib/ioctl-setfilecontext.hc,
+         util-vserver/lib/ioctl-setxflg.hc: when ioctl() returns a value
+         <-1, assign errno manually and return -1
 
-2003-12-30 20:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 13:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_setiattr-v13.hc: updated to changed API;
+         removed 'dev' field from 'struct vcmd_ctx_iattr_v0'
 
-       - since dynamic libraries will be installed now, call /sbin/ldconfig
-       - other updates...
+2004-01-22 13:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/virtual.h: updated; removed 'dev' field from
+         'struct vcmd_ctx_iattr_v0'
 
-       * src/compat-pivot_root.h:
+2004-01-22 13:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use <asm/unistd.h> instead of <linux/unistd.h> to fix problems with
-       RH's headers
+       * util-vserver/lib/vserver-internal.h: CALL_VC(): return ENOSYS in
+         errorcase
 
-2003-12-30 19:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-22 13:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/vunify-test.sh:
+       * util-vserver/lib/vserver.h: * vc_[sg]et_iattr_compat(): added
+         additional 'mode' parameter to avoid
+         an additional 'lstat'
 
-       fixed paths
+2004-01-22 13:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 19:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fscompat_getiattr.c,
+         util-vserver/lib/fscompat_setiattr.c: * added additional 'mode'
+         parameter to avoid an additional 'lstat'
 
-       * scripts/vserver.stop:
+2004-01-22 13:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use sendKillSequence instead of ctx-kill
+       * util-vserver/lib/fscompat_getiattr-fscompat.hc,
+         util-vserver/lib/fscompat_setiattr-fscompat.hc: * added
+         additional 'mode' parameter to avoid an additional 'lstat'
+         * operate on regular files and directories only
 
-2003-12-30 19:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 21:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/lib/syscall_gettaskxid-v13.hc: return VC_NOCTX
+         instead of -1
 
-       sendKillSequence(): added
+2004-01-21 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests/getinitpid.c: updated to new API
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-01-21 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed _CTX_KILL
-       added _VKILL
+       * util-vserver/src/vserver-info.c: added INITPID* and XID tags
 
-2003-12-30 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/save_ctxinfo.c, util-vserver/src/vps.c,
+         util-vserver/src/vserver-stat.c,
+         util-vserver/src/wrappers-vserver.h, util-vserver/tests/getctx.c:
+         use vc_get_task_xid() instead of vc_X_getctx()
 
-       getVserverStatus(): fixed usage if ctx
-       isCtxRunning(): added
+2004-01-21 18:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 18:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: * vc_get_vx_info(),
+         vc_get_task_xid(): added prototypes plus required
+         typedefinitions
+         * vc_X_getctx(), vc_X_getinitpid(): removed since obsoleted by
+         functions
+         above
 
-       * Makefile.am:
+2004-01-21 18:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing compat-c99.h header-file
+       * util-vserver/lib/vserver-internal.h: * added fscompat & oldproc
+         API
+         * added support for VC_MULTIVERSION_SYSCALL which chooses the
+         optimal
+         CALL_VC variant
+         * changed CALL_VC() so that it looks for version greater than
+         requested
+         one now
 
-2003-12-30 18:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 18:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chroot-rm.c:
+       * util-vserver/lib/virtual.h: updated; added VINFO commands
 
-       fixed order of chroot() and parameter evaluation so that '--version'
-       and '--help' are working as non-root also
+2004-01-21 18:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 18:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/syscall_kill.c,
+         util-vserver/lib/syscall_rlimit.c: cleanups; optimize CALL_VC()
+         usage
 
-       * src/Makefile-files:
+2004-01-21 18:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing headers
-       removed 'ctx-kill'; it is obsoleted through 'vkill'
+       * util-vserver/lib/fscompat_getiattr.c,
+         util-vserver/lib/fscompat_setiattr.c: cleanups; use CALL_VC()
+         macro
 
-2003-12-30 18:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 18:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/ctx-kill.c[DEAD]:
+       * util-vserver/lib/checkversion.c,
+         util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/getversion.c,
+         util-vserver/lib/ioctl-getext2flags.hc,
+         util-vserver/lib/ioctl-getfilecontext.hc,
+         util-vserver/lib/ioctl-getxflg.hc,
+         util-vserver/lib/ioctl-setext2flags.hc,
+         util-vserver/lib/ioctl-setfilecontext.hc,
+         util-vserver/lib/ioctl-setxflg.hc,
+         util-vserver/lib/syscall-compat.hc, util-vserver/lib/syscall.c,
+         util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_setiattr-v13.hc: cleanups; fixed/changed
+         "vserver-internal.h" including
 
-       replaced by 'vkill'
+2004-01-21 18:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added get_task_xid & get_vc_info
+         files
+         removed obsoleted getctx/getinitpid files
+         renamed some -v11 files to -fscompat
 
-       * compat.h:
+2004-01-21 18:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use results from dietlib's C99 compatibility-check
+       * util-vserver/lib/getctx-compat.hc,
+         util-vserver/lib/getctx-legacy.hc, util-vserver/lib/getctx.c,
+         util-vserver/lib/getinitpid-compat.hc,
+         util-vserver/lib/getinitpid-legacy.hc,
+         util-vserver/lib/getinitpid.c: obsoleted by v13/oldproc functions
 
-2003-12-30 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 18:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_dietlibc.m4:
+       * util-vserver/lib/fscompat_getiattr-v13.hc,
+         util-vserver/lib/fscompat_setiattr-v13.hc,
+         util-vserver/lib/syscall_gettaskxid-oldproc.hc,
+         util-vserver/lib/syscall_gettaskxid-v13.hc,
+         util-vserver/lib/syscall_gettaskxid.c,
+         util-vserver/lib/syscall_getvxinfo-oldproc.hc,
+         util-vserver/lib/syscall_getvxinfo-v13.hc,
+         util-vserver/lib/syscall_getvxinfo.c: initial checkin
 
-       added check for C99 compatibility
+2004-01-21 18:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fscompat_getiattr-fscompat.hc,
+         util-vserver/lib/fscompat_getiattr-v11.hc,
+         util-vserver/lib/fscompat_setiattr-fscompat.hc,
+         util-vserver/lib/fscompat_setiattr-v11.hc: renamed *-v11 to
+         *-fscompat
 
-       * m4/ensc_fpicsyscall.m4:
+2004-01-21 18:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed AC_LANG_PUSH/POP mismatch
+       * util-vserver, util-vserver/.cvsignore: added 'Build-*'
 
-2003-12-30 17:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 18:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * .cvsignore, lib/.cvsignore, scripts/.cvsignore, src/.cvsignore:
+       * util-vserver/configure.ac: added 'oldproc' API
 
-       updated
+2004-01-21 01:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 17:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files,
+         util-vserver/src/vunify-compare.hc,
+         util-vserver/src/vunify-compare.ic,
+         util-vserver/src/vunify-doit.hc, util-vserver/src/vunify-doit.ic,
+         util-vserver/src/vunify-init.hc, util-vserver/src/vunify-init.ic,
+         util-vserver/src/vunify.c: renamed *.ic to *.hc
 
-       * lib/syscall_kill-v11.hc, lib/syscall_kill.c, src/vkill.c:
+2004-01-21 01:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged with 0.26.90
+       * util-vserver/src/vunify.h: added changes for new API
+         added rsSPECIAL reason
 
-2003-12-30 17:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 01:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/testsuite/rpm-fake-test.sh:
+       * util-vserver/src/vunify.c: added changes for new API
 
-       fixed LD_PRELOAD path
+2004-01-21 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 17:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vunify-doit.ic: updated to new API
 
-       * scripts/vserver:
+2004-01-21 01:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated start/stop help-messages
+       * util-vserver/src/vlimit.c: fixed help message
 
-2003-12-30 17:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 01:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/chxid.c, util-vserver/src/fstool.c,
+         util-vserver/src/fstool.h, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c:
+         updated/enhanced for new API
 
-       getAllVservers(): ignore backup vservers
+2004-01-21 01:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 17:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/virtual.h: updated
 
-       * distrib/Makefile.am:
+2004-01-21 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed multiple 'make install' by using '-f' on 'ln'
+       * util-vserver/lib/vserver-internal.h: added v13 API
 
-2003-12-30 17:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 01:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/lib/vserver.h: added fscompat and v13 functions
+         removed ioctl functions
 
-       - merged with 0.26.90 (fixed --enable-apis, renamed ctx_t to xid_t,
-         renamed syscall, use C++ for ext2fs.h test)
-       - libtool'ized it
+2004-01-21 01:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 17:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added fscompat and v13 functions
 
-       * src/Makefile-files:
+2004-01-21 01:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * added vkill (merged from 0.26.90)
-       * libtool'ized it
+       * util-vserver/lib/ioctl-getext2flags.c,
+         util-vserver/lib/ioctl-getext2flags.hc,
+         util-vserver/lib/ioctl-getfilecontext.c,
+         util-vserver/lib/ioctl-getfilecontext.hc,
+         util-vserver/lib/ioctl-setext2flags.c,
+         util-vserver/lib/ioctl-setext2flags.hc,
+         util-vserver/lib/ioctl-setfilecontext.c,
+         util-vserver/lib/ioctl-setfilecontext.hc: do not provide the
+         ioctl-functions anymore; use them only internally
+         and include them directly. Therefore, renamed them from *.c to
+         *.hc
 
-2003-12-30 17:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-21 01:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/lib/fscompat_getiattr-v11.hc,
+         util-vserver/lib/fscompat_getiattr.c,
+         util-vserver/lib/fscompat_setiattr-v11.hc,
+         util-vserver/lib/fscompat_setiattr.c,
+         util-vserver/lib/ioctl-getxflg.hc,
+         util-vserver/lib/ioctl-setxflg.hc,
+         util-vserver/lib/syscall_getiattr-v13.hc,
+         util-vserver/lib/syscall_getiattr.c,
+         util-vserver/lib/syscall_setiattr-v13.hc,
+         util-vserver/lib/syscall_setiattr.c: initial checkin
 
-       * added vc_kill() syscall (merged from 0.26.90)
-       * libtool'ized it
+2004-01-21 01:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 16:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: added v13 & fscompat APIs
 
-       * Makefile.am:
+2004-01-19 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * added legacy-dir (merged from 0.26.90)
-       * libtool'ized it
+       * util-vserver/distrib/misc/vunify-exclude: added .rpmdb
 
-2003-12-30 16:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-19 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: .cvsignore, ctx-kill.c, rpm-fake-resolver.c, rpm-fake.c,
-         save_ctxinfo.c, vlimit.c, vserver-stat.c, wrappers-vserver.h:
+       * util-vserver/src/chxid.c, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c:
+         s/S_ISLNK/!S_ISREG/ -> ignore any non-regular files
 
-       merged with 0.26.90
+2004-01-19 18:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-30 16:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: removed vunify-operations
 
-       * tests/getctx.c, compat.h, lib/getctx-compat.hc,
-         lib/getctx-legacy.hc, lib/getctx.c, lib/getversion-internal.hc,
-         lib/getversion.c, lib/getvserverbyctx.c, lib/getvserverctx.c,
-         lib/syscall-compat.hc, lib/syscall-legacy.hc, lib/syscall.c,
-         lib/syscall_rlimit-v11.hc, lib/syscall_rlimit.c, lib/virtual.h,
-         lib/vserver-internal.h, lib/vserver.h, scripts/Makefile-files,
-         scripts/vps.pathsubst, scripts/vserver-legacy:
+2004-01-19 18:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged with 0.26.90
+       * util-vserver/src/vunify.h: cleanups; moved structure declarations
+         from vunify.c into this headerfile
 
-2003-12-29 20:02  uid68581
+2004-01-19 18:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/capchroot.c:
+       * util-vserver/src/vunify.c: cleanups
+         added 'skip_reason' support
+         added debug output
 
-       do not use vc_chrootsafe() anymore
+2004-01-19 18:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-29 20:01  uid68581
+       * util-vserver/src/vunify-init.ic: added debug output
+         fixed descriptor leak
 
-       * tests/Makefile-files:
+2004-01-19 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed chrootsafe
-       libtool'ized
+       * util-vserver/src/vunify-compare.ic,
+         util-vserver/src/vunify-doit.ic: initial checkin
 
-2003-12-26 01:49  uid68581
+2004-01-19 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat-c99.h, src/testsuite/Makefile-files,
-         src/testsuite/rpm-fake-test.c, src/testsuite/rpm-fake-test.sh,
-         src/testsuite/vunify-functest.c, src/testsuite/vunify-test.sh,
-         src/testsuite/data/rpm-fake-test.inp,
-         src/testsuite/data/rpm-fake-test.out:
+       * util-vserver/src/vunify-operations.c,
+         util-vserver/src/vunify-operations.h: obsoleted by more
+         straight-forward code
 
-       initial checkin
+2004-01-19 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:49  uid68581
+       * util-vserver/src/vlimit.c: fixed copy&paste error
 
-       * pathconfig.h.pathsubst:
+2004-01-17 05:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added RESOLVER_PROG
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.27.196
 
-2003-12-26 01:48  uid68581
+2004-01-17 05:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vprofile[DEAD]:
+       * util-vserver/tests/vserver-info.c: updated to new
+         vc_getVserverVdir() API
 
-       removed since obsoleted
+2004-01-17 05:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:48  uid68581
+       * util-vserver/src/vunify.c: moved init*() functions to
+         vunify-init.c
 
-       * tests/: escaperoot.c, forkbomb.c, testlimit.c, testopenf.c:
+2004-01-17 05:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       used workarounds to make it compilable with non-C99 compilers
+       * util-vserver/src/vunify-operations.c: compareUnify(): check mtime
+         too
 
-2003-12-26 01:47  uid68581
+2004-01-17 05:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/src/vunify-matchlist.h: made 'buf' constant
 
-       added setgid/setuid/setgroups wrappers
+2004-01-17 05:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:47  uid68581
+       * util-vserver/src/vunify-matchlist.c: allow cmp-pointer to be NULL
 
-       * src/util.h:
+2004-01-17 05:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added Xmemcpy()
-       added safeChdir() prototype
+       * util-vserver/src/vunify-init.ic: use VPKG_PROG instead of
+         PKGMGMT_INFO_PROG
+         register 'vdir'
+         use default exclude-lists
 
-2003-12-26 01:46  uid68581
+2004-01-17 05:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake.c:
+       * util-vserver/src/vunify-debug.c: added a const_cast
 
-       rewrote large parts
-       added NSS functions (getpwnam(), getgrnam(), ...)
+2004-01-17 05:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:45  uid68581
+       * util-vserver/src/vserver-info.c: updated VDIR tag to new
+         interface
 
-       * src/fakerunlevel.c:
+2004-01-17 05:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use setgroups() also
+       * util-vserver/scripts/vserver: added 'unify' and 'pkg' commands
 
-2003-12-26 01:45  uid68581
+2004-01-17 05:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chroot-rm.c:
+       * util-vserver/scripts/vpkg: initial checkin
 
-       added '--help' and '--version'
+2004-01-17 05:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:44  uid68581
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added $_VUNIFY
+         and $_VPKG
 
-       * src/.cvsignore:
+2004-01-17 05:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added exec-cd and rpm-fake-resolver
-       removed secure-umount
+       * util-vserver/scripts/distrib-info,
+         util-vserver/scripts/legacy/distrib-info: moved distrib-info to
+         legacy/
 
-2003-12-26 01:41  uid68581
+2004-01-17 05:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: exec-cd.c, rpm-fake-resolver.c, vunify-matchlist.c,
-         vunify-matchlist.h, vunify-operations.c, vunify-operations.h,
-         vunify.c, wrappers-dirent.h, util-safechdir.c:
+       * util-vserver/scripts/Makefile-files: moved distrib-info to
+         legacy/
+         added vpkg
 
-       initial checkin
+2004-01-17 05:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:38  uid68581
+       * util-vserver/lib/getvservervdir.c, util-vserver/lib/vserver.h:
+         added 'physical' parameter to vc_getVserverVdir() which resolves
+         the
+         complete physical path of the vdir
 
-       * src/Makefile-files:
+2004-01-17 05:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed secure-umount
-       added exec-cd
-       vunify will be a dietlibc program soonly
+       * util-vserver/distrib/misc/vunify-exclude: initial checkin
 
-2003-12-26 01:34  uid68581
+2004-01-17 05:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vsysvwrapper, vtop:
+       * util-vserver/distrib/Makefile.am: added vunify-exclude
 
-       fixed quoting
+2004-01-17 05:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:34  uid68581
+       * util-vserver/util-vserver.spec.in: use manifest-data for -legacy
 
-       * scripts/vserver.functions:
+2004-01-17 05:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'exec-cd' instead of 'secure-umount'
+       * util-vserver/pathconfig.h.pathsubst: added VPKG_PROG
+         minor cleanups
 
-2003-12-26 01:33  uid68581
+2004-01-16 18:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions.apt:
+       * util-vserver/src/testsuite/vunify-test.sh: applied new calling
+         scheme
 
-       fixed initVariablesApt()
-       added support for default apt.conf
+2004-01-16 18:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:33  uid68581
+       * util-vserver/src/testsuite/vunify-functest.c: added
+         wrapper_exit_code
 
-       * scripts/vserver-build.functions:
+2004-01-16 18:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rename package-cfg directory on '--force' also
+       * util-vserver/src/wrappers.h: Elseek(), Emkstemp(): added
+         Emalloc(), Erealloc(): fixed declarations
 
-2003-12-26 01:32  uid68581
+2004-01-16 18:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.apt-rpm:
+       * util-vserver/src/vunify-matchlist.c,
+         util-vserver/src/vunify-matchlist.h,
+         util-vserver/src/vunify-operations.c, util-vserver/src/vunify.c:
+         added exclude-list support
 
-       added '--debug' option
+2004-01-16 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:32  uid68581
+       * util-vserver/src/vserver-info.c: added APPDIR tag
+         made it possible to supply additional paramaters
 
-       * scripts/vserver:
+2004-01-16 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added package-management options (atleast their documention)
+       * util-vserver/src/new-namespace.c, util-vserver/src/rpm-fake.c: do
+         not use CLONE_VFORK in debug mode; lockups with 'strace' are too
+         annoying
 
-2003-12-26 01:30  uid68581
+2004-01-16 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vapt-get-worker:
+       * util-vserver/src/Makefile-files: updated vunify setup
+         added files for vunify
 
-       set RPM::PM to 'external'
+2004-01-16 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:29  uid68581
+       * util-vserver/lib/getvserverappdir.c,
+         util-vserver/lib/getvservercfgdir.c,
+         util-vserver/lib/isdirectory.c, util-vserver/scripts/legacy,
+         util-vserver/scripts/legacy/.cvsignore,
+         util-vserver/src/vunify-debug.c, util-vserver/src/vunify-init.ic,
+         util-vserver/src/vunify.h, util-vserver/src/wrappers-io.h:
+         initial checkin
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-01-16 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added _EXEC_CD
-       removed _SECURE_UMOUNT
+       * util-vserver/scripts/functions: accept vservers beginning with
+         './'
 
-2003-12-26 01:29  uid68581
+2004-01-16 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: rootshell, vpstree:
+       * util-vserver/lib/vserver.h: added new management functions + doc
 
-       fixed quoting
+2004-01-16 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:29  uid68581
+       * util-vserver/lib/internal.h: added utilvserver_isDirectory()
+         prototype
 
-       * scripts/functions:
+2004-01-16 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for default apt.conf
+       * util-vserver/lib/getvservervdir.c: use utilvserver_isDirectory()
 
-2003-12-26 01:23  uid68581
+2004-01-16 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/lib/Makefile-files: added new management sources
 
-       removed vprofile
+2004-01-16 17:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:22  uid68581
+       * util-vserver/util-vserver.spec.in: use filelists from
+         contrib/make-manifest
 
-       * m4/: ensc_cflags.m4, ensc_dietlibc.m4, ensc_kerneldir.m4,
-         ensc_release.m4, ensc_uv_vrootdir.m4:
+2004-01-16 17:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed broken quoting which is complained by recent automake
+       * util-vserver/configure.ac: fixed CVS tag
 
-2003-12-26 01:22  uid68581
+2004-01-16 17:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getvserverbyctx.c, getvserverctx.c:
+       * util-vserver/Makefile.am: added contrib/ dir
+         substitute MANDIR too
 
-       added workarounds for non-C99 compilers
+2004-01-14 02:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:21  uid68581
+       * util-vserver/src/util-exitlikeprocess.c: added missing <signal.h>
 
-       * distrib/defaults/apt/apt.conf:
+2004-01-14 02:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src/fstool.h: added 'local_fs' struct-member
 
-2003-12-26 01:20  uid68581
+2004-01-14 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/src/fstool.c: added support for '-x' (do not cross
+         filesystems)
+         fixed invocation with directory-name
+         implemented '-a' (show dot)
 
-       added default apt.conf
+2004-01-14 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-26 01:20  uid68581
+       * util-vserver/src/vps.c: minor documentation fix
 
-       * compat.h:
+2004-01-14 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       differ between >=3.3 and below at certain options
-       added 'restrict' workarounds
+       * util-vserver/src/chxid.c, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c: added
+         and documented '-x' switch
 
-2003-12-26 01:19  uid68581
+2004-01-14 00:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/src/vps.c: makde it compilable with gcc296
 
-       - removed m4_FILES; it is handled by automake >=2.8 automatically
-       - added basic test support
+2004-01-14 00:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-12-02 03:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: added -legacy subpackage
 
-       * scripts/vserver.functions:
+2004-01-14 00:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       evaluate CHBIND_OPTS lazily
+       * util-vserver/Makefile.am: removed timestamps in legacy-dir also
+         substitute LEGACYDIR and PS
 
-2003-12-02 03:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-14 00:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservername.c:
+       * util-vserver/src/vps.c: added native '--version' and '--help'
 
-       getRecentName(): return basename of directory but not this of the link anymore
+2004-01-14 00:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-22 03:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: added legacy-scripts to
+         $(scripts_OPTIONS_EXEMPT)
+         added scripts_legacy_gen_SCRPTS to $(scripts_CLEANFILES)
 
-       * NEWS, configure.ac:
+2004-01-14 00:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.26.193
+       * util-vserver/m4/validate.am: fixed parallel build
 
-2003-11-22 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/ifspec.c, configure.ac, Makefile.am, .cvsignore:
+       * util-vserver/configure.ac: added check for PS
 
-       merged with 0.26
+2004-01-13 23:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-22 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: added PS_PROG
 
-       * Makefile.am:
+2004-01-13 23:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       generate some .defaults symlinks
+       * util-vserver/src, util-vserver/src/.cvsignore: added vps
 
-2003-11-22 03:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/src/Makefile-files: made vps a dietprog
 
-       generate %ghost symlinks in %post
-       added vlimit
-       added some .default directories
+2004-01-13 23:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-22 03:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getctx.c: minor code cleanups
 
-       * lib/getvserverctx.c:
+2004-01-13 23:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added missing includes
+       * util-vserver/lib/getctx.c: added VC_BE_VALGRIND_FRIENDLY support
 
-2003-11-22 03:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-setup.functions:
+       * util-vserver/lib/vserver.h: vc_get_securecaps(): added prototype
 
-       use '$CONFDIR/.defaults/run.rev' instead of '$PKGSTATEREVDIR'
+2004-01-13 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver-internal.h: made CALL_VC-macro a block
 
-       * util-vserver.spec.in:
+2004-01-13 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'vservers.rev' directory instead of 'vservers/rev'
+       * util-vserver/src/util-exitlikeprocess.c: include <unistd.h>
 
-2003-11-20 19:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-setup.functions:
+       * util-vserver/scripts/Makefile-files: moved legacy scripts into
+         legacy/ and updated variables
 
-       use PKGSTATEREVDIR
+2004-01-13 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: updated legacy
+         paths
 
-       * scripts/.cvsignore:
+2004-01-13 23:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vps
+       * util-vserver/src/Makefile-files: added vps
 
-2003-11-20 19:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/src/util.h: exitLikeProcess(): added prototype
 
-       added separate 'pkgstaterevdir' variable
+2004-01-13 23:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/wrappers.h: Emalloc(), Erealloc(): added
 
-       * pathconfig.h.pathsubst:
+2004-01-13 23:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added DEFAULT_PKGSTATEREVDIR
+       * util-vserver/src/util-exitlikeprocess.c, util-vserver/src/vps.c:
+         initial checkin
 
-2003-11-20 19:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/scripts/save_s_context,
+         util-vserver/scripts/vps.pathsubst,
+         util-vserver/scripts/vserver-legacy,
+         util-vserver/scripts/vserverkillall: moved into legacy
 
-       added getvserverctx & getvserverbyctx files
-       added fmtx* files
+2004-01-13 23:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/legacy,
+         util-vserver/scripts/legacy/save_s_context,
+         util-vserver/scripts/legacy/vps.pathsubst,
+         util-vserver/scripts/legacy/vserver,
+         util-vserver/scripts/legacy/vserverkillall: initial checkin
+         (moved from ../)
 
-       * lib/syscall-legacy.hc:
+2004-01-13 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       has_chrootsafe(), call_set_ctxlimit(): removed
+       * util-vserver/scripts/vserver-legacy: use 'exec' to call commands
+         on 'suexec' (patch by Alec Thomas)
 
-2003-11-20 19:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 14:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/src/Makefile-files: added missing fstool.h header
 
-       vc_getVserverByCtx(), vc_getVserverCtx(): added
+2004-01-13 14:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/virtual.h: updated (added scheduler stuff)
 
-       * lib/: fmt.h, fmt.hc:
+2004-01-13 14:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added/use specialized hex-formating functions
+       * util-vserver/src/vkill.c: removed warnings about unused
+         parameters
 
-2003-11-20 19:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 14:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: fmt-internal.h, fmtx-32.c, fmtx-64.c, fmtx.hc,
-         getvserverbyctx.c, getvserverctx.c:
+       * util-vserver/lib/getvserverbyctx.c,
+         util-vserver/lib/getvserverctx.c, util-vserver/src/exec-cd.c,
+         util-vserver/tests/escaperoot.c, util-vserver/tests/testipc.c,
+         util-vserver/tests/testlimit.c, util-vserver/tests/testopenf.c:
+         made it compilable with gcc296
 
-       initial checkin
+2004-01-13 14:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: use $(src_sbin_SCRPTS)
 
-       * scripts/util-vserver-vars.pathsubst:
+2004-01-13 14:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added PKGSTATEREVDIR
+       * util-vserver/lib/vserver.h: added declarations for the ext2fs
+         functions
 
-2003-11-20 19:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 14:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vserver-stat.c:
+       * util-vserver/lib/vserver-internal.h: added EXT2FS macros
 
-       rewrote it to
-       * use the new management function
-       * remove all traces of printf()
-       * remove stacked functions
+2004-01-13 14:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fmt.h: fixed xulong/xlong declarations
 
-       * src/vlimit.c:
+2004-01-13 14:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use the specialized utilvserver_fmt_xuint64() function
+       * util-vserver/lib/Makefile-files: added the ioctl-* files
+         added ext2fs.h
 
-2003-11-20 19:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 14:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/src, util-vserver/src/.cvsignore: updated
 
-       made 'vserver-stat' a dietlibc-compiled program
+2004-01-13 14:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 16:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: removed ext2fs.h
+         added the fstools (lsxid,chxid,showattr,setattr) plus deps
 
-       * compat.h:
+2004-01-13 14:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       define FMT_PREFIX
+       * util-vserver/src/chxid.c, util-vserver/src/fstool.c,
+         util-vserver/src/fstool.h, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c, util-vserver/src/showattr.c:
+         minor/medium cleanups
 
-2003-11-20 16:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 14:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/getinitpid.c, tests/getctx.c, src/save_ctxinfo.c,
-         src/vlimit.c, lib/getprocentry-legacy.c, lib/Makefile-files,
-         lib/fmt-32.c, lib/fmt-64.c, lib/fmt.h, lib/fmt.hc,
-         lib/int2str.c[DEAD], lib/internal.h, lib/uint2str.c[DEAD]:
+       * util-vserver/src/fstool-resolvectx.c: initial checkin
 
-       use fmt_*() functions instead of *int2str()
+2004-01-13 13:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-20 03:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/showattr.c: rewrote completely
 
-       * scripts/vps[DEAD]:
+2004-01-13 13:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed since autogenerated from vps.pathsubst
+       * util-vserver/lib/ext2fs.h, util-vserver/src/ext2fs.h: moved
+         ext2fs.h from src/ into lib/ directory; we are providing the
+         needed functionality through libvserver now
 
-2003-11-19 00:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-13 13:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/fc1/: apt/rpmpriorities, apt/sources.list, pkgs/01,
-         pkgs/02:
+       * util-vserver/lib/ioctl-getext2flags.c,
+         util-vserver/lib/ioctl-getfilecontext.c,
+         util-vserver/lib/ioctl-setext2flags.c,
+         util-vserver/lib/ioctl-setfilecontext.c,
+         util-vserver/src/chxid.c, util-vserver/src/fstool.c,
+         util-vserver/src/fstool.h, util-vserver/src/lsxid.c,
+         util-vserver/src/setattr.c: initial checkin
 
-       initial checkin (based on fdr0.95)
+2004-01-07 15:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-19 00:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added URL which describes
+         context-creation
 
-       * distrib/Makefile.am:
+2004-01-07 15:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added Fedora Core 1
-       removed Fedora Beta
+       * util-vserver/src/chcontext.c: * removed obsolete and unused
+         'fakeinit' variable
+         * fixed ctx-creation with fakeinit and static ctx-id's; fakeinit
+         requires a second call for ctx -2 to take effect
 
-2003-11-19 00:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vapt-get:
+       * util-vserver/util-vserver.spec.in: added vserver-info
 
-       do not set $_APT_GET
+2004-01-05 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-19 00:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: updated
 
-       * compat.h:
+2004-01-05 22:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged/added from 0.25
-       added workaround for broken 'long long' handling of dietlibc
+       * util-vserver/src/wrappers.h: Edup2(): added
 
-2003-11-19 00:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 22:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files, lib/syscall-compat.hc,
-         lib/syscall_rlimit-v11.hc, lib/syscall_rlimit.c, lib/virtual.h,
-         lib/vserver-internal.h, lib/vserver.h, Makefile.am, THANKS,
-         configure.ac, util-vserver.spec.in:
+       * util-vserver/src/vserver-stat.c: use existing syscall-wrappers
+         instead of checking return-codes manually
 
-       merged/added from 0.25
+2004-01-05 22:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-19 00:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vserver-info.c: initial checkin
 
-       * src/.cvsignore, src/Makefile-files, src/showattr.c, src/vutil.cc,
-         src/ext2fs.h, src/setctxlimit.c[DEAD], src/vlimit.c,
-         scripts/vserver-legacy:
+2004-01-05 22:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged/added from 0.25
+       * util-vserver/src/rpm-fake.c: use fd3 for synchronization with
+         resolver
+         adding some missing '\n' in messages
+         ignore empty environment variables too
+         exitRPMFake(): conditionalized debug-message
 
-2003-11-19 00:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 22:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/: rebootmgr.subst, vservers.subst:
+       * util-vserver/src/rpm-fake-resolver.c: daemonize(): child waits
+         for parent to finish now
+         use fd3 for synchronisation
+         enable fork on default
 
-       merged in changes from 0.25
+2004-01-05 22:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-05 00:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: added vserver-info
+         minor cosmetical fixes
 
-       * NEWS, configure.ac:
+2004-01-05 22:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.24.191
+       * util-vserver/scripts/vserver.stop: fixed error-handling
 
-2003-11-05 00:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 22:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/scripts/vserver-setup.functions: added '--context'
+         option
+         minor cosmetical cleanups
 
-       added '--without dietlibc' option
+2004-01-05 22:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-05 00:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions.apt:
+         initVariablesApt(): fixed empty function body
 
-       * m4/ensc_dietlibc.m4:
+2004-01-05 21:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed typos ('withval' instead of 'enableval')
+       * util-vserver/scripts/vrpm-preload: major cleanups; use
+         'vserver-info' to retrieve information about vserver
 
-2003-11-05 00:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 21:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getvservername.c, getvservervdir.c:
+       * util-vserver/scripts/vapt-get-worker: removed old, unused debug
+         code
 
-       added '#include <unistd.h>' to fix compilation problems with glibc
+2004-01-05 21:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 14:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vapt-get, util-vserver/scripts/vrpm: use
+         modern '--help' & '--version' output
 
-       * NEWS, configure.ac:
+2004-01-05 21:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.24.190
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_VSERVER_INFO
 
-2003-11-04 14:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2004-01-05 21:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * .cvsignore:
+       * util-vserver/scripts/functions: getVserverStatus(): fixed usage
+         of 2nd parameter
 
-       added linuxcaps.h (merged from stable)
+2004-01-05 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 14:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/fmtx.hc, util-vserver/lib/getvserverbyctx.c,
+         util-vserver/lib/getvserverctx.c,
+         util-vserver/lib/vserver-internal.h, util-vserver/lib/vserver.h:
+         small cosmetical fix
 
-       * Makefile.am:
+2003-12-30 20:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - separated and completed m4_FILES
-       - added '--show-dead' to cvs2cl params
-       - fix linuxcaps.h (merged from stable)
+       * util-vserver/configure.ac: version 0.27.190
 
-2003-11-04 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 19:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservercfgstyle.c:
+       * util-vserver/util-vserver.spec.in: - since dynamic libraries will
+         be installed now, call /sbin/ldconfig
+         - other updates...
 
-       added some additional logic
+2003-12-30 19:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 14:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/compat-pivot_root.h: use <asm/unistd.h> instead
+         of <linux/unistd.h> to fix problems with
+         RH's headers
 
-       * lib/virtual.h:
+2003-12-30 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do not include the <linux/types.h> kernel-header anymore
+       * util-vserver/src/testsuite/vunify-test.sh: fixed paths
 
-2003-11-04 14:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/scripts/vserver.stop: use sendKillSequence instead
+         of ctx-kill
 
-       - getAllVservers: use _tmp instead of tmp to avoid clashes when caller
-         wants to have results in 'tmp', fixed array assignment
+2003-12-30 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 14:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: sendKillSequence(): added
 
-       * src/rebootmgr.c:
+2003-12-30 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed typo
+       * util-vserver/scripts/util-vserver-vars.pathsubst: removed
+         _CTX_KILL
+         added _VKILL
 
-2003-11-04 14:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/vserver-info.c:
+       * util-vserver/scripts/functions: getVserverStatus(): fixed usage
+         if ctx
+         isCtxRunning(): added
 
-       added '--help' and '--version'
+2003-12-30 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 02:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added missing compat-c99.h header-file
 
-       * configure.ac:
+2003-12-30 17:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged from SYSCALL_SWITCH
+       * util-vserver/src/chroot-rm.c: fixed order of chroot() and
+         parameter evaluation so that '--version'
+         and '--help' are working as non-root also
 
-2003-11-04 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/ensc_changelog.m4:
+       * util-vserver/src/Makefile-files: added missing headers
+         removed 'ctx-kill'; it is obsoleted through 'vkill'
 
-       merged from SYSCALL_SWITCH
+2003-12-30 17:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 02:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/ctx-kill.c: replaced by 'vkill'
 
-       * scripts/distrib-info, scripts/vserver-copy,
-         scripts/vserver-legacy, scripts/vservers.grabinfo.sh,
-         src/rebootmgr.c, sysv/Makefile-files, sysv/rebootmgr.subst:
+2003-12-30 17:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged in changes from 0.23.96 (/vservers -> $DEFAULT_VSERVERDIR)
+       * util-vserver/compat.h: use results from dietlib's C99
+         compatibility-check
 
-2003-11-04 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 17:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/validate.am:
+       * util-vserver/m4/ensc_dietlibc.m4: added check for C99
+         compatibility
 
-       updated from vserver-djinni
+2003-12-30 17:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-04 01:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_fpicsyscall.m4: fixed AC_LANG_PUSH/POP
+         mismatch
 
-       * lib/vserver-internal.h:
+2003-12-30 16:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       ignore lower 8bit on version
+       * util-vserver, util-vserver/.cvsignore, util-vserver/lib,
+         util-vserver/lib/.cvsignore, util-vserver/scripts,
+         util-vserver/scripts/.cvsignore, util-vserver/src,
+         util-vserver/src/.cvsignore: updated
 
-2003-11-03 20:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 16:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * util-vserver.spec.in:
+       * util-vserver/lib/syscall_kill-v11.hc,
+         util-vserver/lib/syscall_kill.c, util-vserver/src/vkill.c: merged
+         with 0.26.90
 
-       removed 'vkill' for now
-       call 'install-vserverdir'
+2003-12-30 16:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-03 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/testsuite/rpm-fake-test.sh: fixed LD_PRELOAD
+         path
 
-       * distrib/redhat/initpost:
+2003-12-30 16:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       create /etc/sysconfig/network
+       * util-vserver/scripts/vserver: updated start/stop help-messages
 
-2003-11-03 20:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 16:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/scripts/functions: getAllVservers(): ignore backup
+         vservers
 
-       - fixed some statements which would fail with 'set -e'
-       - made 'disableInterface' smart so that it calculates parameters
-         automatically
+2003-12-30 16:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-11-03 20:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: fixed multiple 'make install'
+         by using '-f' on 'ln'
 
-       * scripts/vserver-setup.functions:
+2003-12-30 16:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for '--netbcast'
+       * util-vserver/configure.ac: - merged with 0.26.90 (fixed
+         --enable-apis, renamed ctx_t to xid_t,
+         renamed syscall, use C++ for ext2fs.h test)
+         - libtool'ized it
 
-2003-11-03 20:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 16:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getvservername.c:
+       * util-vserver/src/Makefile-files: * added vkill (merged from
+         0.26.90)
+         * libtool'ized it
 
-       terminate name with '\0'
+2003-12-30 16:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-30 18:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: * added vc_kill() syscall
+         (merged from 0.26.90)
+         * libtool'ized it
 
-       * scripts/vserver-legacy:
+2003-12-30 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       merged from 0.23.95:
-       - reenabled the copy-all mode; can be disabled by setting the
-         $UTIL_VSERVER_AVOID_COPY environment variable
-       - use '-HS' ulimit switch for newly created vservers
+       * util-vserver/Makefile.am: * added legacy-dir (merged from
+         0.26.90)
+         * libtool'ized it
 
-2003-10-30 18:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-30 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/compat.h, util-vserver/lib/getctx-compat.hc,
+         util-vserver/lib/getctx-legacy.hc, util-vserver/lib/getctx.c,
+         util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/getversion.c,
+         util-vserver/lib/getvserverbyctx.c,
+         util-vserver/lib/getvserverctx.c,
+         util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall-legacy.hc, util-vserver/lib/syscall.c,
+         util-vserver/lib/syscall_rlimit-v11.hc,
+         util-vserver/lib/syscall_rlimit.c, util-vserver/lib/virtual.h,
+         util-vserver/lib/vserver-internal.h, util-vserver/lib/vserver.h,
+         util-vserver/scripts/Makefile-files,
+         util-vserver/scripts/vps.pathsubst,
+         util-vserver/scripts/vserver-legacy, util-vserver/src,
+         util-vserver/src/.cvsignore, util-vserver/src/ctx-kill.c,
+         util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/rpm-fake.c, util-vserver/src/save_ctxinfo.c,
+         util-vserver/src/vlimit.c, util-vserver/src/vserver-stat.c,
+         util-vserver/src/wrappers-vserver.h, util-vserver/tests/getctx.c:
+         merged with 0.26.90
 
-       - large cleanup; use changed variables from scripts/Makefile
-       - try to keep modes of pathsubstituted files
-       - create own install-rule for vserver-dir; 'make distcheck' does not
-         like /vservers...
+2003-12-29 19:02  uid68581
 
-2003-10-30 18:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/capchroot.c: do not use vc_chrootsafe() anymore
 
-       * src/reducecap.c:
+2003-12-29 19:01  uid68581
 
-       use QUOTACTL (merged from 0.23.94)
+       * util-vserver/tests/Makefile-files: removed chrootsafe
+         libtool'ized
 
-2003-10-30 18:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:50  uid68581
 
-       * src/rebootmgr.c:
+       * util-vserver/compat-c99.h, util-vserver/src/testsuite,
+         util-vserver/src/testsuite/Makefile-files,
+         util-vserver/src/testsuite/data,
+         util-vserver/src/testsuite/data/rpm-fake-test.inp,
+         util-vserver/src/testsuite/data/rpm-fake-test.out,
+         util-vserver/src/testsuite/rpm-fake-test.c,
+         util-vserver/src/testsuite/rpm-fake-test.sh,
+         util-vserver/src/testsuite/vunify-functest.c,
+         util-vserver/src/testsuite/vunify-test.sh: initial checkin
 
-       use configured SBINDIR instead of hardcoded /usr/sbin
+2003-12-26 00:49  uid68581
 
-2003-10-30 18:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: added RESOLVER_PROG
 
-       * src/chcontext.c:
+2003-12-26 00:48  uid68581
 
-       added QUOTACTL to 'secure' caps (merged from 0.23.94)
+       * util-vserver/scripts/vprofile: removed since obsoleted
 
-2003-10-30 18:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:48  uid68581
 
-       * src/Makefile-files:
+       * util-vserver/tests/escaperoot.c, util-vserver/tests/forkbomb.c,
+         util-vserver/tests/testlimit.c, util-vserver/tests/testopenf.c:
+         used workarounds to make it compilable with non-C99 compilers
 
-       create 'setattr' program
+2003-12-26 00:47  uid68581
 
-2003-10-30 18:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/wrappers.h: added setgid/setuid/setgroups
+         wrappers
 
-       * scripts/: distrib-info, rootshell, vpstree, vserver-copy,
-         vsysvwrapper, vtop:
+2003-12-26 00:47  uid68581
 
-       merged in changes from 0.24.94 (s!/usr/sbin!$SBINDIR!)
+       * util-vserver/src/util.h: added Xmemcpy()
+         added safeChdir() prototype
 
-2003-10-30 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:46  uid68581
 
-       * scripts/: vserver.start, vserver.stop:
+       * util-vserver/src/rpm-fake.c: rewrote large parts
+         added NSS functions (getpwnam(), getgrnam(), ...)
 
-       use 'set -e' instead of 'set +e'
+2003-12-26 00:45  uid68581
 
-2003-10-30 18:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/fakerunlevel.c: use setgroups() also
 
-       * scripts/functions:
+2003-12-26 00:45  uid68581
 
-       added 'checkComponents()' function
+       * util-vserver/src/chroot-rm.c: added '--help' and '--version'
 
-2003-10-30 18:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:44  uid68581
 
-       * scripts/vps.pathsubst:
+       * util-vserver/src, util-vserver/src/.cvsignore: added exec-cd and
+         rpm-fake-resolver
+         removed secure-umount
 
-       initial check (was: vps)
+2003-12-26 00:42  uid68581
 
-2003-10-30 18:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/exec-cd.c, util-vserver/src/rpm-fake-resolver.c,
+         util-vserver/src/util-safechdir.c,
+         util-vserver/src/vunify-matchlist.c,
+         util-vserver/src/vunify-matchlist.h,
+         util-vserver/src/vunify-operations.c,
+         util-vserver/src/vunify-operations.h, util-vserver/src/vunify.c,
+         util-vserver/src/wrappers-dirent.h: initial checkin
 
-       * scripts/vkill[DEAD]:
+2003-12-26 00:38  uid68581
 
-       removed; is obsoleted by ctx-kill
+       * util-vserver/src/Makefile-files: removed secure-umount
+         added exec-cd
+         vunify will be a dietlibc program soonly
 
-2003-10-30 18:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:34  uid68581
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/scripts/rootshell, util-vserver/scripts/vpstree,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop:
+         fixed quoting
 
-       added INITRDDIR, LIBDIR and INCLUDEDIR
+2003-12-26 00:34  uid68581
 
-2003-10-30 18:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: use 'exec-cd' instead of
+         'secure-umount'
 
-       * scripts/Makefile-files:
+2003-12-26 00:33  uid68581
 
-       large cleanup
-       removed 'vkill' (obsoleted by ctx-kill)
-       vps is now vps.subst
+       * util-vserver/scripts/vserver-build.functions.apt: fixed
+         initVariablesApt()
+         added support for default apt.conf
 
-2003-10-30 18:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:33  uid68581
 
-       * lib/capabilities.c, lib/vserver.h, man/reducecap.8:
+       * util-vserver/scripts/vserver-build.functions: rename package-cfg
+         directory on '--force' also
 
-       use CAP_QUOTACTL instead of CAP_OPENDEV
+2003-12-26 00:32  uid68581
 
-2003-10-30 15:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm: added '--debug'
+         option
 
-       * Makefile.am:
+2003-12-26 00:32  uid68581
 
-       use ENSC_UV_VROOTDIR to set 'vserverdir'
-       added missing path-substitutions
+       * util-vserver/scripts/vserver: added package-management options
+         (atleast their documention)
 
-2003-10-30 15:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:30  uid68581
 
-       * configure.ac:
+       * util-vserver/scripts/vapt-get-worker: set RPM::PM to 'external'
 
-       use ENSC_UV_VROOTDIR to set 'vserverdir'
+2003-12-26 00:29  uid68581
 
-2003-10-30 15:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added _EXEC_CD
+         removed _SECURE_UMOUNT
 
-       * m4/ensc_uv_vrootdir.m4:
+2003-12-26 00:29  uid68581
 
-       initial checkin
+       * util-vserver/scripts/functions: added support for default
+         apt.conf
 
-2003-10-23 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:23  uid68581
 
-       * tests/vserver-info.c:
+       * util-vserver/scripts/Makefile-files: removed vprofile
 
-       initial checkin
+2003-12-26 00:22  uid68581
 
-2003-10-23 22:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_cflags.m4, util-vserver/m4/ensc_dietlibc.m4,
+         util-vserver/m4/ensc_kerneldir.m4,
+         util-vserver/m4/ensc_release.m4,
+         util-vserver/m4/ensc_uv_vrootdir.m4: fixed broken quoting which
+         is complained by recent automake
 
-       * tests/: Makefile-files, .cvsignore:
+2003-12-26 00:22  uid68581
 
-       added vserver-info
+       * util-vserver/lib/getvserverbyctx.c,
+         util-vserver/lib/getvserverctx.c: added workarounds for non-C99
+         compilers
 
-2003-10-23 22:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:21  uid68581
 
-       * compat.h:
+       * util-vserver/distrib/defaults/apt,
+         util-vserver/distrib/defaults/apt/apt.conf: initial checkin
 
-       define TEMP_FAILURE_RETRY for dietlibc-compilation
+2003-12-26 00:20  uid68581
 
-2003-10-23 22:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added default apt.conf
 
-       * pathconfig.h.pathsubst:
+2003-12-26 00:20  uid68581
 
-       define DEFAULT_VSERVERDIR and DEFAULT_VSERVERPKGDIR
+       * util-vserver/compat.h: differ between >=3.3 and below at certain
+         options
+         added 'restrict' workarounds
 
-2003-10-23 22:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-12-26 00:19  uid68581
 
-       * lib/Makefile-files:
+       * util-vserver/Makefile.am: - removed m4_FILES; it is handled by
+         automake >=2.8 automatically
+         - added basic test support
 
-       added files for higher-level management
+2003-12-02 02:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 22:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: evaluate CHBIND_OPTS
+         lazily
 
-       * lib/vserver.h:
+2003-12-02 02:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added functions for vserver-management
+       * util-vserver/lib/getvservername.c: getRecentName(): return
+         basename of directory but not this of the link anymore
 
-2003-10-23 22:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-22 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getvservercfgstyle.c, getvservername.c, getvservervdir.c:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.26.193
 
-       initial checkin
+2003-11-22 02:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver, util-vserver/.cvsignore, util-vserver/Makefile.am,
+         util-vserver/configure.ac, util-vserver/src/ifspec.c: merged with
+         0.26
 
-       * scripts/: vserver.start, vserver.stop, vserver.suexec:
+2003-11-22 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       cleanups; go into vserver-dir before *and* after executing scriptlets
+       * util-vserver/Makefile.am: generate some .defaults symlinks
 
-2003-10-23 01:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-22 02:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver-build, vserver-build.functions:
+       * util-vserver/util-vserver.spec.in: generate %ghost symlinks in
+         %post
+         added vlimit
+         added some .default directories
 
-       used $DEFAULT_VSERVERDIR and $DEFAULT_VSERVERPKGDIR instead of the
-       hardcoded '/vservers' values
+2003-11-22 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 00:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvserverctx.c: added missing includes
 
-       * util-vserver.spec.in:
+2003-11-22 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rewrote it
-       added -build subpackage
+       * util-vserver/scripts/vserver-setup.functions: use
+         '$CONFDIR/.defaults/run.rev' instead of '$PKGSTATEREVDIR'
 
-2003-10-23 00:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 18:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/util-vserver.spec.in: use 'vservers.rev' directory
+         instead of 'vservers/rev'
 
-       moved ENSC_INITRDDIR, ENSC_RELEASE, ENSC_ENABLE_DIETLIBC and
-       ENSC_KERNEL_HEADERS checks into own m4/* files
+2003-11-20 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 00:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-setup.functions: use PKGSTATEREVDIR
 
-       * Makefile.am:
+2003-11-20 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed sysvdir to initrddir
-       use $(RELEASE_CPPFLAGS) (-DNDEBUG)
-       substitute $(vserverdir) and $(vserverpkgdir)
-       create the $(vserverdir) and $(vserverpkgdir) directories
+       * util-vserver/scripts, util-vserver/scripts/.cvsignore: added vps
 
-2003-10-23 00:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/Makefile.am: added separate 'pkgstaterevdir'
+         variable
 
-       added sample 'mtab' file
-       create the config-dirs
+2003-11-20 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 00:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: added DEFAULT_PKGSTATEREVDIR
 
-       * distrib/redhat/initpost:
+2003-11-20 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       $2 is no longer $_VSERVER but the 'util-vserver-vars' file
+       * util-vserver/lib/Makefile-files: added getvserverctx &
+         getvserverbyctx files
+         added fmtx* files
 
-2003-10-23 00:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/rh9/apt/sources.list:
+       * util-vserver/lib/syscall-legacy.hc: has_chrootsafe(),
+         call_set_ctxlimit(): removed
 
-       added some mirrors
+2003-11-20 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 00:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: vc_getVserverByCtx(),
+         vc_getVserverCtx(): added
 
-       * m4/ensc_dietlibc.m4, m4/ensc_initrddir.m4, m4/ensc_kerneldir.m4,
-         m4/ensc_release.m4, distrib/misc/mtab:
+2003-11-20 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/fmt.h, util-vserver/lib/fmt.hc: added/use
+         specialized hex-formating functions
 
-2003-10-23 00:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/lib/fmt-internal.h, util-vserver/lib/fmtx-32.c,
+         util-vserver/lib/fmtx-64.c, util-vserver/lib/fmtx.hc,
+         util-vserver/lib/getvserverbyctx.c,
+         util-vserver/lib/getvserverctx.c: initial checkin
 
-       added DEFAULT_VSERVERDIR and DEFAULT_VSERVERPKGDIR
+2003-11-20 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-23 00:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         PKGSTATEREVDIR
 
-       * scripts/vserver-build.apt-rpm:
+2003-11-20 18:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       call pre/post scriplets with "$UTIL_VSERVER_VARS" as second param
-       instead of "$_VSERVER"
+       * util-vserver/src/vserver-stat.c: rewrote it to
+         * use the new management function
+         * remove all traces of printf()
+         * remove stacked functions
 
-2003-10-23 00:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions:
+       * util-vserver/src/vlimit.c: use the specialized
+         utilvserver_fmt_xuint64() function
 
-       fixed broken quotes
+2003-11-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-22 20:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: made 'vserver-stat' a
+         dietlibc-compiled program
 
-       * scripts/: vserver.functions, vserver.start:
+2003-11-20 15:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - reorganized CHCONTEXT_INIT_OPTS/CHCONTEXT_DISCONNECT: dropped the
-         separate CHCONTEXT_DISCONNECT variable completetly and put '--flag
-         fakeinit --disconnect' into CHCONTEXT_INIT_OPTS, which is used by
-         'vserver ... start' command only
+       * util-vserver/compat.h: define FMT_PREFIX
 
-2003-10-22 20:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-20 15:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-umount.c:
+       * util-vserver/lib/Makefile-files, util-vserver/lib/fmt-32.c,
+         util-vserver/lib/fmt-64.c, util-vserver/lib/fmt.h,
+         util-vserver/lib/fmt.hc, util-vserver/lib/getprocentry-legacy.c,
+         util-vserver/lib/int2str.c, util-vserver/lib/internal.h,
+         util-vserver/lib/uint2str.c, util-vserver/src/save_ctxinfo.c,
+         util-vserver/src/vlimit.c, util-vserver/tests/getctx.c,
+         util-vserver/tests/getinitpid.c: use fmt_*() functions instead of
+         *int2str()
 
-       use real 'umount' program to unmount directories
+2003-11-20 02:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-22 20:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vps: removed since autogenerated from
+         vps.pathsubst
 
-       * src/exec-ulimit.c:
+2003-11-18 23:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added [mMkK] modifies for limits
+       * util-vserver/distrib/fdr0.95, util-vserver/distrib/rh9.0.93:
+         obsoleted by fc1
 
-2003-10-22 20:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-18 23:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build.functions:
+       * util-vserver/distrib/fc1, util-vserver/distrib/fc1/apt,
+         util-vserver/distrib/fc1/apt/rpmpriorities,
+         util-vserver/distrib/fc1/apt/sources.list,
+         util-vserver/distrib/fc1/pkgs, util-vserver/distrib/fc1/pkgs/01,
+         util-vserver/distrib/fc1/pkgs/02: initial checkin (based on
+         fdr0.95)
 
-       added support for copying some default files (resolv.conf, localtime,
-       krb-conf,...)
+2003-11-18 23:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-22 20:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added Fedora Core 1
+         removed Fedora Beta
 
-       * scripts/: vserver-build, vserver-setup.functions:
+2003-11-18 23:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed getopt long-option string
+       * util-vserver/scripts/vapt-get: do not set $_APT_GET
 
-2003-10-22 20:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-18 23:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/compat.h: merged/added from 0.25
+         added workaround for broken 'long long' handling of dietlibc
 
-       implemented findAndCopy
+2003-11-18 23:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 16:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am, util-vserver/THANKS,
+         util-vserver/configure.ac, util-vserver/lib/Makefile-files,
+         util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall_rlimit-v11.hc,
+         util-vserver/lib/syscall_rlimit.c, util-vserver/lib/virtual.h,
+         util-vserver/lib/vserver-internal.h, util-vserver/lib/vserver.h,
+         util-vserver/scripts/vserver-legacy, util-vserver/src,
+         util-vserver/src/.cvsignore, util-vserver/src/Makefile-files,
+         util-vserver/src/ext2fs.h, util-vserver/src/setctxlimit.c,
+         util-vserver/src/showattr.c, util-vserver/src/vlimit.c,
+         util-vserver/src/vutil.cc, util-vserver/util-vserver.spec.in:
+         merged/added from 0.25
 
-       * NEWS, configure.ac:
+2003-11-18 23:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       version 0.23.194
+       * util-vserver/sysv/rebootmgr.subst,
+         util-vserver/sysv/vservers.subst: merged in changes from 0.25
 
-2003-10-21 16:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/Makefile.am:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.24.191
 
-       added scripts to AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
+2003-11-04 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 16:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/util-vserver.spec.in: added '--without dietlibc'
+         option
 
-       * src/exec-ulimit.c:
+2003-11-04 23:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       implemented '--help' and '--version'
+       * util-vserver/m4/ensc_dietlibc.m4: fixed typos ('withval' instead
+         of 'enableval')
 
-2003-10-21 15:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 23:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vbuild.cc:
+       * util-vserver/lib/getvservername.c,
+         util-vserver/lib/getvservervdir.c: added '#include <unistd.h>' to
+         fix compilation problems with glibc
 
-       removed warning about unused parameters
+2003-11-04 13:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.24.190
 
-       * tests/Makefile-files:
+2003-11-04 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed to .cc files to .c
+       * util-vserver, util-vserver/.cvsignore: added linuxcaps.h (merged
+         from stable)
 
-2003-10-21 15:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/: chrootsafe.c, chrootsafe.cc[DEAD], escaperoot.c,
-         escaperoot.cc[DEAD], forkbomb.c, forkbomb.cc[DEAD], testipc.c,
-         testipc.cc[DEAD], testlimit.c, testlimit.cc[DEAD], testopenf.c,
-         testopenf.cc[DEAD]:
+       * util-vserver/Makefile.am: - separated and completed m4_FILES
+         - added '--show-dead' to cvs2cl params
+         - fix linuxcaps.h (merged from stable)
 
-       renamed to .cc files to .c and made some little changes to make them
-       compilable with C compilers
+2003-11-04 13:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getvservercfgstyle.c: added some additional
+         logic
 
-       * Makefile.am:
+2003-11-04 13:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added new m4/*.m4 macros
-       added conditional build of CXX files
-       added support for libtool
+       * util-vserver/lib/virtual.h: do not include the <linux/types.h>
+         kernel-header anymore
 
-2003-10-21 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 13:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * distrib/redhat/initpost:
+       * util-vserver/scripts/functions: - getAllVservers: use _tmp
+         instead of tmp to avoid clashes when caller
+         wants to have results in 'tmp', fixed array assignment
 
-       initial checkin
+2003-11-04 13:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rebootmgr.c: fixed typo
 
-       * distrib/Makefile.am:
+2003-11-04 13:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added Fedora Core 0.95
-       removed Red Hat 9.0.93
-       use common redhat/initpost script
+       * util-vserver/tests/vserver-info.c: added '--help' and '--version'
 
-2003-10-21 15:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 01:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/configure.ac: merged from SYSCALL_SWITCH
 
-       - use dietlibc compilation only for library-built, but not e.g. when
-         building object for rpm-fake.so. This is very dark magic...
+2003-11-04 01:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/ensc_changelog.m4: merged from SYSCALL_SWITCH
 
-       * scripts/Makefile-files:
+2003-11-04 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed vunify.old.sh
+       * util-vserver/scripts/distrib-info,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vserver-legacy,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/src/rebootmgr.c, util-vserver/sysv/Makefile-files,
+         util-vserver/sysv/rebootmgr.subst: merged in changes from 0.23.96
+         (/vservers -> $DEFAULT_VSERVERDIR)
 
-2003-10-21 15:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-04 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/m4/validate.am: updated from vserver-djinni
 
-       - conditionalized built of C++ programs
-       - added very dark magic to build everything of rpm-fake.so with '-fPIC'
-         flag (when possible); on ia32 this will not work/is not necessarily
-         but x86_64 seems to have problems with current method
+2003-11-04 00:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver-internal.h: ignore lower 8bit on version
 
-       * configure.ac:
+2003-11-03 19:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added check for C++ compiler
-       added some CXX flags
-       use ENSC_FPIC_SYSCALL
+       * util-vserver/util-vserver.spec.in: removed 'vkill' for now
+         call 'install-vserverdir'
 
-2003-10-21 15:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-03 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/checkversion.c:
+       * util-vserver/distrib/redhat/initpost: create
+         /etc/sysconfig/network
 
-       fixed stupid thinko (EAGAIN vs. EINVAL)
+2003-11-03 19:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: - fixed some statements
+         which would fail with 'set -e'
+         - made 'disableInterface' smart so that it calculates parameters
+         automatically
 
-       * m4/ensc_cxxcompiler.m4, m4/ensc_fpicsyscall.m4, src/vserver.cc,
-         src/vserver.hh:
+2003-11-03 19:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver-setup.functions: added support for
+         '--netbcast'
 
-2003-10-21 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-11-03 19:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake.c:
+       * util-vserver/lib/getvservername.c: terminate name with '\0'
 
-       made it compilabe with non-C99 compilers and older kernels
+2003-10-30 17:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-legacy: merged from 0.23.95:
+         - reenabled the copy-all mode; can be disabled by setting the
+         $UTIL_VSERVER_AVOID_COPY environment variable
+         - use '-HS' ulimit switch for newly created vservers
 
-       * src/secure-mount.c:
+2003-10-30 17:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       made it compilabe with non-C99 compilers
+       * util-vserver/Makefile.am: - large cleanup; use changed variables
+         from scripts/Makefile
+         - try to keep modes of pathsubstituted files
+         - create own install-rule for vserver-dir; 'make distcheck' does
+         not
+         like /vservers...
 
-2003-10-21 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-30 17:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vbuild.cc:
+       * util-vserver/src/reducecap.c: use QUOTACTL (merged from 0.23.94)
 
-       use 'Vserver' class instead of 'string'
-       !!BROKE LOTS OF THINGS!! this version does not work yet
+2003-10-30 17:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rebootmgr.c: use configured SBINDIR instead of
+         hardcoded /usr/sbin
 
-       * src/vunify.cc:
+2003-10-30 17:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'Vserver' class instead of 'string'
-       use getopt()
-       reindented large parts
+       * util-vserver/src/chcontext.c: added QUOTACTL to 'secure' caps
+         (merged from 0.23.94)
 
-2003-10-21 15:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-30 17:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/vutil.cc:
+       * util-vserver/src/Makefile-files: create 'setattr' program
 
-       use 'Vserver' class instead of 'string'
-       fixed format-string error
+2003-10-30 17:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 15:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/distrib-info,
+         util-vserver/scripts/rootshell, util-vserver/scripts/vpstree,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop:
+         merged in changes from 0.24.94 (s!/usr/sbin!$SBINDIR!)
 
-       * src/: vutil.p, vutil.h:
+2003-10-30 17:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use 'Vserver' class instead of 'string'
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: use 'set -e' instead of 'set
+         +e'
 
-2003-10-21 15:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-30 17:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/scripts/functions: added 'checkComponents()'
+         function
 
-       make it compilable with non-C99 compilers
+2003-10-30 17:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vps.pathsubst: initial check (was: vps)
 
-       * doc/configuration.xml:
+2003-10-30 17:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       documented 'ulimits' directory
+       * util-vserver/scripts/vkill: removed; is obsoleted by ctx-kill
 
-2003-10-21 00:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-30 17:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vunify.old.sh[DEAD]:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         INITRDDIR, LIBDIR and INCLUDEDIR
 
-       as the name ('*old*') is saying already: it is old and obsoleted...
+2003-10-30 17:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 00:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: large cleanup
+         removed 'vkill' (obsoleted by ctx-kill)
+         vps is now vps.subst
 
-       * scripts/: vserver.start, vserver.stop, vserver.suexec:
+2003-10-30 17:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added ulimits support
+       * util-vserver/lib/capabilities.c, util-vserver/lib/vserver.h,
+         util-vserver/man/reducecap.8: use CAP_QUOTACTL instead of
+         CAP_OPENDEV
 
-2003-10-21 00:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-30 14:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/Makefile.am: use ENSC_UV_VROOTDIR to set
+         'vserverdir'
+         added missing path-substitutions
 
-       added _EXEC_ULIMIT
+2003-10-30 14:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 00:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: use ENSC_UV_VROOTDIR to set
+         'vserverdir'
 
-       * src/exec-ulimit.c:
+2003-10-30 14:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       work also, when ulimit-directory does not exist
+       * util-vserver/m4/ensc_uv_vrootdir.m4: initial checkin
 
-2003-10-21 00:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-23 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/.cvsignore:
+       * util-vserver/lib/getvservercfgstyle.c,
+         util-vserver/lib/getvservername.c,
+         util-vserver/lib/getvservervdir.c,
+         util-vserver/tests/vserver-info.c: initial checkin
 
-       added exec-ulimit
+2003-10-23 20:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 00:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests, util-vserver/tests/.cvsignore,
+         util-vserver/tests/Makefile-files: added vserver-info
 
-       * src/exec-ulimit.c:
+2003-10-23 20:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/compat.h: define TEMP_FAILURE_RETRY for
+         dietlibc-compilation
 
-2003-10-21 00:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-23 20:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/pathconfig.h.pathsubst: define DEFAULT_VSERVERDIR
+         and DEFAULT_VSERVERPKGDIR
 
-       added exec-ulimit.c
+2003-10-23 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-21 00:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/Makefile-files: added files for higher-level
+         management
 
-       * src/wrappers.h:
+2003-10-23 20:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Egetrlimit(),Esetrlimit(): added
+       * util-vserver/lib/vserver.h: added functions for
+         vserver-management
 
-2003-10-20 23:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 23:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/reducecap.c:
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: cleanups; go into
+         vserver-dir before *and* after executing scriptlets
 
-       use capability support from the library as far as possible
+2003-10-22 23:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 23:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-build.functions: used
+         $DEFAULT_VSERVERDIR and $DEFAULT_VSERVERPKGDIR instead of the
+         hardcoded '/vservers' values
 
-       * src/: capchroot.c, chcontext.c:
+2003-10-22 22:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use capability support from the library instead of including
-       kernel-headers
+       * util-vserver/util-vserver.spec.in: rewrote it
+         added -build subpackage
 
-2003-10-20 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 22:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/capabilities.c:
+       * util-vserver/configure.ac: moved ENSC_INITRDDIR, ENSC_RELEASE,
+         ENSC_ENABLE_DIETLIBC and
+         ENSC_KERNEL_HEADERS checks into own m4/* files
 
-       initial checkin
+2003-10-22 22:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: renamed sysvdir to initrddir
+         use $(RELEASE_CPPFLAGS) (-DNDEBUG)
+         substitute $(vserverdir) and $(vserverpkgdir)
+         create the $(vserverdir) and $(vserverpkgdir) directories
 
-       * lib/vserver.h:
+2003-10-22 22:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added capability support
+       * util-vserver/distrib/Makefile.am: added sample 'mtab' file
+         create the config-dirs
 
-2003-10-20 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 22:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/distrib/redhat/initpost: $2 is no longer $_VSERVER
+         but the 'util-vserver-vars' file
 
-       added support for '-DNDEBUG' in the library
-       added capability.c
+2003-10-22 22:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 23:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/rh9/apt/sources.list: added some mirrors
 
-       * configure.ac:
+2003-10-22 22:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for '-DNDEBUG' in the library
+       * util-vserver/distrib/fdr0.95, util-vserver/distrib/fdr0.95/apt,
+         util-vserver/distrib/fdr0.95/apt/rpmpriorities,
+         util-vserver/distrib/fdr0.95/apt/sources.list,
+         util-vserver/distrib/fdr0.95/pkgs,
+         util-vserver/distrib/fdr0.95/pkgs/01,
+         util-vserver/distrib/fdr0.95/pkgs/02, util-vserver/distrib/misc,
+         util-vserver/distrib/misc/mtab, util-vserver/m4/ensc_dietlibc.m4,
+         util-vserver/m4/ensc_initrddir.m4,
+         util-vserver/m4/ensc_kerneldir.m4,
+         util-vserver/m4/ensc_release.m4: initial checkin
 
-2003-10-20 20:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 22:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         DEFAULT_VSERVERDIR and DEFAULT_VSERVERPKGDIR
 
-       added PKGSTATEDIR substitution
+2003-10-22 22:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.apt-rpm: call pre/post
+         scriplets with "$UTIL_VSERVER_VARS" as second param
+         instead of "$_VSERVER"
 
-       * scripts/vserver-build.apt-rpm, scripts/vserver-build.functions,
-         scripts/vserver-build.functions.apt,
-         scripts/vserver-build.functions.rpm,
-         scripts/vserver-setup.functions, doc/cfgdirdoc.dtd,
-         doc/configuration.xml:
+2003-10-22 22:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver-build.functions: fixed broken quotes
 
-2003-10-20 20:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 18:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start: - reorganized
+         CHCONTEXT_INIT_OPTS/CHCONTEXT_DISCONNECT: dropped the
+         separate CHCONTEXT_DISCONNECT variable completetly and put
+         '--flag
+         fakeinit --disconnect' into CHCONTEXT_INIT_OPTS, which is used by
+         'vserver ... start' command only
 
-       - removed vserver-init file
-       - added vserver-build* files
+2003-10-22 18:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 20:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-umount.c: use real 'umount' program to
+         unmount directories
 
-       * scripts/util-vserver-vars.pathsubst:
+2003-10-22 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added PKGSTATEDIR, RUNDIR, LIB_VSERVER_SETUP_FUNCTIONS,
-         LIB_VSERVER_BUILD_FUNCTIONS* and _VSERVER variables
-       - added WORKAROUND_APT_DBPATH variable
+       * util-vserver/src/exec-ulimit.c: added [mMkK] modifies for limits
 
-2003-10-20 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-22 18:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-build:
+       * util-vserver/scripts/vserver-build,
+         util-vserver/scripts/vserver-setup.functions: fixed getopt
+         long-option string
 
-       implemented it...
+2003-10-22 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build.functions: added support for
+         copying some default files (resolv.conf, localtime,
+         krb-conf,...)
 
-       * scripts/vserver:
+2003-10-22 18:19  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added '--sync' and '--verbose' options
-       sync the 'stop' stage on restart
-       fixed invocation of 'vserver-build'
+       * util-vserver/scripts/functions: implemented findAndCopy
 
-2003-10-20 20:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 14:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vapt-get, vrpm:
+       * util-vserver/NEWS, util-vserver/configure.ac: version 0.23.194
 
-       made it more mature by using arrays for the vserver-list
+2003-10-21 14:15  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 20:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added scripts to
+         AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
 
-       * scripts/vserver.functions:
+2003-10-21 14:14  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - moved getFileValue/getFileArray from 'vserver.functions' into 'functions'
+       * util-vserver/src/exec-ulimit.c: implemented '--help' and
+         '--version'
 
-2003-10-20 20:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/functions:
+       * util-vserver/src/vbuild.cc: removed warning about unused
+         parameters
 
-       - moved getFileValue/getFileArray from 'vserver.functions' into 'functions'
-       - implemented '/<path>' style vserver specification
-       - made getAllVservers more mature by using arrays
+2003-10-21 13:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-20 19:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests/Makefile-files: renamed to .cc files to .c
 
-       * scripts/vserver-init[DEAD]:
+2003-10-21 13:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved 'vserver-init' functionality into the more general vserver-build*
-       files
+       * util-vserver/tests/chrootsafe.c,
+         util-vserver/tests/chrootsafe.cc,
+         util-vserver/tests/escaperoot.c,
+         util-vserver/tests/escaperoot.cc, util-vserver/tests/forkbomb.c,
+         util-vserver/tests/forkbomb.cc, util-vserver/tests/testipc.c,
+         util-vserver/tests/testipc.cc, util-vserver/tests/testlimit.c,
+         util-vserver/tests/testlimit.cc, util-vserver/tests/testopenf.c,
+         util-vserver/tests/testopenf.cc: renamed to .cc files to .c and
+         made some little changes to make them
+         compilable with C compilers
 
-2003-10-18 04:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/Makefile.am: added new m4/*.m4 macros
+         added conditional build of CXX files
+         added support for libtool
 
-       gnit'ified
+2003-10-21 13:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/redhat,
+         util-vserver/distrib/redhat/initpost: initial checkin
 
-       * src/.cvsignore:
+2003-10-21 13:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added pipe-sync
+       * util-vserver/distrib/Makefile.am: added Fedora Core 0.95
+         removed Red Hat 9.0.93
+         use common redhat/initpost script
 
-2003-10-18 04:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/lib/Makefile-files: - use dietlibc compilation only
+         for library-built, but not e.g. when
+         building object for rpm-fake.so. This is very dark magic...
 
-       gnit'ified
-       added pipe-sync
+2003-10-21 13:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: removed vunify.old.sh
 
-       * src/chroot-cat.c:
+2003-10-21 13:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor cosmetical changes
+       * util-vserver/src/Makefile-files: - conditionalized built of C++
+         programs
+         - added very dark magic to build everything of rpm-fake.so with
+         '-fPIC'
+         flag (when possible); on ia32 this will not work/is not
+         necessarily
+         but x86_64 seems to have problems with current method
 
-2003-10-18 04:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/chroot-rm.c:
+       * util-vserver/configure.ac: added check for C++ compiler
+         added some CXX flags
+         use ENSC_FPIC_SYSCALL
 
-       use "wrapper.h"
+2003-10-21 13:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/checkversion.c: fixed stupid thinko (EAGAIN vs.
+         EINVAL)
 
-       * src/wrappers.h:
+2003-10-21 13:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Eunlink(): added
+       * util-vserver/m4/ensc_cxxcompiler.m4,
+         util-vserver/m4/ensc_fpicsyscall.m4, util-vserver/src/vserver.cc,
+         util-vserver/src/vserver.hh: initial checkin
 
-2003-10-18 04:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/src/rpm-fake.c: made it compilabe with non-C99
+         compilers and older kernels
 
-       added $_VSERVER_BUILD
+2003-10-21 13:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: made it compilabe with non-C99
+         compilers
 
-       * scripts/vserver:
+2003-10-21 13:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added help/version
-       added 'build' option
-       made 'running' silently
+       * util-vserver/src/vbuild.cc: use 'Vserver' class instead of
+         'string'
+         !!BROKE LOTS OF THINGS!! this version does not work yet
 
-2003-10-18 04:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/pipe-sync.c, scripts/vserver-build:
+       * util-vserver/src/vunify.cc: use 'Vserver' class instead of
+         'string'
+         use getopt()
+         reindented large parts
 
-       initial checkin
+2003-10-21 13:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vutil.cc: use 'Vserver' class instead of
+         'string'
+         fixed format-string error
 
-       * Makefile.am:
+2003-10-21 13:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - gnit'ified it
+       * util-vserver/src/vutil.h, util-vserver/src/vutil.p: use 'Vserver'
+         class instead of 'string'
 
-2003-10-18 04:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-21 13:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/src/wrappers.h: make it compilable with non-C99
+         compilers
 
-       - gnit'ified it
-       - added vserver-build
+2003-10-20 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-18 04:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/doc/configuration.xml: documented 'ulimits'
+         directory
 
-       * sysv/Makefile-files:
+2003-10-20 22:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       gnit'ified it
+       * util-vserver/scripts/vunify.old.sh: as the name ('*old*') is
+         saying already: it is old and obsoleted...
 
-2003-10-18 03:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/checkversion.c:
+       * util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop,
+         util-vserver/scripts/vserver.suexec: added ulimits support
 
-       restored compatibility for case when old syscall interface uses the
-       new syscall-number (merged from SYSCALL_SWITCH branch)
+2003-10-20 22:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         _EXEC_ULIMIT
 
-       * configure.ac:
+2003-10-20 22:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       add '#include "compat.h'" at bottom of config.h
-       version 0.23.191
+       * util-vserver/src/exec-ulimit.c: work also, when ulimit-directory
+         does not exist
 
-2003-10-17 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 22:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/src, util-vserver/src/.cvsignore: added exec-ulimit
 
-       cleaned up pathsubst rule
+2003-10-20 22:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/exec-ulimit.c: initial checkin
 
-       * scripts/util-vserver-vars.pathsubst:
+2003-10-20 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added _CHROOT_CAT
+       * util-vserver/src/Makefile-files: added exec-ulimit.c
 
-2003-10-17 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver-init:
+       * util-vserver/src/wrappers.h: Egetrlimit(),Esetrlimit(): added
 
-       create link to reverse ctx->vserver mapping
+2003-10-20 21:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/reducecap.c: use capability support from the
+         library as far as possible
 
-       * scripts/vserver.functions:
+2003-10-20 21:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - removed '#! /bin/bash' header
-       - added separate CHCONTEXT_DISCONNECT option
-       - use default runlevels only when sysv init-style is used
-       - create/empty mtab file before mounting the vserver
+       * util-vserver/src/capchroot.c, util-vserver/src/chcontext.c: use
+         capability support from the library instead of including
+         kernel-headers
 
-2003-10-17 23:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 21:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/lib/capabilities.c: initial checkin
 
-       - removed '#! /bin/bash' header
-       - added separate CHCONTEXT_DISCONNECT option
+2003-10-20 21:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/vserver.h: added capability support
 
-       * scripts/vserver.stop:
+2003-10-20 21:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - removed '#! /bin/bash' header
-       - disable interfaces when vserver is not running
+       * util-vserver/lib/Makefile-files: added support for '-DNDEBUG' in
+         the library
+         added capability.c
 
-2003-10-17 23:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 21:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.suexec:
+       * util-vserver/configure.ac: added support for '-DNDEBUG' in the
+         library
 
-       removed '#! /bin/bash' header
+2003-10-20 18:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added PKGSTATEDIR substitution
 
-       * src/.cvsignore:
+2003-10-20 18:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added chroot-cat
+       * util-vserver/doc/cfgdirdoc.dtd,
+         util-vserver/doc/configuration.xml,
+         util-vserver/scripts/vserver-build.apt-rpm,
+         util-vserver/scripts/vserver-build.functions,
+         util-vserver/scripts/vserver-build.functions.apt,
+         util-vserver/scripts/vserver-build.functions.rpm,
+         util-vserver/scripts/vserver-setup.functions: initial checkin
 
-2003-10-17 23:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 18:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * sysv/vservers.subst:
+       * util-vserver/scripts/Makefile-files: - removed vserver-init file
+         - added vserver-build* files
 
-       stop vservers only, when they do not have the ONSTOP flag
+2003-10-20 18:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 23:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: - added
+         PKGSTATEDIR, RUNDIR, LIB_VSERVER_SETUP_FUNCTIONS,
+         LIB_VSERVER_BUILD_FUNCTIONS* and _VSERVER variables
+         - added WORKAROUND_APT_DBPATH variable
 
-       * sysv/Makefile-files:
+2003-10-20 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed some noise from the substrule
+       * util-vserver/scripts/vserver-build: implemented it...
 
-2003-10-17 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 18:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files:
+       * util-vserver/scripts/vserver: added '--sync' and '--verbose'
+         options
+         sync the 'stop' stage on restart
+         fixed invocation of 'vserver-build'
 
-       added chroot-cat
+2003-10-20 18:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vapt-get, util-vserver/scripts/vrpm: made it
+         more mature by using arrays for the vserver-list
 
-       * src/chroot-cat.c:
+2003-10-20 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/vserver.functions: - moved
+         getFileValue/getFileArray from 'vserver.functions' into
+         'functions'
 
-2003-10-17 22:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-20 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/wrappers.h:
+       * util-vserver/scripts/functions: - moved getFileValue/getFileArray
+         from 'vserver.functions' into 'functions'
+         - implemented '/<path>' style vserver specification
+         - made getAllVservers more mature by using arrays
 
-       Ereadlink(), Esymlink(): added
+2003-10-20 17:57  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 22:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-init: moved 'vserver-init'
+         functionality into the more general vserver-build*
+         files
 
-       * src/wrappers-vserver.h:
+2003-10-18 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added Evc_X_getctx() wrapper
+       * util-vserver/configure.ac: gnit'ified
 
-2003-10-17 22:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-18 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-mount.c:
+       * util-vserver/src, util-vserver/src/.cvsignore: added pipe-sync
 
-       - removed '#include <compat.h>'; it's now in global <config.h>
-       - fixed problems with dietlibc's strtok_r() implementation
-       - do not set '-o <...>' mount-flag when 'defaults' is the only flag
+2003-10-18 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 22:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: gnit'ified
+         added pipe-sync
 
-       * src/save_ctxinfo.c:
+2003-10-18 02:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - removed '#include <compat.h>'; it's now in global <config.h>
-       - use "wrappers.h" functions
-       - implemented reverse-symlink file
+       * util-vserver/src/chroot-cat.c: minor cosmetical changes
 
-2003-10-17 22:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-18 02:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getctx.c, getinitpid.c, getprocentry-legacy.c:
+       * util-vserver/src/chroot-rm.c: use "wrapper.h"
 
-       - moved pid==0 handling into getprocentry-legacy.c and access /proc/self
-         instead of /proc/<self-pid> there; this solves problems when 'fakeinit'
-         flag is used
-       - removed '#include <compat.h>'; it's now in global <config.h>
+2003-10-18 02:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 02:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/wrappers.h: Eunlink(): added
 
-       * scripts/Makefile-files:
+2003-10-18 02:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added vserver-legacy and vserver.suexec
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         $_VSERVER_BUILD
 
-2003-10-17 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-18 02:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/ctx-kill.c:
+       * util-vserver/scripts/vserver: added help/version
+         added 'build' option
+         made 'running' silently
 
-       kill init-pid
-       more sanity checks
+2003-10-18 02:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver-build, util-vserver/src/pipe-sync.c:
+         initial checkin
 
-       * scripts/vserver.stop:
+2003-10-18 02:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added support for kill-signal sequence
+       * util-vserver/Makefile.am: - gnit'ified it
 
-2003-10-17 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-18 02:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.functions:
+       * util-vserver/scripts/Makefile-files: - gnit'ified it
+         - added vserver-build
 
-       added getEnterShell() function
-       added support for kill-signal sequence
+2003-10-18 02:22  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 02:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/Makefile-files: gnit'ified it
 
-       * scripts/vserver:
+2003-10-18 01:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added legacy support
-       - added support for suexec,restart,condrestart,exec,chkconfig,enter,running
-         and status
+       * util-vserver/lib/checkversion.c: restored compatibility for case
+         when old syscall interface uses the
+         new syscall-number (merged from SYSCALL_SWITCH branch)
 
-2003-10-17 02:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 21:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/configure.ac: add '#include "compat.h'" at bottom of
+         config.h
+         version 0.23.191
 
-       added _CTX_KILL, _FILETIME and _VSERVER_LEGACY
+2003-10-17 21:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-17 02:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: cleaned up pathsubst rule
 
-       * scripts/: vserver-legacy, vserver.suexec:
+2003-10-17 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         _CHROOT_CAT
 
-2003-10-16 17:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/.cvsignore:
+       * util-vserver/scripts/vserver-init: create link to reverse
+         ctx->vserver mapping
 
-       added getinitpid
+2003-10-17 21:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 17:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.functions: - removed '#! /bin/bash'
+         header
+         - added separate CHCONTEXT_DISCONNECT option
+         - use default runlevels only when sysv init-style is used
+         - create/empty mtab file before mounting the vserver
 
-       * lib/Makefile-files:
+2003-10-17 21:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added int2str.c
+       * util-vserver/scripts/vserver.start: - removed '#! /bin/bash'
+         header
+         - added separate CHCONTEXT_DISCONNECT option
 
-2003-10-16 17:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 21:03  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/internal.h:
+       * util-vserver/scripts/vserver.stop: - removed '#! /bin/bash'
+         header
+         - disable interfaces when vserver is not running
 
-       added utilvserver_int2str()
+2003-10-17 21:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 17:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.suexec: removed '#! /bin/bash'
+         header
 
-       * lib/int2str.c, tests/getinitpid.c:
+2003-10-17 21:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/src, util-vserver/src/.cvsignore: added chroot-cat
 
-2003-10-16 17:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 21:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/getctx.c:
+       * util-vserver/sysv/vservers.subst: stop vservers only, when they
+         do not have the ONSTOP flag
 
-       removed all traces of <stdio.h>
+2003-10-17 21:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 17:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/sysv/Makefile-files: removed some noise from the
+         substrule
 
-       * tests/Makefile-files:
+2003-10-17 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       generalized building with dietlibc
-       added getinitpid
+       * util-vserver/src/Makefile-files: added chroot-cat
 
-2003-10-16 16:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am, src/Makefile-files:
+       * util-vserver/src/chroot-cat.c: initial checkin
 
-       generalized building with dietlibc
+2003-10-17 20:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 16:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/wrappers.h: Ereadlink(), Esymlink(): added
 
-       * lib/Makefile-files:
+2003-10-17 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added getinitpid* files
-       added getprocentry* files
-       added utils-legacy.h
+       * util-vserver/src/wrappers-vserver.h: - added Evc_X_getctx()
+         wrapper
 
-2003-10-16 16:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 20:30  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getinitpid-compat.hc, getinitpid-legacy.hc, getinitpid.c,
-         getprocentry-legacy.c, utils-legacy.h:
+       * util-vserver/src/secure-mount.c: - removed '#include <compat.h>';
+         it's now in global <config.h>
+         - fixed problems with dietlibc's strtok_r() implementation
+         - do not set '-o <...>' mount-flag when 'defaults' is the only
+         flag
 
-       initial checkin
+2003-10-17 20:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 16:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/save_ctxinfo.c: - removed '#include <compat.h>';
+         it's now in global <config.h>
+         - use "wrappers.h" functions
+         - implemented reverse-symlink file
 
-       * src/save_ctxinfo.c, tests/getctx.c:
+2003-10-17 20:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       s!vc_X_getcctx()!vc_X_getctx(0)!
+       * util-vserver/lib/getctx.c, util-vserver/lib/getinitpid.c,
+         util-vserver/lib/getprocentry-legacy.c: - moved pid==0 handling
+         into getprocentry-legacy.c and access /proc/self
+         instead of /proc/<self-pid> there; this solves problems when
+         'fakeinit'
+         flag is used
+         - removed '#include <compat.h>'; it's now in global <config.h>
 
-2003-10-16 16:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 00:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/scripts/Makefile-files: added vserver-legacy and
+         vserver.suexec
 
-       added vc_X_getinitpid() pseudo-syscall
-       removed vc_X_getcctx() since it is obsoleted by vc_X_getctx(0) now
+2003-10-17 00:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 16:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/ctx-kill.c: kill init-pid
+         more sanity checks
 
-       * lib/syscall-legacy.hc:
+2003-10-17 00:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed all traces of <stdio.h> usage
+       * util-vserver/scripts/vserver.stop: added support for kill-signal
+         sequence
 
-2003-10-16 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 00:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/getctx.c:
+       * util-vserver/scripts/vserver.functions: added getEnterShell()
+         function
+         added support for kill-signal sequence
 
-       cleanups
-       recognize pid==0 as current pid
+2003-10-17 00:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: - added legacy support
+         - added support for
+         suexec,restart,condrestart,exec,chkconfig,enter,running
+         and status
 
-       * lib/getctx-legacy.hc:
+2003-10-17 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new utilvserver_getProcEntry() function
-       recall vc_X_getctx_legacy() automatically when buffersize was too small
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         _CTX_KILL, _FILETIME and _VSERVER_LEGACY
 
-2003-10-16 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-17 00:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/scripts/vserver-legacy,
+         util-vserver/scripts/vserver.suexec: initial checkin
 
-       added substitution for UMOUNT
+2003-10-16 15:10  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests, util-vserver/tests/.cvsignore: added
+         getinitpid
 
-       * src/.cvsignore:
+2003-10-16 15:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated
+       * util-vserver/lib/Makefile-files: added int2str.c
 
-2003-10-16 04:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/secure-mount.c:
+       * util-vserver/lib/internal.h: added utilvserver_int2str()
 
-       small signed/unsigned fixes for pedantic warning setups
-       give '--help' message out on fd 1 instead of 2
+2003-10-16 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/int2str.c, util-vserver/tests/getinitpid.c:
+         initial checkin
 
-       * src/save_ctxinfo.c:
+2003-10-16 15:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       small signed/unsigned fixes for pedantic warning setups
+       * util-vserver/tests/getctx.c: removed all traces of <stdio.h>
 
-2003-10-16 04:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 15:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/new-namespace.c:
+       * util-vserver/tests/Makefile-files: generalized building with
+         dietlibc
+         added getinitpid
 
-       use "wrappers.h"
-       use STACK_START macro
+2003-10-16 14:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am, util-vserver/src/Makefile-files:
+         generalized building with dietlibc
 
-       * src/listdevip.c:
+2003-10-16 14:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       small fixes for pedantic warning-setups
+       * util-vserver/lib/Makefile-files: added getinitpid* files
+         added getprocentry* files
+         added utils-legacy.h
 
-2003-10-16 04:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 14:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: ctx-kill.c, compat-pivot_root.h, secure-umount.c,
-         stack-start.h, wrappers-vserver.h, wrappers.h:
+       * util-vserver/lib/getinitpid-compat.hc,
+         util-vserver/lib/getinitpid-legacy.hc,
+         util-vserver/lib/getinitpid.c,
+         util-vserver/lib/getprocentry-legacy.c,
+         util-vserver/lib/utils-legacy.h: initial checkin
 
-       initial checkin
+2003-10-16 14:02  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/save_ctxinfo.c, util-vserver/tests/getctx.c:
+         s!vc_X_getcctx()!vc_X_getctx(0)!
 
-       * src/Makefile-files:
+2003-10-16 14:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added secure-umount + ctx-kill programs
-       added lots of headers
-       generalized dietlibc handling
+       * util-vserver/lib/vserver.h: added vc_X_getinitpid()
+         pseudo-syscall
+         removed vc_X_getcctx() since it is obsoleted by vc_X_getctx(0)
+         now
 
-2003-10-16 04:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 14:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vserver, vserver.functions, vserver.start,
-         vserver.stop, functions:
+       * util-vserver/lib/syscall-legacy.hc: removed all traces of
+         <stdio.h> usage
 
-       basic 'vserver ... start|stop' function should work now...
+2003-10-16 13:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getctx.c: cleanups
+         recognize pid==0 as current pid
 
-       * scripts/util-vserver-vars.pathsubst:
+2003-10-16 13:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added _SECURE_UMOUNT and _UMOUNT
+       * util-vserver/lib/getctx-legacy.hc: use new
+         utilvserver_getProcEntry() function
+         recall vc_X_getctx_legacy() automatically when buffersize was too
+         small
 
-2003-10-16 04:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/Makefile.am: added substitution for UMOUNT
 
-       added vservers.{functions,stop}
+2003-10-16 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src, util-vserver/src/.cvsignore: updated
 
-       * lib/vserver.h:
+2003-10-16 02:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added lots of S_CTX_INFO_* macros
+       * util-vserver/src/secure-mount.c: small signed/unsigned fixes for
+         pedantic warning setups
+         give '--help' message out on fd 1 instead of 2
 
-2003-10-16 04:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/src/save_ctxinfo.c: small signed/unsigned fixes for
+         pedantic warning setups
 
-       added missing 'lib/internal.h'
+2003-10-16 02:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/new-namespace.c: use "wrappers.h"
+         use STACK_START macro
 
-       * pathconfig.h.pathsubst:
+2003-10-16 02:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added UMOUNT_PROG macro
+       * util-vserver/src/listdevip.c: small fixes for pedantic
+         warning-setups
 
-2003-10-16 04:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/src/compat-pivot_root.h,
+         util-vserver/src/ctx-kill.c, util-vserver/src/secure-umount.c,
+         util-vserver/src/stack-start.h,
+         util-vserver/src/wrappers-vserver.h, util-vserver/src/wrappers.h:
+         initial checkin
 
-       added check for UMOUNT
-       added pedantic warn-flags
-       added template for HAVE_GROWING_STACK check
+2003-10-16 02:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-16 04:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files: added secure-umount + ctx-kill
+         programs
+         added lots of headers
+         generalized dietlibc handling
 
-       * compat.h:
+2003-10-16 02:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       do '#undef inline' for '--std=c99' dietlibc compilations
+       * util-vserver/scripts/functions, util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver.functions,
+         util-vserver/scripts/vserver.start,
+         util-vserver/scripts/vserver.stop: basic 'vserver ... start|stop'
+         function should work now...
 
-2003-10-14 20:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake.c:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         _SECURE_UMOUNT and _UMOUNT
 
-       use vc_init_internal_legacy() to initialize legacy-lib without parsing
-       /proc
+2003-10-16 02:34  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-14 20:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/Makefile-files: added
+         vservers.{functions,stop}
 
-       * lib/syscall-legacy.hc:
+2003-10-16 02:33  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added inofficial vc_init_internal_legacy() function
+       * util-vserver/lib/vserver.h: added lots of S_CTX_INFO_* macros
 
-2003-10-14 20:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:32  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getctx-legacy.hc, syscall.c:
+       * util-vserver/lib/Makefile-files: added missing 'lib/internal.h'
 
-       include "internal.h"
+2003-10-16 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-14 20:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: added UMOUNT_PROG macro
 
-       * lib/: internal.h, vserver-internal.h:
+2003-10-16 02:31  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       moved declarations of general functions from vserver-internal.h into
-       internal.h
+       * util-vserver/configure.ac: added check for UMOUNT
+         added pedantic warn-flags
+         added template for HAVE_GROWING_STACK check
 
-2003-10-14 18:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-16 02:29  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/: getversion-internal.hc, int2str.c[DEAD], internal.h[DEAD],
-         syscall.c:
+       * util-vserver/compat.h: do '#undef inline' for '--std=c99'
+         dietlibc compilations
 
-       Merged with SYSCALL_SWITCH branch (sswitch_merge tag)
+2003-10-14 18:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-14 18:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: use vc_init_internal_legacy() to
+         initialize legacy-lib without parsing
+         /proc
 
-       * lib/vserver.h:
+2003-10-14 18:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       fixed vc_X_getcctx()
+       * util-vserver/lib/syscall-legacy.hc: added inofficial
+         vc_init_internal_legacy() function
 
-2003-10-14 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-14 18:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/Makefile-files, src/rpm-fake.c, src/save_ctxinfo.c,
-         tests/getctx.c:
+       * util-vserver/lib/getctx-legacy.hc, util-vserver/lib/syscall.c:
+         include "internal.h"
 
-       Merged with SYSCALL_SWITCH branch (sswitch_merge tag)
+2003-10-14 18:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-14 17:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/internal.h, util-vserver/lib/vserver-internal.h:
+         moved declarations of general functions from vserver-internal.h
+         into
+         internal.h
 
-       * .cvsignore, Makefile.am, NEWS, compat.h, configure.ac,
-         util-vserver.spec.in, lib/Makefile-files, lib/checkversion.c,
-         lib/getctx-compat.hc, lib/getctx-legacy.hc, lib/getctx.c,
-         lib/getversion-internal.hc, lib/getversion.c,
-         lib/safechroot-internal.hc, lib/syscall-compat.hc,
-         lib/syscall-legacy.hc, lib/syscall.c, lib/uint2str.c,
-         lib/virtual.h, lib/vserver-internal.h, lib/vserver.h,
-         scripts/.cvsignore, src/Makefile-files, src/capchroot.c,
-         src/chbind.c, src/chcontext.c, src/rebootmgr.c, src/reducecap.c,
-         src/vserver-stat.c, sysv/Makefile-files, tests/chrootsafe.cc:
+2003-10-14 16:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       Merged with SYSCALL_SWITCH branch (sswitch_merge tag)
+       * util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/int2str.c, util-vserver/lib/internal.h,
+         util-vserver/lib/syscall.c: Merged with SYSCALL_SWITCH branch
+         (sswitch_merge tag)
 
-2003-10-13 22:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-14 16:09  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * configure.ac:
+       * util-vserver/lib/vserver.h: fixed vc_X_getcctx()
 
-       added rcs2log support
-       added checks for MS_MOVE and ctx_t
-       define UTMP_GID as 22 for now
+2003-10-14 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 22:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/Makefile-files, util-vserver/src/rpm-fake.c,
+         util-vserver/src/save_ctxinfo.c, util-vserver/tests/getctx.c:
+         Merged with SYSCALL_SWITCH branch (sswitch_merge tag)
 
-       * Makefile.am:
+2003-10-14 15:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added $(lib_XHDRS) and compat.h
-       create /var/run/vservers on 'make install'
-       use m4/pkgconfig.am
+       * util-vserver, util-vserver/.cvsignore, util-vserver/Makefile.am,
+         util-vserver/NEWS, util-vserver/compat.h,
+         util-vserver/configure.ac, util-vserver/lib/Makefile-files,
+         util-vserver/lib/checkversion.c,
+         util-vserver/lib/getctx-compat.hc,
+         util-vserver/lib/getctx-legacy.hc, util-vserver/lib/getctx.c,
+         util-vserver/lib/getversion-internal.hc,
+         util-vserver/lib/getversion.c,
+         util-vserver/lib/safechroot-internal.hc,
+         util-vserver/lib/syscall-compat.hc,
+         util-vserver/lib/syscall-legacy.hc, util-vserver/lib/syscall.c,
+         util-vserver/lib/uint2str.c, util-vserver/lib/virtual.h,
+         util-vserver/lib/vserver-internal.h, util-vserver/lib/vserver.h,
+         util-vserver/scripts, util-vserver/scripts/.cvsignore,
+         util-vserver/src/Makefile-files, util-vserver/src/capchroot.c,
+         util-vserver/src/chbind.c, util-vserver/src/chcontext.c,
+         util-vserver/src/rebootmgr.c, util-vserver/src/reducecap.c,
+         util-vserver/src/vserver-stat.c,
+         util-vserver/sysv/Makefile-files,
+         util-vserver/tests/chrootsafe.cc,
+         util-vserver/util-vserver.spec.in: Merged with SYSCALL_SWITCH
+         branch (sswitch_merge tag)
 
-2003-10-13 21:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-13 20:21  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/fakerunlevel.c:
+       * util-vserver/configure.ac: added rcs2log support
+         added checks for MS_MOVE and ctx_t
+         define UTMP_GID as 22 for now
 
-       made it secure (go into chroot before accessing file)
-       dietlibc'ized
-       other cleanups
+2003-10-13 20:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: added $(lib_XHDRS) and compat.h
+         create /var/run/vservers on 'make install'
+         use m4/pkgconfig.am
 
-       * src/Makefile-files:
+2003-10-13 19:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added chroot-rm
-       - compile fakerunlevel with dietlibc
+       * util-vserver/src/fakerunlevel.c: made it secure (go into chroot
+         before accessing file)
+         dietlibc'ized
+         other cleanups
 
-2003-10-13 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-13 19:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/src/Makefile-files: - added chroot-rm
+         - compile fakerunlevel with dietlibc
 
-       made it working...
+2003-10-13 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver.start: made it working...
 
-       * scripts/vserver-init:
+2003-10-13 19:53  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - removed unused variables
-       - added lockfile-creation
-       - create symlink from /var/lib/rpm to $rpmdb_path (until all apt-versions
+       * util-vserver/scripts/vserver-init: - removed unused variables
+         - added lockfile-creation
+         - create symlink from /var/lib/rpm to $rpmdb_path (until all
+         apt-versions
          are having the %_dbpath patch)
 
-2003-10-13 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added variables for _CHROOT_RM and _FAKE_RUNLEVEL
+2003-10-13 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added variables
+         for _CHROOT_RM and _FAKE_RUNLEVEL
 
-       * scripts/functions:
+2003-10-13 19:51  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       use new secure-mount syntax
+       * util-vserver/scripts/functions: use new secure-mount syntax
 
-2003-10-13 21:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-13 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/scripts/Makefile-files: added statements to install
+         vserver.start
 
-       added statements to install vserver.start
+2003-10-13 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/m4/pkgconfig.am: initial checkin
 
-       * m4/pkgconfig.am:
+2003-10-13 19:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/m4/changelog.am: conditionalize RCS2LOG variant also
 
-2003-10-13 21:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-13 19:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/changelog.am:
+       * util-vserver/lib/vserver.h: removed ctx_t typedef; this must be
+         now done by each package
+         inidividually. For util-vserver, the declaration is in compat.h
+         and detection in configure.ac
 
-       conditionalize RCS2LOG variant also
+2003-10-13 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib, util-vserver/lib/.cvsignore, util-vserver/src,
+         util-vserver/src/.cvsignore: updated
 
-       * lib/vserver.h:
+2003-10-13 19:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed ctx_t typedef; this must be now done by each package
-       inidividually. For util-vserver, the declaration is in compat.h
-       and detection in configure.ac
+       * util-vserver/lib/util-vserver.pc.subst,
+         util-vserver/src/chroot-rm.c: initial checkin
 
-2003-10-13 21:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-13 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/.cvsignore, src/.cvsignore:
+       * util-vserver/compat.h, util-vserver/src/compat.h: moved compat.h
+         from src/ to toplevel-dir
 
-       updated
+2003-10-13 19:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/lib/getctx.c, util-vserver/lib/syscall.c,
+         util-vserver/src/capchroot.c, util-vserver/src/chbind.c,
+         util-vserver/src/chcontext.c, util-vserver/src/reducecap.c,
+         util-vserver/src/save_ctxinfo.c, util-vserver/src/secure-mount.c,
+         util-vserver/src/setctxlimit.c, util-vserver/tests/chrootsafe.cc,
+         util-vserver/tests/getctx.c: include "compat.h"
 
-       * lib/util-vserver.pc.subst, src/chroot-rm.c:
+2003-10-13 19:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/lib/Makefile-files: added PGKCONFIG_FILES
 
-2003-10-13 21:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * compat.h, src/compat.h[DEAD]:
+       * util-vserver/src/compat.h: initial checkin
 
-       moved compat.h from src/ to toplevel-dir
+2003-10-09 23:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-13 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac: use absolute default-path for
+         /bin/mount since it is required by
+         execv() in secure-mount
 
-       * lib/getctx.c, lib/syscall.c, src/capchroot.c, src/chbind.c,
-         src/chcontext.c, src/reducecap.c, src/save_ctxinfo.c,
-         src/secure-mount.c, src/setctxlimit.c, tests/chrootsafe.cc,
-         tests/getctx.c:
+2003-10-09 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       include "compat.h"
+       * util-vserver/pathconfig.h.pathsubst: added MOUNT_PROG
 
-2003-10-13 21:39  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 23:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/Makefile-files:
+       * util-vserver/tests/getctx.c: added '#include <stdlib.h>'
 
-       added PGKCONFIG_FILES
+2003-10-09 23:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-10 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/compat.h:
-
-       initial checkin
-
-2003-10-10 01:07  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       use absolute default-path for /bin/mount since it is required by
-       execv() in secure-mount
-
-2003-10-10 01:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * pathconfig.h.pathsubst:
-
-       added MOUNT_PROG
-
-2003-10-10 01:06  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * tests/getctx.c:
-
-       added '#include <stdlib.h>'
-
-2003-10-10 01:05  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/util.h:
-
-       - added *_cast macros
-       - mark writeStr() as __attribute__((__unused__)) to prevent compiler
+       * util-vserver/src/util.h: - added *_cast macros
+         - mark writeStr() as __attribute__((__unused__)) to prevent
+         compiler
          warnings
-       - fixed off-by-one error in WRITE_MSG
-
-2003-10-10 01:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/secure-mount.c:
+         - fixed off-by-one error in WRITE_MSG
 
-       rewrote it completely; it emulates now nearly the usual mount(8)
-       functionality but provides the enhanced '--secure', '--chdir ...',
-       ... options which are needed for vservers
+2003-10-09 23:04  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/secure-mount.c: rewrote it completely; it
+         emulates now nearly the usual mount(8)
+         functionality but provides the enhanced '--secure', '--chdir
+         ...',
+         ... options which are needed for vservers
 
-       * doc/cfg.txt:
+2003-10-09 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added documentation about <interfaces> and basic vserver-variables
+       * util-vserver/doc/cfg.txt: added documentation about <interfaces>
+         and basic vserver-variables
 
-2003-10-09 03:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 01:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vserver.start:
+       * util-vserver/scripts/vserver.start: initial checkin
 
-       initial checkin
+2003-10-09 01:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vserver: complete rewrite
 
-       * scripts/vserver:
+2003-10-09 01:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       complete rewrite
+       * util-vserver/Makefile.am: added some standard-tools to the
+         %.pathsubst rules
 
-2003-10-09 03:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 01:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/configure.ac: added checks for some standard-tools
 
-       added some standard-tools to the %.pathsubst rules
+2003-10-09 01:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/tests, util-vserver/tests/.cvsignore,
+         util-vserver/tests/Makefile-files: added getctx
 
-       * configure.ac:
+2003-10-09 01:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added checks for some standard-tools
+       * util-vserver/src/Makefile-files: added save_ctxinfo and
+         mask2prefix
 
-2003-10-09 03:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 01:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/Makefile-files:
+       * util-vserver/src, util-vserver/src/.cvsignore: added mask2prefix
+         and save_ctxinfo
 
-       added getctx
+2003-10-09 01:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:45  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added CVS tags
 
-       * src/Makefile-files:
+2003-10-09 01:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added save_ctxinfo and mask2prefix
+       * util-vserver/lib/getctx.c, util-vserver/lib/int2str.c,
+         util-vserver/lib/internal.h, util-vserver/src/mask2prefix.c,
+         util-vserver/src/save_ctxinfo.c, util-vserver/tests/getctx.c:
+         initial checkin
 
-2003-10-09 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 01:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * tests/.cvsignore:
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added
+         _CAPCHROOT, _CHBIND, _CHCONTEXT, _MASK2PREFIX, _SAVE_S_CONTEXT,
+         _SAVE_CTXINFO, _VPS and standard-tool macros
 
-       added getctx
+2003-10-09 01:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions: added isVserverRunning function
 
-       * src/.cvsignore:
+2003-10-09 01:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added mask2prefix and save_ctxinfo
+       * util-vserver/lib/vserver.h: added CTX_NOCTX macro
+         added getctx()/getcctx() functions
+         added ctx_t datatype
 
-2003-10-09 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-09 01:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/lib/Makefile-files: added getctx and int2str +
+         helper headers
 
-       added CVS tags
+2003-10-06 22:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:41  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/distrib/Makefile.am: added install-rules for the
+         distributions
 
-       * src/mask2prefix.c, src/save_ctxinfo.c, tests/getctx.c:
+2003-10-06 22:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       initial checkin
+       * util-vserver/distrib/rh9/apt,
+         util-vserver/distrib/rh9/apt/rpmpriorities,
+         util-vserver/distrib/rh9/apt/sources.list: initial checkin
 
-2003-10-09 03:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-06 19:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/util-vserver-vars.pathsubst:
+       * util-vserver/util-vserver.spec.in: - fixed Source0 URL
+         - added -sysv and -devel subpackages
+         - moved /etc/init.d to %_initrddir
 
-       added _CAPCHROOT, _CHBIND, _CHCONTEXT, _MASK2PREFIX, _SAVE_S_CONTEXT,
-       _SAVE_CTXINFO, _VPS and standard-tool macros
+2003-10-06 19:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/Makefile.am: - added more pathsubst variables
+         - added $(scripts_DTA)
 
-       * scripts/functions:
+2003-10-06 19:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added isVserverRunning function
+       * util-vserver/distrib/defaults/rpm/macros: added notes regarding
+         %_install_langs and added some other "main"-languages
 
-2003-10-09 03:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-06 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * lib/vserver.h:
+       * util-vserver/doc/cfg.txt: added apps/vunify documentation
 
-       added CTX_NOCTX macro
-       added getctx()/getcctx() functions
-       added ctx_t datatype
+2003-10-06 19:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-09 03:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/Makefile-files:
-
-       added getctx and int2str + helper headers
-
-2003-10-09 03:36  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * lib/: getctx.c, int2str.c, internal.h:
-
-       initial checkin
-
-2003-10-07 00:38  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/Makefile.am:
-
-       added install-rules for the distributions
-
-2003-10-07 00:37  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/rh9/apt/: rpmpriorities, sources.list:
-
-       initial checkin
-
-2003-10-06 21:49  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * util-vserver.spec.in:
-
-       - fixed Source0 URL
-       - added -sysv and -devel subpackages
-       - moved /etc/init.d to %_initrddir
-
-2003-10-06 21:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       - added more pathsubst variables
-       - added $(scripts_DTA)
-
-2003-10-06 21:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/defaults/rpm/macros:
-
-       added notes regarding %_install_langs and added some other "main"-languages
-
-2003-10-06 21:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/cfg.txt:
-
-       added apps/vunify documentation
-
-2003-10-06 21:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vserver-init:
-
-       - added metadata to track if root-/pkgcfgbase-links shall be made
+       * util-vserver/scripts/vserver-init: - added metadata to track if
+         root-/pkgcfgbase-links shall be made
          relative
-       - added gpg-key import
-       - create dev/pts directory
-
-2003-10-06 21:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vapt-get:
-
-       improved '--help'/'--version' messages
-
-2003-10-06 21:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.pathsubst:
-
-       added PACKAGE_* variables
-       made DISTRIBDIR "$PKGLIBDIR/distributions" (instead of "$PKGLIBDIR")
-       added _VRPM
-       reordered the _* variables alphabetically
+         - added gpg-key import
+         - create dev/pts directory
 
-2003-10-06 21:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-06 19:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/Makefile-files:
+       * util-vserver/scripts/vapt-get: improved '--help'/'--version'
+         messages
 
-       installed missing files (functions, vapt-get*, vrpm*)
+2003-10-06 19:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-02 17:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/util-vserver-vars.pathsubst: added PACKAGE_*
+         variables
+         made DISTRIBDIR "$PKGLIBDIR/distributions" (instead of
+         "$PKGLIBDIR")
+         added _VRPM
+         reordered the _* variables alphabetically
 
-       * src/secure-mount.c:
+2003-10-06 19:40  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       rewrote it completely
+       * util-vserver/scripts/Makefile-files: installed missing files
+         (functions, vapt-get*, vrpm*)
 
-2003-10-02 17:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-02 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rpm-fake.c:
+       * util-vserver/src/secure-mount.c: rewrote it completely
 
-       - set default-signal handler for SIGCHLD
-       - minor cosmetical cleanups
-       - use wait4(2) instead of waitpid(2)
+2003-10-02 15:35  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-02 17:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/rpm-fake.c: - set default-signal handler for
+         SIGCHLD
+         - minor cosmetical cleanups
+         - use wait4(2) instead of waitpid(2)
 
-       * scripts/vserver-init:
+2003-10-02 15:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - renamed 'makeInode' to 'makeDevEntry' which is more flexible
-       - added workaround for
+       * util-vserver/scripts/vserver-init: - renamed 'makeInode' to
+         'makeDevEntry' which is more flexible
+         - added workaround for
          https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=106057
-       - content of *all* rpm and apt template directories will be copied now
-       - use '-y' flag on 'apt-get' invocation
+         - content of *all* rpm and apt template directories will be
+         copied now
+         - use '-y' flag on 'apt-get' invocation
 
-2003-10-02 17:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-02 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/vrpm-preload:
+       * util-vserver/scripts/vapt-get, util-vserver/scripts/vrpm,
+         util-vserver/scripts/vrpm-worker: minor cosmetical cleanups
 
-       minor cosmetical cleanups
-       added copyright
+2003-10-02 15:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-02 17:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/vrpm-preload: minor cosmetical cleanups
+         added copyright
 
-       * scripts/vapt-get-worker:
+2003-10-02 15:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       minor cosmetical cleanups
-       removed debug code
+       * util-vserver/scripts/vapt-get-worker: minor cosmetical cleanups
+         removed debug code
 
-2003-10-02 17:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-02 15:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * scripts/: vapt-get, vrpm, vrpm-worker:
-
-       minor cosmetical cleanups
-
-2003-10-02 17:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: functions, util-vserver-vars.pathsubst:
-
-       added workaround for https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=106057
-
-2003-10-01 12:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * .cvsignore:
-
-       updated to reflect changes in CVSROOT/cvsignores
-
-2003-10-01 12:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/scripts/functions,
+         util-vserver/scripts/util-vserver-vars.pathsubst: added
+         workaround for
+         https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=106057
 
-       * man/Makefile-files:
+2003-10-01 10:48  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       removed last traces of newvserver
+       * util-vserver, util-vserver/.cvsignore: updated to reflect changes
+         in CVSROOT/cvsignores
 
-2003-10-01 12:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-01 10:44  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * m4/changelog.am, configure.ac:
+       * util-vserver/man/Makefile-files: removed last traces of
+         newvserver
 
-       added cvs2cl support
+2003-10-01 10:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-01 12:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/configure.ac, util-vserver/m4/changelog.am: added
+         cvs2cl support
 
-       * scripts/Makefile-files:
+2003-10-01 10:43  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - changed pathsubst rules so that files will not be updated on every
+       * util-vserver/scripts/Makefile-files: - changed pathsubst rules so
+         that files will not be updated on every
          'make' anymore
 
-2003-10-01 12:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
+2003-10-01 10:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - added cvs2cl support
-       - changed pathsubst rules so that files will not be updated on every
+       * util-vserver/Makefile.am: - added cvs2cl support
+         - changed pathsubst rules so that files will not be updated on
+         every
          'make' anymore
 
-2003-10-01 02:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/rpm-fake.c:
-
-       explicitly cast result of dlsym() to prevent compiler warnings
-
-2003-10-01 02:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/new-namespace.c:
-
-       small fix in error-message
-
-2003-10-01 02:47  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-01 00:55  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/rebootmgr.c:
+       * util-vserver/src/rpm-fake.c: explicitly cast result of dlsym() to
+         prevent compiler warnings
 
-       fixed small size_t vs. socklen_t type-clash
+2003-10-01 00:54  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-01 02:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/new-namespace.c: small fix in error-message
 
-       * Makefile.am, configure.ac, .cvsignore:
+2003-10-01 00:50  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed vserver.spec.in to util-vserver.spec.in
+       * util-vserver/src/rebootmgr.c: fixed small size_t vs. socklen_t
+         type-clash
 
-2003-10-01 02:18  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-10-01 00:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * newvserver.defaults[DEAD], man/newvserver.8[DEAD]:
+       * util-vserver, util-vserver/.cvsignore, util-vserver/Makefile.am,
+         util-vserver/configure.ac: renamed vserver.spec.in to
+         util-vserver.spec.in
 
-       removed since linuxconf support was dropped
+2003-10-01 00:20  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-10-01 01:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/man/newvserver.8, util-vserver/newvserver.defaults:
+         removed since linuxconf support was dropped
 
-       * util-vserver.spec.in, vserver.spec.in[DEAD]:
+2003-09-30 23:52  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       renamed vserver.spec.in to util-vserver.spec.in and updated it
+       * util-vserver/util-vserver.spec.in, util-vserver/vserver.spec.in:
+         renamed vserver.spec.in to util-vserver.spec.in and updated it
 
-2003-09-30 22:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-09-30 20:46  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * src/: new-namespace.c, secure-mount.c:
+       * util-vserver/src/new-namespace.c,
+         util-vserver/src/secure-mount.c: modified showVersion() to show
+         current version instead of an hardcoded
+         value
 
-       modified showVersion() to show current version instead of an hardcoded
-       value
+2003-09-30 20:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-09-30 22:28  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver, util-vserver/.cvsignore: updated
 
-       * .cvsignore:
+2003-09-30 20:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       updated
+       * util-vserver/Makefile.am: added general rule for %.pathsubst
+         files
+         updated file-lists
 
-2003-09-30 22:27  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-09-30 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * Makefile.am:
+       * util-vserver/configure.ac: added distrib/Makefile
 
-       added general rule for %.pathsubst files
-       updated file-lists
+2003-09-30 20:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-09-30 22:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/pathconfig.h.pathsubst: initial checkin
 
-       * configure.ac:
+2003-09-30 20:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       added distrib/Makefile
-
-2003-09-30 22:26  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * pathconfig.h.pathsubst:
-
-       initial checkin
-
-2003-09-30 22:24  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/Makefile-files:
-
-       - renamed util-vserver-vars.subst to util-vserver-vars.pathsubst; this
+       * util-vserver/scripts/Makefile-files: - renamed
+         util-vserver-vars.subst to util-vserver-vars.pathsubst; this
          makes it easier to use general makefile-rules
-       - removed the old rules for util-vserver-vars
-
-2003-09-30 22:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/: util-vserver-vars.pathsubst,
-         util-vserver-vars.subst[DEAD]:
+         - removed the old rules for util-vserver-vars
 
-       renamed util-vserver-vars.subst to util-vserver-vars.pathsubst; this
-       makes it easier to use general makefile-rules
+2003-09-30 20:23  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-09-30 22:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: capchroot.c, chbind.c, chcontext.c, fakerunlevel.c,
-         filetime.c, ifspec.c, rebootmgr.c, reducecap.c, setctxlimit.c,
-         showperm.c, vdu.c, vreboot.c, vserver-stat.c:
+       * util-vserver/scripts/util-vserver-vars.pathsubst,
+         util-vserver/scripts/util-vserver-vars.subst: renamed
+         util-vserver-vars.subst to util-vserver-vars.pathsubst; this
+         makes it easier to use general makefile-rules
 
-       include <config.h>
+2003-09-30 20:16  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-09-30 22:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/capchroot.c, util-vserver/src/chbind.c,
+         util-vserver/src/chcontext.c, util-vserver/src/fakerunlevel.c,
+         util-vserver/src/filetime.c, util-vserver/src/ifspec.c,
+         util-vserver/src/rebootmgr.c, util-vserver/src/reducecap.c,
+         util-vserver/src/setctxlimit.c, util-vserver/src/showperm.c,
+         util-vserver/src/vdu.c, util-vserver/src/vreboot.c,
+         util-vserver/src/vserver-stat.c: include <config.h>
 
-       * src/: vbuild.cc, vcheck.cc, vfiles.cc, vunify.cc, vutil.cc:
+2003-09-30 20:13  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - renamed 'PACKAGE' class to 'Package' to avoid naming-clashes with
+       * util-vserver/src/vbuild.cc, util-vserver/src/vcheck.cc,
+         util-vserver/src/vfiles.cc, util-vserver/src/vunify.cc,
+         util-vserver/src/vutil.cc: - renamed 'PACKAGE' class to 'Package'
+         to avoid naming-clashes with
          the standard autoconf macro
-       - include <config.h>
-
-2003-09-30 22:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/: vutil.h, vutil.p:
+         - include <config.h>
 
-       renamed 'PACKAGE' class to 'Package' to avoid naming-clashes with the
-       standard autoconf macro
+2003-09-30 20:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-2003-09-30 21:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+       * util-vserver/src/vutil.h, util-vserver/src/vutil.p: renamed
+         'PACKAGE' class to 'Package' to avoid naming-clashes with the
+         standard autoconf macro
 
-       * src/rpm-fake.c:
+2003-09-30 19:25  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       - removed debug-output
-       - do not fail on umount() errors; CLONE_NEWNS has unexpected/strange
+       * util-vserver/src/rpm-fake.c: - removed debug-output
+         - do not fail on umount() errors; CLONE_NEWNS has
+         unexpected/strange
          behavior in combination with chroot() so that mountpoints within
          chroots *can* disappear automatically
 
-2003-09-30 21:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       use recursive make for distrib: added it to SUBDIRS and remove old
-       $(distrib_*) variables
-
-2003-09-30 20:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/.cvsignore:
-
-       initial checkin
-
-2003-09-30 20:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * distrib/: Makefile-files[DEAD], Makefile.am,
-         install-mdk8.2[DEAD], install-post.sh[DEAD],
-         install-pre.sh[DEAD], install-rh7.2[DEAD], install-rh7.3[DEAD],
-         install-rh8.0[DEAD], install-rh9.0[DEAD], mdk8.2-minimum[DEAD],
-         rh7.3-minimum[DEAD], rh8.0-minimum[DEAD], rh9.0-minimum[DEAD],
-         sample.conf[DEAD], sample.sh[DEAD], defaults/devs,
-         defaults/rpm/macros, rh9/pkgs/01, rh9/pkgs/02:
-
-       Replaced the install-* and *-minimum files with configuration files
-       for the new vserver-init tool in the scripts directory. To ease the
-       'install:'-make target, it is necessarily to use recursive make for
-       this directory.
-
-2003-09-30 18:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * configure.ac:
-
-       added dietlibc support
-       version 0.23.89.1
-
-2003-09-30 18:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * .cvsignore:
-
-       added Makefile
-
-2003-09-30 17:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/.cvsignore, scripts/functions, scripts/vapt-get,
-         scripts/vapt-get-worker, scripts/vrpm-preload,
-         scripts/vrpm-worker, scripts/vserver-init, src/.cvsignore,
-         src/new-namespace.c, src/rpm-fake.c, src/secure-mount.c,
-         src/util.h, lib/.cvsignore, sysv/.cvsignore, tests/.cvsignore:
-
-       initial checkin
-
-2003-09-30 17:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * Makefile.am:
-
-       updated to new -devel branch
-       added dietlibc support
-
-2003-09-30 17:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * src/Makefile-files:
-
-       added secure-mount, new-namespace and rpm-fake.so rules
-
-2003-09-30 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/vrpm:
-
-       replaced with new version
-
-2003-09-30 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/util-vserver-vars.subst:
-
-       added more variables
-
-2003-09-30 17:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * scripts/Makefile-files:
-
-       added more substitutions
-
-2003-09-30 14:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-
-       * doc/cfg.txt:
-
-       initial checkin
-
-2003-09-30 00:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+2003-09-30 19:12  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 
-       * doc/intro.txt, lib/Makefile-files, lib/syscall.c, lib/vserver.h,
-         m4/changelog.am, m4/ensc_cflags.m4, m4/gpgsig.am, m4/validate.am,
-         man/Makefile-files, man/chbind.8, man/chcontext.8,
-         man/distrib-info.8, man/newvserver.8, man/rebootmgr.8,
-         man/reducecap.8, man/vps.8, man/vpstree.8, man/vrpm.8,
-         man/vserver-copy.8, man/vserver-stat.8, man/vserver.8,
-         man/vtop.8, scripts/Makefile-files, scripts/distrib-info,
-         scripts/rootshell, scripts/save_s_context,
-         scripts/util-vserver-vars.subst, scripts/vkill, scripts/vprofile,
-         scripts/vps, scripts/vpstree, scripts/vrpm, scripts/vserver,
-         scripts/vserver-copy, scripts/vserverkillall,
-         scripts/vservers.grabinfo.sh, scripts/vsysvwrapper, scripts/vtop,
-         scripts/vunify.old.sh, src/Makefile-files, src/capchroot.c,
-         src/chbind.c, src/chcontext.c, src/fakerunlevel.c,
-         src/filetime.c, src/ifspec.c, src/listdevip.c,
-         src/parserpmdump.c, src/readlink.c, src/rebootmgr.c,
-         src/reducecap.c, src/setctxlimit.c, src/showattr.c,
-         src/showperm.c, src/vbuild.cc, src/vcheck.cc, src/vdu.c,
-         src/vfiles.cc, src/vreboot.c, src/vserver-stat.c, src/vunify.cc,
-         src/vutil.cc, src/vutil.h, src/vutil.p, sysv/Makefile-files,
-         sysv/rebootmgr.subst, sysv/v_gated.subst, sysv/v_httpd.subst,
-         sysv/v_named.subst, sysv/v_portmap.subst, sysv/v_sendmail.subst,
-         sysv/v_smb.subst, sysv/v_sshd.subst, sysv/v_xinetd.subst,
-         sysv/vservers.conf, sysv/vservers.subst, tests/Makefile-files,
-         tests/chrootsafe.cc, tests/escaperoot.cc, tests/forkbomb.cc,
-         tests/testipc.cc, tests/testlimit.cc, tests/testopenf.cc,
-         vserver.spec.in, distrib/Makefile-files, distrib/install-mdk8.2,
-         distrib/install-post.sh, distrib/install-pre.sh,
-         distrib/install-rh7.2, distrib/install-rh7.3,
-         distrib/install-rh8.0, distrib/install-rh9.0,
-         distrib/mdk8.2-minimum, distrib/rh7.3-minimum,
-         distrib/rh8.0-minimum, distrib/rh9.0-minimum,
-         distrib/sample.conf, distrib/sample.sh, doc/FAQ.txt,
-         doc/Makefile-files, doc/changelog.txt, .cvsignore, AUTHORS,
-         Makefile.am, NEWS, README, THANKS, configure.ac,
-         newvserver.defaults:
+       * util-vserver/Makefile.am: use recursive make for distrib: added
+         it to SUBDIRS and remove old
+         $(distrib_*) variables
 
-       initial checkin
+2003-09-30 18:17  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/distrib, util-vserver/distrib/.cvsignore: initial
+         checkin
+
+2003-09-30 18:11  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/distrib/Makefile-files,
+         util-vserver/distrib/Makefile.am, util-vserver/distrib/defaults,
+         util-vserver/distrib/defaults/devs,
+         util-vserver/distrib/defaults/rpm,
+         util-vserver/distrib/defaults/rpm/macros,
+         util-vserver/distrib/install-mdk8.2,
+         util-vserver/distrib/install-post.sh,
+         util-vserver/distrib/install-pre.sh,
+         util-vserver/distrib/install-rh7.2,
+         util-vserver/distrib/install-rh7.3,
+         util-vserver/distrib/install-rh8.0,
+         util-vserver/distrib/install-rh9.0,
+         util-vserver/distrib/mdk8.2-minimum,
+         util-vserver/distrib/rh7.3-minimum,
+         util-vserver/distrib/rh8.0-minimum, util-vserver/distrib/rh9,
+         util-vserver/distrib/rh9.0-minimum,
+         util-vserver/distrib/rh9.0.93, util-vserver/distrib/rh9.0.93/apt,
+         util-vserver/distrib/rh9.0.93/apt/rpmpriorities,
+         util-vserver/distrib/rh9.0.93/apt/sources.list,
+         util-vserver/distrib/rh9.0.93/pkgs,
+         util-vserver/distrib/rh9.0.93/pkgs/01,
+         util-vserver/distrib/rh9.0.93/pkgs/02,
+         util-vserver/distrib/rh9/pkgs, util-vserver/distrib/rh9/pkgs/01,
+         util-vserver/distrib/rh9/pkgs/02,
+         util-vserver/distrib/sample.conf, util-vserver/distrib/sample.sh:
+         Replaced the install-* and *-minimum files with configuration
+         files
+         for the new vserver-init tool in the scripts directory. To ease
+         the
+         'install:'-make target, it is necessarily to use recursive make
+         for
+         this directory.
+
+2003-09-30 16:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/configure.ac: added dietlibc support
+         version 0.23.89.1
+
+2003-09-30 16:00  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver, util-vserver/.cvsignore: added Makefile
+
+2003-09-30 15:59  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/lib, util-vserver/lib/.cvsignore,
+         util-vserver/scripts, util-vserver/scripts/.cvsignore,
+         util-vserver/scripts/functions, util-vserver/scripts/vapt-get,
+         util-vserver/scripts/vapt-get-worker,
+         util-vserver/scripts/vrpm-preload,
+         util-vserver/scripts/vrpm-worker,
+         util-vserver/scripts/vserver-init, util-vserver/src,
+         util-vserver/src/.cvsignore, util-vserver/src/new-namespace.c,
+         util-vserver/src/rpm-fake.c, util-vserver/src/secure-mount.c,
+         util-vserver/src/util.h, util-vserver/sysv,
+         util-vserver/sysv/.cvsignore, util-vserver/tests,
+         util-vserver/tests/.cvsignore: initial checkin
+
+2003-09-30 15:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/Makefile.am: updated to new -devel branch
+         added dietlibc support
+
+2003-09-30 15:58  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/src/Makefile-files: added secure-mount,
+         new-namespace and rpm-fake.so rules
+
+2003-09-30 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/vrpm: replaced with new version
+
+2003-09-30 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/util-vserver-vars.subst: added more
+         variables
+
+2003-09-30 15:56  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/scripts/Makefile-files: added more substitutions
+
+2003-09-30 12:42  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver/doc/cfg.txt: initial checkin
+
+2003-09-29 22:01  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+       * util-vserver, util-vserver/.cvsignore, util-vserver/AUTHORS,
+         util-vserver/Makefile.am, util-vserver/NEWS, util-vserver/README,
+         util-vserver/THANKS, util-vserver/configure.ac,
+         util-vserver/distrib, util-vserver/distrib/Makefile-files,
+         util-vserver/distrib/install-mdk8.2,
+         util-vserver/distrib/install-post.sh,
+         util-vserver/distrib/install-pre.sh,
+         util-vserver/distrib/install-rh7.2,
+         util-vserver/distrib/install-rh7.3,
+         util-vserver/distrib/install-rh8.0,
+         util-vserver/distrib/install-rh9.0,
+         util-vserver/distrib/mdk8.2-minimum,
+         util-vserver/distrib/rh7.3-minimum,
+         util-vserver/distrib/rh8.0-minimum,
+         util-vserver/distrib/rh9.0-minimum,
+         util-vserver/distrib/sample.conf, util-vserver/distrib/sample.sh,
+         util-vserver/doc, util-vserver/doc/FAQ.txt,
+         util-vserver/doc/Makefile-files, util-vserver/doc/changelog.txt,
+         util-vserver/doc/intro.txt, util-vserver/lib,
+         util-vserver/lib/Makefile-files, util-vserver/lib/syscall.c,
+         util-vserver/lib/vserver.h, util-vserver/m4,
+         util-vserver/m4/changelog.am, util-vserver/m4/ensc_cflags.m4,
+         util-vserver/m4/gpgsig.am, util-vserver/m4/validate.am,
+         util-vserver/man, util-vserver/man/Makefile-files,
+         util-vserver/man/chbind.8, util-vserver/man/chcontext.8,
+         util-vserver/man/distrib-info.8, util-vserver/man/newvserver.8,
+         util-vserver/man/rebootmgr.8, util-vserver/man/reducecap.8,
+         util-vserver/man/vps.8, util-vserver/man/vpstree.8,
+         util-vserver/man/vrpm.8, util-vserver/man/vserver-copy.8,
+         util-vserver/man/vserver-stat.8, util-vserver/man/vserver.8,
+         util-vserver/man/vtop.8, util-vserver/newvserver.defaults,
+         util-vserver/scripts, util-vserver/scripts/Makefile-files,
+         util-vserver/scripts/distrib-info,
+         util-vserver/scripts/rootshell,
+         util-vserver/scripts/save_s_context,
+         util-vserver/scripts/util-vserver-vars.subst,
+         util-vserver/scripts/vkill, util-vserver/scripts/vprofile,
+         util-vserver/scripts/vps, util-vserver/scripts/vpstree,
+         util-vserver/scripts/vrpm, util-vserver/scripts/vserver,
+         util-vserver/scripts/vserver-copy,
+         util-vserver/scripts/vserverkillall,
+         util-vserver/scripts/vservers.grabinfo.sh,
+         util-vserver/scripts/vsysvwrapper, util-vserver/scripts/vtop,
+         util-vserver/scripts/vunify.old.sh, util-vserver/src,
+         util-vserver/src/Makefile-files, util-vserver/src/capchroot.c,
+         util-vserver/src/chbind.c, util-vserver/src/chcontext.c,
+         util-vserver/src/fakerunlevel.c, util-vserver/src/filetime.c,
+         util-vserver/src/ifspec.c, util-vserver/src/listdevip.c,
+         util-vserver/src/parserpmdump.c, util-vserver/src/readlink.c,
+         util-vserver/src/rebootmgr.c, util-vserver/src/reducecap.c,
+         util-vserver/src/setctxlimit.c, util-vserver/src/showattr.c,
+         util-vserver/src/showperm.c, util-vserver/src/vbuild.cc,
+         util-vserver/src/vcheck.cc, util-vserver/src/vdu.c,
+         util-vserver/src/vfiles.cc, util-vserver/src/vreboot.c,
+         util-vserver/src/vserver-stat.c, util-vserver/src/vunify.cc,
+         util-vserver/src/vutil.cc, util-vserver/src/vutil.h,
+         util-vserver/src/vutil.p, util-vserver/sysv,
+         util-vserver/sysv/Makefile-files,
+         util-vserver/sysv/rebootmgr.subst,
+         util-vserver/sysv/v_gated.subst, util-vserver/sysv/v_httpd.subst,
+         util-vserver/sysv/v_named.subst,
+         util-vserver/sysv/v_portmap.subst,
+         util-vserver/sysv/v_sendmail.subst,
+         util-vserver/sysv/v_smb.subst, util-vserver/sysv/v_sshd.subst,
+         util-vserver/sysv/v_xinetd.subst,
+         util-vserver/sysv/vservers.conf,
+         util-vserver/sysv/vservers.subst, util-vserver/tests,
+         util-vserver/tests/Makefile-files,
+         util-vserver/tests/chrootsafe.cc,
+         util-vserver/tests/escaperoot.cc, util-vserver/tests/forkbomb.cc,
+         util-vserver/tests/testipc.cc, util-vserver/tests/testlimit.cc,
+         util-vserver/tests/testopenf.cc, util-vserver/vserver.spec.in:
+         initial checkin
+
+2003-09-29 22:01  
+
+       * branches, tags, .: New repository initialized by cvs2svn.
 
diff --git a/INSTALL b/INSTALL
index 56b077d..23e5f25 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -102,16 +102,16 @@ for another architecture.
 Installation Names
 ==================
 
-By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc.  You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PREFIX'.
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
 
    You can specify separate installation prefixes for
 architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PREFIX', the package will
-use PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
 
    In addition, if you use an unusual directory layout you can give
 options like `--bindir=DIR' to specify different values for particular
@@ -159,7 +159,7 @@ where SYSTEM can have one of these forms:
 need to know the machine type.
 
    If you are _building_ compiler tools for cross-compiling, you should
-use the `--target=TYPE' option to select the type of system they will
+use the option `--target=TYPE' to select the type of system they will
 produce code for.
 
    If you want to _use_ a cross compiler, that generates code for a
diff --git a/NEWS b/NEWS
index 4b844e3..49f2e7d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,56 @@
-version 0.30.208
+version 0.30.212
+================
+       - support for the Linux-VServer 2.1 API has been implemented.
+
+       - the scheduler configuration has been split up into multiple files.
+
+       - namespace cleanup is enabled by default. This can be disabled by
+       touch ${sysconfdir}/vservers/.defaults/nonamespace-cleanup
+
+       - all unset ulimits are now reset to infinity, so limits are no longer
+       inherited from the host.
+
+       - much improved Gentoo support, thanks to Benedikt Böhm.
+
+version 0.30.211
+================
+
+       - novlandev is now the default. To reenable the old behaviour of
+       creating VLAN interfaces where used, touch
+       ${sysconfdir}/vservers/.defaults/interfaces/vlandev.
+
+       - vshelper now works correctly with the kernel legacy support turned
+       off.
+
+       - vlogin provides a terminal proxy which allocates a new psuedo-tty
+       on the inside when you enter a guest.
+
+       - and lots of other features/fixes, see ChangeLog.
+
+
+version 0.30.210
+================
+
+       - LEGACY BREAKAGE: by default, only recent kernel APIs will be
+       supported so you have to make sure to use at least the vs2.0.1
+       kernel patch. With older kernels, you have to call 'configure'
+       with '--enable-apis=NOLEGACY'. Some programs will not work anymore
+       with the default settings; these ones are:
+
+            + capchroot
+            * chcontext-context
+            * reducecap
+
+       - dlimit support was integrated into the standard vserver
+       operations. Thanks to Daniel Hokka Zakrisson for his patch.
+
+       - recent kernel API is now used for setting up the network
+       contexts. So it should be now possible to use a kernel compiled
+       without CONFIG_VSERVER_LEGACYNET. Thanks to Daniel Hokka Zakrisson
+       for his patch.  .
+
+
+version 0.30.209
 ================
 
        - large revamping...
diff --git a/README b/README
index 7733231..e99e999 100644 (file)
--- a/README
+++ b/README
@@ -187,4 +187,4 @@ development 2.6 kernel patch.
 
 
 
-## $Id: README,v 1.7 2005/01/27 19:07:05 ensc Exp $
+## $Id: README 2283 2006-09-10 17:07:57Z hollow $
diff --git a/THANKS b/THANKS
index a4232db..5a47f91 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -10,5 +10,15 @@ Sam Vilain,
 Olivier Poitrey
     for his work on the XML/XSD based documentation format
 
+Herbert Poetzl,
+    for providing the alternative syscall.h implementation
+
+Daniel Hokka Zakrisson
+    for his patches which add support for non-legacy network functionality
+    and much better dlimit support
+
+Benedikt Böhm
+    for the much improved Gentoo support
+
 
 all the other people, who contributed to the original 'vserver' package
index 7f3c566..25e24d8 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: compat-c99.h,v 1.1 2003/12/26 00:49:32 uid68581 Exp $    --*- c -*--
+// $Id: compat-c99.h 2283 2006-09-10 17:07:57Z hollow $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 225af24..dc3a7e6 100644 (file)
--- a/compat.h
+++ b/compat.h
@@ -1,4 +1,4 @@
-// $Id: compat.h,v 1.17 2004/04/22 20:47:31 ensc Exp $    --*- c++ -*--
+// $Id: compat.h 2283 2006-09-10 17:07:57Z hollow $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/compile b/compile
index ad57e2f..1b1d232 100755 (executable)
--- a/compile
+++ b/compile
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand `-c -o'.
 
-scriptversion=2005-02-03.08
+scriptversion=2005-05-14.22
 
 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
@@ -18,7 +18,7 @@ scriptversion=2005-02-03.08
 #
 # 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.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
index 0f11d78..bfa6dd8 100644 (file)
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the `util' library (-lutil). */
+#undef HAVE_LIBUTIL
+
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
 /* Enable support for API of vserver 1.3.x */
 #undef VC_ENABLE_API_V13
 
+/* Enable support for some obsoleted API of vserver 1.3.x */
+#undef VC_ENABLE_API_V13OBS
+
+/* Enable support for API of vserver 2.1.x */
+#undef VC_ENABLE_API_V21
+
 /* Version number of package */
 #undef VERSION
 
 #undef _FILE_OFFSET_BITS
 
 
-#if defined(__pic__) && defined(__i386) && !defined(ENSC_SYSCALL_TRADITIONAL)
+#if defined(__pic__) && defined(__i386) && !defined(ENSC_SYSCALL_TRADITIONAL) && !defined(ENSC_USE_ALTERNATIVE_SYSCALL_MACROS)
 #  define ENSC_SYSCALL_TRADITIONAL     1
 #endif
 
index 10315af..fa04a08 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.5 2005/07/15 16:25:39 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 2334 2006-09-28 15:08:25Z dhozac $  -*- makefile -*-
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -30,6 +30,8 @@ EXTRA_DIST +=                         $(contrib_subst_SRCS) \
                                        contrib/yum-2.2.1-chroot.patch \
                                        contrib/yum-2.3.2-chroot.patch \
                                        contrib/yum-2.3.3-chroot.patch \
-                                       contrib/yum-2.3.4-chroot.patch
+                                       contrib/yum-2.3.4-chroot.patch \
+                                       contrib/yum-2.6.0-chroot.patch \
+                                       contrib/yum-2.9.6-chroot.patch
 
 contrib/manifest.dat:                  contrib/.manifest.dat.pathsubst.stamp
diff --git a/contrib/yum-2.6.0-chroot.patch b/contrib/yum-2.6.0-chroot.patch
new file mode 100644 (file)
index 0000000..3f0e750
--- /dev/null
@@ -0,0 +1,189 @@
+--- yum-2.6.0/docs/yum.conf.5.chroot   2006-03-07 04:40:08.000000000 +0100
++++ yum-2.6.0/docs/yum.conf.5  2006-03-26 13:21:35.000000000 +0200
+@@ -23,8 +23,10 @@
+ following options:
+ .IP \fBcachedir\fR
+-Directory where yum should store its cache and db files. The default is
+-`/var/cache/yum'.
++Directory where yum should store its cache and db files. The default
++is `/var/cache/yum'. Unless the prefixes `hostfs://' or `chrootfs://'
++are used, some magic will be applied to determine the real path in
++combination with `--installroot'.
+ .IP \fBkeepcache\fR
+ Either `1' or `0'. Determines whether or not yum keeps the cache
+@@ -40,6 +42,10 @@
+ repositories defined in /etc/yum.conf to form the complete set of repositories
+ that yum will use.
++Unless the prefixes `hostfs://' or `chrootfs://' are used, some magic
++will be applied to determine the real path in combination with
++`--installroot'.
++
+ .IP \fBdebuglevel\fR
+ Debug message output level. Practical range is 0\-10. Default is `2'.
+@@ -47,7 +53,10 @@
+ Error message output level. Practical range is 0\-10. Default is `2'.
+ .IP \fBlogfile\fR
+-Full directory and file name for where yum should write its log file.
++Full directory and file name for where yum should write its log
++file. Unless the prefixes `hostfs://' or `chrootfs://' are used,
++some magic will be applied to determine the real path in combination
++with `--installroot'.
+ .IP \fBgpgcheck\fR
+ Either `1' or `0'. This tells yum whether or not it should perform a GPG
+--- yum-2.6.0/yum/__init__.py.chroot   2006-03-07 05:38:00.000000000 +0100
++++ yum-2.6.0/yum/__init__.py  2006-03-26 13:21:35.000000000 +0200
+@@ -125,8 +125,7 @@
+         # (typically /etc/yum.repos.d and /etc/yum/repos.d)
+         parser = config.IncludedDirConfigParser(vars=self.yumvar)
+         for reposdir in self.conf.reposdir:
+-            if os.path.exists(self.conf.installroot+'/'+reposdir):
+-                reposdir = self.conf.installroot + '/' + reposdir
++            reposdir  = self.conf.getRootedPath(reposdir)
+             if os.path.isdir(reposdir):
+                 #XXX: why can't we just pass the list of files?
+@@ -482,16 +481,20 @@
+             
+         self.log(2, 'Finished')
+         
+-    def doLock(self, lockfile):
++    def __getLockfileName(self):
++        lockfile = self.conf.lockfile
++        return self.conf.getRootedPath(lockfile,
++                                       enforce_default  = True,
++                                       defaults_to_host = False)
++        
++    def doLock(self):
+         """perform the yum locking, raise yum-based exceptions, not OSErrors"""
+         
+         # if we're not root then we don't lock - just return nicely
+         if self.conf.uid != 0:
+             return
+             
+-        root = self.conf.installroot
+-        lockfile = root + '/' + lockfile # lock in the chroot
+-        lockfile = os.path.normpath(lockfile) # get rid of silly preceding extra /
++        lockfile = self.__getLockfileName()
+         
+         mypid=str(os.getpid())    
+         while not self._lock(lockfile, mypid, 0644):
+@@ -515,15 +518,14 @@
+                     msg = 'Existing lock %s: another copy is running. Aborting.' % lockfile
+                     raise Errors.LockError(0, msg)
+     
+-    def doUnlock(self, lockfile):
++    def doUnlock(self):
+         """do the unlock for yum"""
+         
+         # if we're not root then we don't lock - just return nicely
+         if self.conf.uid != 0:
+             return
+         
+-        root = self.conf.installroot
+-        lockfile = root + '/' + lockfile # lock in the chroot
++        lockfile=self.__getLockfileName()
+         
+         self._unlock(lockfile)
+         
+--- yum-2.6.0/yum/config.py.chroot     2006-03-07 04:40:08.000000000 +0100
++++ yum-2.6.0/yum/config.py    2006-03-26 13:22:41.000000000 +0200
+@@ -450,6 +450,27 @@
+         else:
+             raise Errors.ConfigError, 'No such option %s' % option
++    def getRootedPath(self, path, enforce_default=False, defaults_to_host=False):
++      instroot = getattr(self, 'installroot', None)
++        if instroot==None:
++            return path
++
++        if   path.startswith('hostfs://'):   res = path[9:]
++        elif path.startswith('chrootfs://'): res = instroot + '/' + path[11:]
++        else:
++          tmp = instroot + '/' +path
++
++            if enforce_default:
++                if defaults_to_host:    res = path
++                else:                   res = tmp
++            else:
++                if os.path.exists(tmp): res = tmp
++                elif defaults_to_host:  res = path
++                else:                   res = tmp
++
++      return res
++ 
++ 
+ class EarlyConf(BaseConfig):
+     '''
+     Configuration option definitions for yum.conf's [main] section that are
+@@ -474,6 +495,7 @@
+     cachedir = Option('/var/cache/yum')
+     keepcache = BoolOption(True)
+     logfile = Option('/var/log/yum.log')
++    lockfile = Option('/var/run/yum.pid')
+     reposdir = ListOption(['/etc/yum/repos.d', '/etc/yum.repos.d'])
+     syslog_ident = Option()
+     syslog_facility = Option('LOG_DAEMON')
+@@ -580,9 +602,9 @@
+     yumconf.populate(confparser, 'main')
+     # Apply the installroot to directory options
+-    for option in ('cachedir', 'logfile'):
++    for option in ('cachedir', 'logfile', 'lockfile'):
+         path = getattr(yumconf, option)
+-        setattr(yumconf, option, yumconf.installroot + path)
++        setattr(yumconf, option, yumconf.getRootedPath(path))
+     
+     # Check that plugin paths are all absolute
+     for path in yumconf.pluginpath:
+--- yum-2.6.0/cli.py.chroot    2006-02-22 22:16:13.000000000 +0100
++++ yum-2.6.0/cli.py   2006-03-26 13:21:35.000000000 +0200
+@@ -112,7 +112,7 @@
+                 action="store_true", default=False, 
+                 help="run entirely from cache, don't update cache")
+         self.optparser.add_option("-c", "", dest="conffile", action="store", 
+-                default='/etc/yum.conf', help="config file location", 
++                default=None, help="config file location", 
+                 metavar=' [config file]')
+         self.optparser.add_option("-R", "", dest="sleeptime", action="store", 
+                 type='int', default=None, help="maximum command wait time",
+@@ -165,9 +165,12 @@
+         try: 
+             # If the conf file is inside the  installroot - use that.
+             # otherwise look for it in the normal root
+-            if opts.installroot:
+-                if os.access(opts.installroot+'/'+opts.conffile, os.R_OK):
++            if opts.conffile==None:
++                opts.conffile = '/etc/yum.conf'
++                if opts.installroot and os.access(opts.installroot+'/'+opts.conffile, os.R_OK):
+                     opts.conffile = opts.installroot+'/'+opts.conffile
++
++            if opts.installroot:
+                 root=opts.installroot
+             else:
+                 root = '/'
+--- yum-2.6.0/yummain.py.chroot        2005-12-13 09:35:41.000000000 +0100
++++ yum-2.6.0/yummain.py       2006-03-26 13:21:35.000000000 +0200
+@@ -60,7 +60,7 @@
+     def unlock():
+         try:
+             base.closeRpmDB()
+-            base.doUnlock(YUM_PID_FILE)
++            base.doUnlock()
+         except Errors.LockError, e:
+             sys.exit(200)
+@@ -83,7 +83,7 @@
+     except Errors.YumBaseError, e:
+         exFatal(e)
+     try:
+-        base.doLock(YUM_PID_FILE)
++        base.doLock()
+     except Errors.LockError, e:
+         base.errorlog(0,'%s' % e.msg)
+         sys.exit(200)
diff --git a/contrib/yum-2.9.6-chroot.patch b/contrib/yum-2.9.6-chroot.patch
new file mode 100644 (file)
index 0000000..0634cc2
--- /dev/null
@@ -0,0 +1,193 @@
+diff -Nurp yum-2.9.6.orig/cli.py yum-2.9.6/cli.py
+--- yum-2.9.6.orig/cli.py      2006-09-06 06:15:49.000000000 +0200
++++ yum-2.9.6/cli.py   2006-09-25 09:08:06.000000000 +0200
+@@ -123,7 +123,7 @@ yum [options] < update | install | info 
+                 action="store_true", default=False, 
+                 help="run entirely from cache, don't update cache")
+         self.optparser.add_option("-c", "", dest="conffile", action="store", 
+-                default='/etc/yum.conf', help="config file location", 
++                default=None, help="config file location", 
+                 metavar=' [config file]')
+         self.optparser.add_option("-R", "", dest="sleeptime", action="store", 
+                 type='int', default=None, help="maximum command wait time",
+@@ -175,9 +175,12 @@ yum [options] < update | install | info 
+         # If the conf file is inside the  installroot - use that.
+         # otherwise look for it in the normal root
+-        if opts.installroot:
+-            if os.access(opts.installroot+'/'+opts.conffile, os.R_OK):
++        if opts.conffile==None:
++            opts.conffile = '/etc/yum.conf'
++            if opts.installroot and os.access(opts.installroot+'/'+opts.conffile, os.R_OK):
+                 opts.conffile = opts.installroot+'/'+opts.conffile
++        
++        if opts.installroot:
+             root=opts.installroot
+         else:
+             root = '/'
+diff -Nurp yum-2.9.6.orig/docs/yum.conf.5 yum-2.9.6/docs/yum.conf.5
+--- yum-2.9.6.orig/docs/yum.conf.5     2006-06-19 03:28:22.000000000 +0200
++++ yum-2.9.6/docs/yum.conf.5  2006-09-25 09:02:50.000000000 +0200
+@@ -23,8 +23,10 @@ The [main] section must exist for yum to
+ following options:
+ .IP \fBcachedir\fR
+-Directory where yum should store its cache and db files. The default is
+-`/var/cache/yum'.
++Directory where yum should store its cache and db files. The default
++is `/var/cache/yum'. Unless the prefixes `hostfs://' or `chrootfs://'
++are used, some magic will be applied to determine the real path in
++combination with `--installroot'.
+ .IP \fBkeepcache\fR
+ Either `1' or `0'. Determines whether or not yum keeps the cache
+@@ -40,6 +42,10 @@ documented in \fB[repository] options\fR
+ repositories defined in /etc/yum.conf to form the complete set of repositories
+ that yum will use.
++Unless the prefixes `hostfs://' or `chrootfs://' are used, some magic
++will be applied to determine the real path in combination with
++`--installroot'.
++
+ .IP \fBdebuglevel\fR
+ Debug message output level. Practical range is 0\-10. Default is `2'.
+@@ -47,7 +53,10 @@ Debug message output level. Practical ra
+ Error message output level. Practical range is 0\-10. Default is `2'.
+ .IP \fBlogfile\fR
+-Full directory and file name for where yum should write its log file.
++Full directory and file name for where yum should write its log
++file. Unless the prefixes `hostfs://' or `chrootfs://' are used,
++some magic will be applied to determine the real path in combination
++with `--installroot'.
+ .IP \fBgpgcheck\fR
+ Either `1' or `0'. This tells yum whether or not it should perform a GPG
+diff -Nurp yum-2.9.6.orig/yum/config.py yum-2.9.6/yum/config.py
+--- yum-2.9.6.orig/yum/config.py       2006-06-19 03:28:22.000000000 +0200
++++ yum-2.9.6/yum/config.py    2006-09-25 09:12:36.000000000 +0200
+@@ -481,6 +481,26 @@ class StartupConf(BaseConfig):
+     pluginpath = ListOption(['/usr/lib/yum-plugins'])
+     pluginconfpath = ListOption(['/etc/yum/pluginconf.d'])
++    def getRootedPath(self, path, enforce_default=False, defaults_to_host=False):
++        instroot = getattr(self, 'installroot', None)
++        if instroot==None:
++            return path
++
++        if   path.startswith('hostfs://'):   res = path[9:]
++        elif path.startswith('chrootfs://'): res = instroot + '/' + path[11:]
++        else:
++            tmp = instroot + '/' + path
++
++            if enforce_default:
++                if defaults_to_host:    res = path
++                else:                   res = tmp
++            else:
++                if os.path.exists(tmp): res = tmp
++                elif defaults_to_host:  res = path
++                else:                   res = tmp
++
++        return res
++
+ class YumConf(StartupConf):
+     '''
+     Configuration option definitions for yum.conf\'s [main] section.
+@@ -493,6 +513,7 @@ class YumConf(StartupConf):
+     cachedir = Option('/var/cache/yum')
+     keepcache = BoolOption(True)
+     logfile = Option('/var/log/yum.log')
++    lockfile = Option('/var/run/yum.pid')
+     reposdir = ListOption(['/etc/yum/repos.d', '/etc/yum.repos.d'])
+     syslog_ident = Option()
+     syslog_facility = Option('LOG_DAEMON')
+@@ -616,9 +637,9 @@ def readMainConfig(startupconf):
+     yumconf.populate(startupconf._parser, 'main')
+     # Apply the installroot to directory options
+-    for option in ('cachedir', 'logfile'):
++    for option in ('cachedir', 'logfile', 'lockfile'):
+         path = getattr(yumconf, option)
+-        setattr(yumconf, option, yumconf.installroot + path)
++        setattr(yumconf, option, yumconf.getRootedPath(path))
+     
+     # Add in some extra attributes which aren't actually configuration values 
+     yumconf.yumvar = vars
+diff -Nurp yum-2.9.6.orig/yum/__init__.py yum-2.9.6/yum/__init__.py
+--- yum-2.9.6.orig/yum/__init__.py     2006-09-06 06:18:20.000000000 +0200
++++ yum-2.9.6/yum/__init__.py  2006-09-25 09:02:50.000000000 +0200
+@@ -171,8 +171,7 @@ class YumBase(depsolve.Depsolve):
+         # (typically /etc/yum.repos.d and /etc/yum/repos.d)
+         parser = config.IncludedDirConfigParser(vars=self.yumvar)
+         for reposdir in self.conf.reposdir:
+-            if os.path.exists(self.conf.installroot+'/'+reposdir):
+-                reposdir = self.conf.installroot + '/' + reposdir
++            reposdir  = self.conf.getRootedPath(reposdir)
+             if os.path.isdir(reposdir):
+                 #XXX: why can't we just pass the list of files?
+@@ -502,16 +501,20 @@ class YumBase(depsolve.Depsolve):
+             
+         self.verbose_logger.log(logginglevels.INFO_2, 'Finished')
+         
+-    def doLock(self, lockfile):
++    def __getLockfileName(self):
++        lockfile = self.conf.lockfile
++        return self.conf.getRootedPath(lockfile,
++                                       enforce_default  = True,
++                                       defaults_to_host = False)
++        
++    def doLock(self):
+         """perform the yum locking, raise yum-based exceptions, not OSErrors"""
+         
+         # if we're not root then we don't lock - just return nicely
+         if self.conf.uid != 0:
+             return
+             
+-        root = self.conf.installroot
+-        lockfile = root + '/' + lockfile # lock in the chroot
+-        lockfile = os.path.normpath(lockfile) # get rid of silly preceding extra /
++        lockfile = self.__getLockfileName()
+         
+         mypid=str(os.getpid())    
+         while not self._lock(lockfile, mypid, 0644):
+@@ -537,15 +540,14 @@ class YumBase(depsolve.Depsolve):
+                     msg = 'Existing lock %s: another copy is running. Aborting.' % lockfile
+                     raise Errors.LockError(0, msg)
+     
+-    def doUnlock(self, lockfile):
++    def doUnlock(self):
+         """do the unlock for yum"""
+         
+         # if we're not root then we don't lock - just return nicely
+         if self.conf.uid != 0:
+             return
+         
+-        root = self.conf.installroot
+-        lockfile = root + '/' + lockfile # lock in the chroot
++        lockfile=self.__getLockfileName()
+         
+         self._unlock(lockfile)
+         
+diff -Nurp yum-2.9.6.orig/yummain.py yum-2.9.6/yummain.py
+--- yum-2.9.6.orig/yummain.py  2006-08-19 22:04:33.000000000 +0200
++++ yum-2.9.6/yummain.py       2006-09-25 09:02:50.000000000 +0200
+@@ -62,7 +62,7 @@ def main(args):
+     def unlock():
+         try:
+             base.closeRpmDB()
+-            base.doUnlock(YUM_PID_FILE)
++            base.doUnlock()
+         except Errors.LockError, e:
+             sys.exit(200)
+@@ -88,7 +88,7 @@ def main(args):
+     except Errors.YumBaseError, e:
+         exFatal(e)
+     try:
+-        base.doLock(YUM_PID_FILE)
++        base.doLock()
+     except Errors.LockError, e:
+         logger.critical('%s', e.msg)
+         sys.exit(200)
diff --git a/depcomp b/depcomp
index ffcd540..04701da 100755 (executable)
--- a/depcomp
+++ b/depcomp
@@ -1,7 +1,7 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2005-02-09.22
+scriptversion=2005-07-09.11
 
 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
 
@@ -17,8 +17,8 @@ scriptversion=2005-02-09.22
 
 # 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.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -467,7 +467,8 @@ cpp)
   done
 
   "$@" -E |
-    sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
     sed '$ s: \\$::' > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
diff --git a/distrib/centos4/pkgs/01 b/distrib/centos4/pkgs/01
new file mode 100644 (file)
index 0000000..1a5ef72
--- /dev/null
@@ -0,0 +1 @@
+glibc
diff --git a/distrib/centos4/pkgs/02 b/distrib/centos4/pkgs/02
new file mode 100644 (file)
index 0000000..9ec5d2b
--- /dev/null
@@ -0,0 +1,3 @@
+--reinstall
+
+filesystem
diff --git a/distrib/centos4/pkgs/03 b/distrib/centos4/pkgs/03
new file mode 100644 (file)
index 0000000..64ab4a7
--- /dev/null
@@ -0,0 +1,2 @@
+coreutils
+setup
diff --git a/distrib/centos4/yum.repos.d/CentOS-Base.repo b/distrib/centos4/yum.repos.d/CentOS-Base.repo
new file mode 100644 (file)
index 0000000..5c1dae3
--- /dev/null
@@ -0,0 +1,50 @@
+[base]
+name=CentOS-4 - Base
+baseurl=http://mirror.centos.org/centos/4/os/$basearch/
+gpgcheck=1
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#released updates 
+[update]
+name=CentOS-4 - Updates
+baseurl=http://mirror.centos.org/centos/4/updates/$basearch/
+gpgcheck=1
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#packages used/produced in the build but not released
+[addons]
+name=CentOS-4 - Addons
+baseurl=http://mirror.centos.org/centos/4/addons/$basearch/
+gpgcheck=1
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#additional packages that may be useful
+[extras]
+name=CentOS-4 - Extras
+baseurl=http://mirror.centos.org/centos/4/extras/$basearch/
+gpgcheck=1
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#additional packages that extend functionality of existing packages
+[centosplus]
+name=CentOS-4 - Plus
+baseurl=http://mirror.centos.org/centos/4/centosplus/$basearch/
+gpgcheck=1
+enabled=0
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#contrib - packages by Centos Users
+[contrib]
+name=CentOS-4 - Contrib
+baseurl=http://mirror.centos.org/centos/4/contrib/$basearch/
+gpgcheck=1
+enabled=0
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
+
+#packages in testing
+[testing]
+name=CentOS-4 - Testing
+baseurl=http://mirror.centos.org/centos/4/testing/$basearch/
+gpgcheck=1
+enabled=0
+gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
diff --git a/distrib/centos4/yum/yum.conf b/distrib/centos4/yum/yum.conf
new file mode 100644 (file)
index 0000000..952f111
--- /dev/null
@@ -0,0 +1,10 @@
+[main]
+cachedir=@YUMCACHEDIR@
+reposdir=@YUMETCDIR@/yum.repos.d
+debuglevel=1
+logfile=@YUMLOGDIR@/log
+lockfile=@YUMLOCKDIR@/yum.pid
+pkgpolicy=newest
+distroverpkg=centos-release
+installonlypkgs=
+exactarch=0
index 814df15..1d21cd1 100644 (file)
@@ -6,3 +6,5 @@ logfile=@YUMLOGDIR@/log
 lockfile=@YUMLOCKDIR@/yum.pid
 pkgpolicy=newest
 distroverpkg=fedora-release
+installonlypkgs=
+exactarch=0
index 814df15..1d21cd1 100644 (file)
@@ -6,3 +6,5 @@ logfile=@YUMLOGDIR@/log
 lockfile=@YUMLOCKDIR@/yum.pid
 pkgpolicy=newest
 distroverpkg=fedora-release
+installonlypkgs=
+exactarch=0
diff --git a/distrib/fc5/apt/rpmpriorities b/distrib/fc5/apt/rpmpriorities
new file mode 100644 (file)
index 0000000..f4a90e2
--- /dev/null
@@ -0,0 +1,7 @@
+Essential:
+  basesystem
+  coreutils
+  filesystem
+  glibc
+  setup
+  fedora-release
diff --git a/distrib/fc5/apt/sources.list b/distrib/fc5/apt/sources.list
new file mode 100644 (file)
index 0000000..b833d31
--- /dev/null
@@ -0,0 +1,7 @@
+# rpm     http://ftp.ultra.csn.tu-chemnitz.de/pub/mirror/fedora/core/.apt      3/i386  os patches updates
+
+# rpm  ftp://ftp.ussg.iu.edu/pub/linux/fedora/fedora/fedora                    3/i386  os updates
+# rpm  ftp://ftp.tu-chemnitz.de/pub/linux/fedora/fedora                        3/i386  os updates
+# rpm  http://mirrors.usc.edu/pub/linux/fedora/fedora/fedora                   3/i386  os updates
+# rpm  http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/fedora/fedora    3/i386  os updates
+# rpm  http://download.fedora.us/fedora/fedora                                 3/i386  os updates
diff --git a/distrib/fc5/pkgs/01 b/distrib/fc5/pkgs/01
new file mode 100644 (file)
index 0000000..1a5ef72
--- /dev/null
@@ -0,0 +1 @@
+glibc
diff --git a/distrib/fc5/pkgs/02 b/distrib/fc5/pkgs/02
new file mode 100644 (file)
index 0000000..9ec5d2b
--- /dev/null
@@ -0,0 +1,3 @@
+--reinstall
+
+filesystem
diff --git a/distrib/fc5/pkgs/03 b/distrib/fc5/pkgs/03
new file mode 100644 (file)
index 0000000..218b1e6
--- /dev/null
@@ -0,0 +1,2 @@
+coreutils
+initscripts
diff --git a/distrib/fc5/rpmlist.d/00.lst b/distrib/fc5/rpmlist.d/00.lst
new file mode 100644 (file)
index 0000000..85a9617
--- /dev/null
@@ -0,0 +1,7 @@
+basesystem-*.rpm
+filesystem-*.rpm
+glibc-common-*.rpm
+glibc-[0-9]*.rpm
+libgcc-[0-9]*.rpm
+setup-*.rpm
+tzdata-*.rpm
diff --git a/distrib/fc5/yum.repos.d/fedora-core.repo b/distrib/fc5/yum.repos.d/fedora-core.repo
new file mode 100644 (file)
index 0000000..7a5101a
--- /dev/null
@@ -0,0 +1,21 @@
+[core]
+name=Fedora Core 5 - $basearch
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/5/$basearch/os/
+mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-5
+enabled=1
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY
+
+[core-debuginfo]
+name=Fedora Core 5 - $basearch - Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/5/$basearch/debug/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY
+
+[core-source]
+name=Fedora Core 5 - Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/5/source/SRPMS/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY
diff --git a/distrib/fc5/yum.repos.d/fedora-development.repo b/distrib/fc5/yum.repos.d/fedora-development.repo
new file mode 100644 (file)
index 0000000..12ea285
--- /dev/null
@@ -0,0 +1,44 @@
+# These packages are untested and still under development. This
+# repository is used for updates to test releases, and for
+# development of new releases.
+#
+# This repository can see significant daily turnover and major
+# functionality changes which cause unexpected problems with other
+# development packages. Please use these packages if you want to work
+# with the Fedora developers by testing these new development packages.
+#
+# fedora-test-list@redhat.com is available as a discussion forum for
+# testing and troubleshooting for development packages in conjunction
+# with new test releases.
+#
+# fedora-devel-list@redhat.com is available as a discussion forum for
+# testing and troubleshooting for development packages in conjunction
+# with developing new releases.
+#
+# More information is available at http://fedoraproject.org/wiki/Testing 
+#
+# Reproducible and reportable issues should be filed at
+# http://bugzilla.redhat.com/.
+#
+# Product: Fedora Core
+# Version: devel
+
+[development]
+name=Fedora Core - Development
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/
+mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-rawhide
+enabled=0
+gpgcheck=0
+
+[development-debuginfo]
+name=Fedora Core - Development - Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/debug/
+enabled=0
+gpgcheck=0
+
+[development-source]
+name=Fedora Core - Development - Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/SRPMS/
+enabled=0
+gpgcheck=0
+
diff --git a/distrib/fc5/yum.repos.d/fedora-extras-development.repo b/distrib/fc5/yum.repos.d/fedora-extras-development.repo
new file mode 100644 (file)
index 0000000..7c87c3e
--- /dev/null
@@ -0,0 +1,21 @@
+[extras-development]
+name=Fedora Extras - Development Tree
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/$basearch/
+mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-devel
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-development-debuginfo]
+name=Fedora Extras - Development - Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/$basearch/debug/
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-development-source]
+name=Fedora Extras - Development - Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/SRPMS/
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
diff --git a/distrib/fc5/yum.repos.d/fedora-extras.repo b/distrib/fc5/yum.repos.d/fedora-extras.repo
new file mode 100644 (file)
index 0000000..480a6eb
--- /dev/null
@@ -0,0 +1,21 @@
+[extras]
+name=Fedora Extras 5 - $basearch
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/5/$basearch/
+mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-5
+enabled=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-debuginfo]
+name=Fedora Extras 5 - $basearch - Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/5/$basearch/debug/
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-source]
+name=Fedora Extras 5 - Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/5/SRPMS/
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
diff --git a/distrib/fc5/yum.repos.d/fedora-legacy.repo b/distrib/fc5/yum.repos.d/fedora-legacy.repo
new file mode 100644 (file)
index 0000000..724155a
--- /dev/null
@@ -0,0 +1,13 @@
+[legacy-updates]
+name=Fedora Legacy 5 - $basearch - Updates
+mirrorlist=http://fedora.redhat.com/download/mirrors/legacy-updates-released-fc5
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-legacy
+
+[legacy-testing]
+name=Fedora Legacy 5 - $basearch - Updates Testing
+mirrorlist=http://fedora.redhat.com/download/mirrors/legacy-updates-testing-fc5
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-legacy
diff --git a/distrib/fc5/yum.repos.d/fedora-updates-testing.repo b/distrib/fc5/yum.repos.d/fedora-updates-testing.repo
new file mode 100644 (file)
index 0000000..7ee19f3
--- /dev/null
@@ -0,0 +1,21 @@
+[updates-testing]
+name=Fedora Core 5 - $basearch - Test Updates
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/5/$basearch/
+mirrorlist=http://fedora.redhat.com/download/mirrors/updates-testing-fc5
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-test
+
+[updates-testing-debuginfo]
+name=Fedora Core 5 - $basearch - Test Updates Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/5/$basearch/debug/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-test
+
+[updates-testing-source]
+name=Fedora Core 5 - Test Updates Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/5/SRPMS/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora-test
diff --git a/distrib/fc5/yum.repos.d/fedora-updates.repo b/distrib/fc5/yum.repos.d/fedora-updates.repo
new file mode 100644 (file)
index 0000000..e25ebf7
--- /dev/null
@@ -0,0 +1,21 @@
+[updates]
+name=Fedora Core 5 - $basearch - Updates
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/5/$basearch/
+mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc5
+enabled=1
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora
+
+[updates-debuginfo]
+name=Fedora Core 5 - $basearch - Updates - Debug
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/5/$basearch/debug/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora
+
+[updates-source]
+name=Fedora Core 5 - Updates Source
+baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/5/SRPMS/
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/5/$basearch/os/RPM-GPG-KEY-fedora
diff --git a/distrib/fc5/yum/yum.conf b/distrib/fc5/yum/yum.conf
new file mode 100644 (file)
index 0000000..1d21cd1
--- /dev/null
@@ -0,0 +1,10 @@
+[main]
+cachedir=@YUMCACHEDIR@
+reposdir=@YUMETCDIR@/yum.repos.d
+debuglevel=1
+logfile=@YUMLOGDIR@/log
+lockfile=@YUMLOCKDIR@/yum.pid
+pkgpolicy=newest
+distroverpkg=fedora-release
+installonlypkgs=
+exactarch=0
diff --git a/distrib/fc6/apt/rpmpriorities b/distrib/fc6/apt/rpmpriorities
new file mode 100644 (file)
index 0000000..f4a90e2
--- /dev/null
@@ -0,0 +1,7 @@
+Essential:
+  basesystem
+  coreutils
+  filesystem
+  glibc
+  setup
+  fedora-release
diff --git a/distrib/fc6/apt/sources.list b/distrib/fc6/apt/sources.list
new file mode 100644 (file)
index 0000000..b833d31
--- /dev/null
@@ -0,0 +1,7 @@
+# rpm     http://ftp.ultra.csn.tu-chemnitz.de/pub/mirror/fedora/core/.apt      3/i386  os patches updates
+
+# rpm  ftp://ftp.ussg.iu.edu/pub/linux/fedora/fedora/fedora                    3/i386  os updates
+# rpm  ftp://ftp.tu-chemnitz.de/pub/linux/fedora/fedora                        3/i386  os updates
+# rpm  http://mirrors.usc.edu/pub/linux/fedora/fedora/fedora                   3/i386  os updates
+# rpm  http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/fedora/fedora    3/i386  os updates
+# rpm  http://download.fedora.us/fedora/fedora                                 3/i386  os updates
diff --git a/distrib/fc6/pkgs/01 b/distrib/fc6/pkgs/01
new file mode 100644 (file)
index 0000000..1a5ef72
--- /dev/null
@@ -0,0 +1 @@
+glibc
diff --git a/distrib/fc6/pkgs/02 b/distrib/fc6/pkgs/02
new file mode 100644 (file)
index 0000000..9ec5d2b
--- /dev/null
@@ -0,0 +1,3 @@
+--reinstall
+
+filesystem
diff --git a/distrib/fc6/pkgs/03 b/distrib/fc6/pkgs/03
new file mode 100644 (file)
index 0000000..218b1e6
--- /dev/null
@@ -0,0 +1,2 @@
+coreutils
+initscripts
diff --git a/distrib/fc6/rpmlist.d/00.lst b/distrib/fc6/rpmlist.d/00.lst
new file mode 100644 (file)
index 0000000..85a9617
--- /dev/null
@@ -0,0 +1,7 @@
+basesystem-*.rpm
+filesystem-*.rpm
+glibc-common-*.rpm
+glibc-[0-9]*.rpm
+libgcc-[0-9]*.rpm
+setup-*.rpm
+tzdata-*.rpm
diff --git a/distrib/fc6/yum.repos.d/fedora-core.repo b/distrib/fc6/yum.repos.d/fedora-core.repo
new file mode 100644 (file)
index 0000000..56b4318
--- /dev/null
@@ -0,0 +1,23 @@
+[core]
+name=Fedora Core 6 - $basearch
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/6/$basearch/os/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=core-6&arch=$basearch
+enabled=1
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY
+
+[core-debuginfo]
+name=Fedora Core 6 - $basearch - Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/6/$basearch/debug/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=core-debug-6&arch=$basearch
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY
+
+[core-source]
+name=Fedora Core 6 - Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/6/source/SRPMS/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=core-source-6&arch=$basearch
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY
diff --git a/distrib/fc6/yum.repos.d/fedora-development.repo b/distrib/fc6/yum.repos.d/fedora-development.repo
new file mode 100644 (file)
index 0000000..6dd04d7
--- /dev/null
@@ -0,0 +1,46 @@
+# These packages are untested and still under development. This
+# repository is used for updates to test releases, and for
+# development of new releases.
+#
+# This repository can see significant daily turnover and major
+# functionality changes which cause unexpected problems with other
+# development packages. Please use these packages if you want to work
+# with the Fedora developers by testing these new development packages.
+#
+# fedora-test-list@redhat.com is available as a discussion forum for
+# testing and troubleshooting for development packages in conjunction
+# with new test releases.
+#
+# fedora-devel-list@redhat.com is available as a discussion forum for
+# testing and troubleshooting for development packages in conjunction
+# with developing new releases.
+#
+# More information is available at http://fedoraproject.org/wiki/Testing 
+#
+# Reproducible and reportable issues should be filed at
+# http://bugzilla.redhat.com/.
+#
+# Product: Fedora Core
+# Version: devel
+
+[development]
+name=Fedora Core - Development
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/os/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch
+enabled=0
+gpgcheck=0
+
+[development-debuginfo]
+name=Fedora Core - Development - Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/debug/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide-debug&arch=$basearch
+enabled=0
+gpgcheck=0
+
+[development-source]
+name=Fedora Core - Development - Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/source/SRPMS/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide-source&arch=$basearch
+enabled=0
+gpgcheck=0
+
diff --git a/distrib/fc6/yum.repos.d/fedora-extras-development.repo b/distrib/fc6/yum.repos.d/fedora-extras-development.repo
new file mode 100644 (file)
index 0000000..4f2a5fc
--- /dev/null
@@ -0,0 +1,34 @@
+# These packages are untested and still under development. This
+# repository is used for updates to test releases, and for
+# development of new releases.
+#
+# This repository can see significant daily turnover and major
+# functionality changes which cause unexpected problems with other
+# development packages. Please use these packages if you want to work
+# with the Fedora developers by testing these new development packages.
+#
+# More information is available at http://fedoraproject.org/wiki/Testing
+
+[extras-development]
+name=Fedora Extras - Development Tree
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/$basearch/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-devel&arch=$basearch
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-development-debuginfo]
+name=Fedora Extras - Development - Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/$basearch/debug/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-devel-debug&arch=$basearch
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-development-source]
+name=Fedora Extras - Development - Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/development/SRPMS/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-devel-source&arch=$basearch
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
diff --git a/distrib/fc6/yum.repos.d/fedora-extras.repo b/distrib/fc6/yum.repos.d/fedora-extras.repo
new file mode 100644 (file)
index 0000000..b7d42ad
--- /dev/null
@@ -0,0 +1,23 @@
+[extras]
+name=Fedora Extras 6 - $basearch
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/6/$basearch/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-6&arch=$basearch
+enabled=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-debuginfo]
+name=Fedora Extras 6 - $basearch - Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/6/$basearch/debug/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-debug-6&arch=$basearch
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
+
+[extras-source]
+name=Fedora Extras 6 - Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/6/SRPMS/
+mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-source-6&arch=$basearch
+enabled=0
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-extras
+gpgcheck=1
diff --git a/distrib/fc6/yum.repos.d/fedora-legacy.repo b/distrib/fc6/yum.repos.d/fedora-legacy.repo
new file mode 100644 (file)
index 0000000..1dc6e2d
--- /dev/null
@@ -0,0 +1,13 @@
+[legacy-updates]
+name=Fedora Legacy 6 - $basearch - Updates
+mirrorlist=http://fedora.redhat.com/Download/mirrors/legacy-updates-released-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-legacy
+
+[legacy-testing]
+name=Fedora Legacy 6 - $basearch - Updates Testing
+mirrorlist=http://fedora.redhat.com/Download/mirrors/legacy-updates-testing-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-legacy
diff --git a/distrib/fc6/yum.repos.d/fedora-updates-testing.repo b/distrib/fc6/yum.repos.d/fedora-updates-testing.repo
new file mode 100644 (file)
index 0000000..8cdaf84
--- /dev/null
@@ -0,0 +1,23 @@
+[updates-testing]
+name=Fedora Core 6 - $basearch - Test Updates
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/6/$basearch/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-testing-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-test
+
+[updates-testing-debuginfo]
+name=Fedora Core 6 - $basearch - Test Updates Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/6/$basearch/debug/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-testing-debug-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-test
+
+[updates-testing-source]
+name=Fedora Core 6 - Test Updates Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/6/SRPMS/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-testing-source-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora-test
diff --git a/distrib/fc6/yum.repos.d/fedora-updates.repo b/distrib/fc6/yum.repos.d/fedora-updates.repo
new file mode 100644 (file)
index 0000000..fd4db84
--- /dev/null
@@ -0,0 +1,23 @@
+[updates]
+name=Fedora Core 6 - $basearch - Updates
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/$basearch/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-released-fc6
+enabled=1
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora
+
+[updates-debuginfo]
+name=Fedora Core 6 - $basearch - Updates - Debug
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/$basearch/debug/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-released-debug-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora
+
+[updates-source]
+name=Fedora Core 6 - Updates Source
+#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/SRPMS/
+mirrorlist=http://fedora.redhat.com/Download/mirrors/updates-released-source-fc6
+enabled=0
+gpgcheck=1
+gpgkey=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/$basearch/os/RPM-GPG-KEY-fedora
diff --git a/distrib/fc6/yum/yum.conf b/distrib/fc6/yum/yum.conf
new file mode 100644 (file)
index 0000000..1d21cd1
--- /dev/null
@@ -0,0 +1,10 @@
+[main]
+cachedir=@YUMCACHEDIR@
+reposdir=@YUMETCDIR@/yum.repos.d
+debuglevel=1
+logfile=@YUMLOGDIR@/log
+lockfile=@YUMLOCKDIR@/yum.pid
+pkgpolicy=newest
+distroverpkg=fedora-release
+installonlypkgs=
+exactarch=0
diff --git a/distrib/gentoo/init-vserver.sh b/distrib/gentoo/init-vserver.sh
new file mode 100644 (file)
index 0000000..12fcda9
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/bash
+#
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# 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.
+
+#
+# BIG FAT WARNING:
+#
+# Do not remove this file if you are using gentoo init style!
+# Your vserver will not boot anymore!
+#
+# You have been warned...
+#
+
+RUNLEVEL=1 /sbin/rc sysinit
+/sbin/rc boot
+/sbin/rc ${1:-default}
diff --git a/distrib/gentoo/initpost b/distrib/gentoo/initpost
new file mode 100755 (executable)
index 0000000..2d2dd4c
--- /dev/null
@@ -0,0 +1,103 @@
+#!/bin/bash
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# 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.
+
+## Called as: initpost <cfgdir> <path of util-vserver-vars>
+
+vdir="$1"/vdir
+. "$2"
+
+# portage stuff
+pushd "$vdir" &>/dev/null
+$_CHROOT_SH mkdir /usr         2>/dev/null || :
+$_CHROOT_SH mkdir /usr/portage 2>/dev/null || :
+popd &>/dev/null
+
+
+# gentoo initstyle magic
+initstyle=sysv
+test -e "$1"/apps/init/style && initstyle=$(<"$1"/apps/init/style)
+
+if test "$initstyle" == "gentoo"; then
+       pushd "$vdir" &>/dev/null
+
+       echo ">>> Installing special init-style magic ... "
+
+       $_CAT "$__DISTRIBDIR"/gentoo/init-vserver.sh | \
+       $_CHROOT_SH truncate   /lib/rcscripts/sh/init-vserver.sh
+       $_CHROOT_SH chmod 0755 /lib/rcscripts/sh/init-vserver.sh
+
+       popd &>/dev/null
+
+       echo "!!!"
+       echo "!!! You have to install a service (e.g. syslog-ng) and add it to the"
+       echo "!!! default runlevel before you start the guest the first time!"
+       echo "!!! Otherwise the guest will die as soon as it has finished booting."
+       echo "!!!"
+       echo "!!! Consult the Gentoo Handbook on how to chroot and install"
+       echo "!!! packages into the guest environment."
+       echo "!!!"
+fi
+
+
+# check for baselayout >= 1.13
+pushd "$vdir" &>/dev/null
+basever=$($_CHROOT_SH cat /etc/gentoo-release | $_AWK '{print $5}')
+popd &>/dev/null
+
+echo ">>> Found baselayout-$basever"
+
+basemaj=${basever/.*}
+basemin=${basever#*.}
+basemin=${basemin/.*}
+
+if test "$basemaj" -lt 1 -o "$basemin" -lt 13; then
+       echo "!!! Will not do automagic changes to baselayout < 1.13"
+       echo "!!! You have to take care for yourself ..."
+       exit 0
+fi
+
+
+# fix gettys in inittab
+pushd "$vdir" &>/dev/null
+
+if $_CHROOT_SH testfile /etc/inittab; then
+       echo ">>> Fixing inittab ... "
+       inittabtmp=$($_MKTEMP inittab.XXXXXX)
+
+       $_CHROOT_SH cat /etc/inittab | \
+       $_SED 's/\(^[^#].*getty.*$\)/#\1/' > $inittabtmp
+       $_CHROOT_SH truncate /etc/inittab  < $inittabtmp
+
+       $_RM -f $inittabtmp
+fi
+
+popd &>/dev/null
+
+
+# unneeded runlevel scripts
+pushd "$vdir" &>/dev/null
+echo ">>> Fixing default runlevel scripts ... "
+$_CHROOT_SH rm /etc/runlevels/boot/{clock,consolefont,keymaps,modules,net.lo} 2>/dev/null || :
+$_CHROOT_SH rm /etc/runlevels/default/{hdparm,netmount} 2>/dev/null || :
+popd &>/dev/null
+
+
+# fix fstab for checkfs/localmount
+pushd "$vdir" &>/dev/null
+echo ">>> Fixing fstab ... "
+echo "/dev/hdv1 / ufs defaults 0 0" | $_CHROOT_SH truncate /etc/fstab
+popd &>/dev/null
diff --git a/distrib/gentoo/initpre b/distrib/gentoo/initpre
new file mode 100755 (executable)
index 0000000..24ffd80
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# 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.
+
+## Called as: initpost <cfgdir> <path of util-vserver-vars>
+
+vdir="$1"/vdir
+. "$2"
+
+# portage stuff
+
+echo ">>> Adding shared /usr/portage to fstab ... "
+
+if test -d /usr/portage; then
+       ( echo
+         echo "# shared portage tree"
+         echo "/usr/portage           /usr/portage           none bind,ro 0 0"
+         echo "/usr/portage/distfiles /usr/portage/distfiles none bind,rw 0 0"
+       ) >> "$1"/fstab
+else
+       echo "!!! Cannot find /usr/portage! You should definitely use a"
+       echo "!!! shared portage tree if you have multiple Gentoo guests!"
+fi
+
+
+# initstyle sanity
+initstyle=sysv
+test -e "$1"/apps/init/style && initstyle=$(<"$1"/apps/init/style)
+
+echo ">>> Checking init-style ... $initstyle"
+
+if test "$initstyle" != "gentoo" -a "$initstyle" != "plain"; then
+       echo "!!! The init-style you specified is not supported for Gentoo"
+       echo "!!! Please use one of: plain, gentoo"
+fi
index 0f64170..3f8726c 100644 (file)
@@ -1 +1 @@
-http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_0.3.1.4_all.deb
+http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_0.3.3_all.deb
diff --git a/distrib/misc/environment b/distrib/misc/environment
new file mode 100644 (file)
index 0000000..a0d39c8
--- /dev/null
@@ -0,0 +1 @@
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
index ec35834..f42f798 100644 (file)
@@ -5,7 +5,6 @@
 -/proc/sys/dev/
 /proc/sysvipc/
 /proc/tty/
-/proc/cmdline
 /proc/cpuinfo
 /proc/crypto
 /proc/devices
@@ -27,4 +26,5 @@
 /proc/stat
 /proc/swaps
 /proc/uptime
+-/proc/cmdline
 /proc/version
index f281656..4157a2b 100755 (executable)
@@ -40,6 +40,24 @@ function subst
     rm -f $tmp
 }
 
+vserver=$1
+
+## Do some magic to set the vserver into a defined state
+$_VSERVER "$vserver" stop  &>/dev/null || :
+$_VSERVER "$vserver" start --rescue --rescue-init bash -c '
+    exec  >/dev/null
+    exec 2>/dev/null
+
+    set -x
+    f=/tmp/startwait
+    trap "rm -f $f" EXIT
+    mkfifo $f
+    ( sleep 15; kill -s 9 -- -1 ) &
+    cat "$f" >/dev/null
+    kill -s 9 -- -1
+    wait
+'
+
 pushd "$vdir"/etc/init.d &>/dev/null ||
     pushd "$vdir"/etc/rc.d/init.d &>/dev/null || exit 1
 
@@ -49,12 +67,11 @@ pushd "$vdir"/etc/init.d &>/dev/null ||
            functions|halt|killall|single) ;;
            syslog) ;;
            *)
-               $_VSERVER ----insecure "$1" chkconfig "$i" off
+               $_VSERVER "$1" chkconfig "$i" off
                ;;
        esac
     done
 
-    relink /bin/true halt
 popd >/dev/null
 
 pushd "$vdir"/sbin &>/dev/null
@@ -70,11 +87,20 @@ pushd "$vdir" &>/dev/null
 popd >/dev/null
 
 pushd "$vdir" &>/dev/null
+    cat <<EOF | $_CHROOT_SH truncate /etc/init.d/halt
+#! /bin/bash
+
+exec /sbin/killall5 -15
+EOF
+    $_CHROOT_SH chmod 0755 /etc/init.d/halt
+    
     : | $_CHROOT_SH truncate /etc/sysctl.conf
     echo "none    /       none    defaults" | $_CHROOT_SH truncate /etc/fstab
     cat "$__DISTRIBDIR"/redhat/rc.sysinit   | $_CHROOT_SH truncate /etc/rc.d/rc.sysinit.vserver
-    # TODO: remove race/symlink-attack
-    chmod +x etc/rc.d/rc.sysinit.vserver
+    $_CHROOT_SH chmod 0755 /etc/rc.d/rc.sysinit.vserver
     subst etc/inittab 's!^\([^#].*:respawn:.* tty\)!#\1!;
                       s!si::sysinit:/etc/rc.d/rc.sysinit!si::sysinit:/etc/rc.d/rc.sysinit.vserver!'
 popd >/dev/null
+
+$_VSERVER "$vserver" exec bash -c ': >/tmp/startwait' &>/dev/null || :
+$_VSERVER "$vserver" stop &>/dev/null || :
index aec2757..5354f9d 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.12 2005/03/19 01:59:47 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 2338 2006-09-28 22:39:19Z dhozac $  -*- makefile -*-
 
 ## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -29,7 +29,8 @@ doc_configuration_SRCS =      doc/configuration.xml \
                                doc/configuration.xsd \
                                doc/configuration.dtd \
                                doc/configuration.css \
-                               doc/configuration-xhtml.xsl
+                               doc/configuration-xhtml.xsl \
+                               doc/configuration-wiki.xsl
 
 doc_compatibility_SRCS =       doc/compatibility.xml \
                                doc/compatibility.dtd \
diff --git a/doc/configuration-wiki.xsl b/doc/configuration-wiki.xsl
new file mode 100644 (file)
index 0000000..11fe172
--- /dev/null
@@ -0,0 +1,335 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="2.0">
+       <xsl:output method="html" indent="yes" omit-xml-declaration="yes" encoding="ISO-8859-1"/>
+       <xsl:param name="confdir" select="'/etc/vservers'"/>
+       <!-- set following parameter to anything else than 'true' to use a symbolic character to mark up file types -->
+       <xsl:param name="printstylename" select="'true'"/>
+
+       <xsl:template match="/database">
+               <h1>The contents of the <xsl:value-of select="$confdir"/> directory</h1>
+               This page is automatically created by XSL transformation of configuration.xml. Additions, corrections, etc. should be made in that file, not in the Wiki page.
+               <xsl:choose>
+                       <xsl:when test="$printstylename = 'true'">
+                               Directory names are written in <b>bold</b> letters.
+                               
+                               Boolean files are files without content. Only existence matters.
+                               
+                               Scalar files are files with only one line (one value).
+                               
+                               List files are files with multiple values. One value per line.
+                               
+                               Hash files are files with multiple key/value pairs. One key/value pair per line.
+
+                               Symbolic names (variables) are written in <i>italic</i> letters.
+                       </xsl:when>
+                       <xsl:otherwise>
+                               Directories are marked with a trailing / and <b>bold</b> letters.
+               
+                               Scripts are marked with a trailing superscript <sup>*</sup>.
+               
+                               Hash files (with key/value pairs) are marked with a trailing superscript <sup>#</sup>.
+               
+                               Boolean files (without content) are marked with a trailing superscript <sup>0</sup>.
+               
+                               Scalar files (with only one line) are marked with a trailing superscript <sup>1</sup>.
+               
+                               List files (with multiple lines) are marked with a trailing superscript <sup>min - max</sup> sequence, where min is the minimum and max the maximum number of lines.
+               
+                               Symlinks are marked with a trailing superscript <sup>@</sup>.
+               
+                               Data files have no special mark up.
+               
+                               Symbolic names (variables) are written in <i>italic</i> letters.
+                       </xsl:otherwise>
+               </xsl:choose>
+               
+               <xsl:call-template name="collection">
+                       <xsl:with-param name="thisdir"><xsl:value-of select="$confdir"/></xsl:with-param>
+               </xsl:call-template>
+       </xsl:template>
+
+  <xsl:template name="collection">
+    <xsl:param name="thisdir"/>
+    <xsl:if test="count(scalar) + count(link) + count(program) + count(data) + count(hash) + count(list) + count(boolean) + count(collection)>0">
+      <ul>
+        <xsl:if test="@id"><span><xsl:attribute name="id"><xsl:value-of select="@id" /></xsl:attribute></span></xsl:if>
+        <xsl:call-template name="dir-iterate">
+          <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        </xsl:call-template>
+      </ul>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template name="dir-iterate">
+    <xsl:param name="thisdir"/>
+    <xsl:apply-templates select="scalar|link|program|data|hash|list|boolean">
+      <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+      <xsl:sort select="@name"/>
+    </xsl:apply-templates>
+
+    <xsl:apply-templates select="collection">
+      <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+      <xsl:sort select="@name"/>
+    </xsl:apply-templates>
+  </xsl:template>
+
+  <xsl:template match="program">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">script</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="hash">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">hash</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+  
+  <xsl:template match="scalar">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">file</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="data">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">data</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="list">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">list</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+  
+  <xsl:template match="link">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">symlink</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="boolean">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">boolean</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+  
+  <xsl:template match="collection">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">directory</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+
+      <xsl:call-template name="collection">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/>/<xsl:call-template name="printdirname"/></xsl:with-param>
+      </xsl:call-template>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="collection" mode="printrpath">
+    <xsl:text>/</xsl:text>
+      <span class="{@type}">
+      <xsl:value-of select="@name"/>
+    </span>
+  </xsl:template>
+
+       <xsl:template name="printname">
+               <xsl:param name="thisdir"/>
+               <xsl:param name="style"/>
+               <xsl:if test="@id"><span><xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute></span></xsl:if>
+               <xsl:if test="$style = 'directory'">'''</xsl:if>
+               <xsl:value-of select="$thisdir"/>/<xsl:if test="@type = 'symbolic'">''</xsl:if><xsl:value-of select="@name"/><xsl:if test="@type = 'symbolic'">''</xsl:if>
+               <xsl:choose>
+                       <xsl:when test="$printstylename = 'true'">
+                               <xsl:if test="$style = 'directory'">'''</xsl:if>
+                               <xsl:value-of select="concat(' [',$style,']')"/>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:choose>
+                                       <xsl:when test="$style = 'directory'">/'''</xsl:when>
+                                       <xsl:when test="$style = 'symlink'"><sup>@</sup></xsl:when>
+                                       <xsl:when test="$style = 'boolean'"><sup>0</sup></xsl:when>
+                                       <xsl:when test="$style = 'list'"><sup><xsl:choose>
+                                               <xsl:when test="minElements"><xsl:value-of select="minElements"/></xsl:when>
+                                               <xsl:otherwise>0</xsl:otherwise>
+                                       </xsl:choose><xsl:value-of select="0 + minElements"/>-<xsl:choose>
+                                               <xsl:when test="maxElements"><xsl:value-of select="maxElements"/></xsl:when>
+                                               <xsl:otherwise>&#8734;</xsl:otherwise>
+                                       </xsl:choose></sup></xsl:when>
+                                       <xsl:when test="$style = 'file'"><sup>1</sup></xsl:when>
+                                       <xsl:when test="$style = 'script'"><sup>*</sup></xsl:when>
+                                       <xsl:when test="$style = 'hash'"><sup>#</sup></xsl:when>
+                                       <xsl:when test="$style = 'data'"></xsl:when>
+                                       <xsl:otherwise><sup>???</sup></xsl:otherwise>
+                               </xsl:choose>
+                       </xsl:otherwise>
+               </xsl:choose>
+       </xsl:template>
+       
+       <xsl:template name="printcontent">
+               <br/>
+               <xsl:apply-templates select="description"/>
+               <xsl:call-template name="since"/>
+               <xsl:apply-templates select="default"/>
+               <xsl:call-template name="default"/>
+               <xsl:if test="$printstylename = 'true'">
+                       <xsl:apply-templates select="minElements"/>
+                       <xsl:apply-templates select="maxElements"/>
+               </xsl:if>
+               <xsl:apply-templates select="restriction"/>
+               <xsl:apply-templates select="elements"/>
+               <xsl:apply-templates select="parameterList"/>
+               <xsl:apply-templates select="keys"/>
+       </xsl:template>
+       
+       <!-- Extra content for scalar nodes -->
+       
+       <xsl:template match="restriction">
+               <ul>
+                       <ul>
+                               Allowed values:
+                               <xsl:apply-templates select="enumeration">
+                                       <xsl:sort select="@value"/>
+                               </xsl:apply-templates>
+                       </ul>
+               </ul>
+       </xsl:template>
+       
+       <xsl:template match="restriction/enumeration">
+               <xsl:value-of select="concat('&#13;; ',@value)"/>
+       </xsl:template>
+
+       <!-- Extra content for hash nodes -->
+       
+       <xsl:template match="keys">
+               <ul>
+                       <ul>
+                               <xsl:apply-templates select="key">
+                                       <xsl:sort select="@name"/>
+                               </xsl:apply-templates>
+                       </ul>
+               </ul>
+       </xsl:template>
+       
+       <xsl:template match="keys/key">
+               <xsl:value-of select="concat('&#13;; ',@name,' : ',replace(description,'[\r\n]+',' '))"/>
+       </xsl:template>
+
+       <!-- Extra content for list nodes -->
+       <xsl:template match="minElements">
+               <ul>
+                       <ul>
+                               <xsl:value-of select="concat('&#13;; minimum number of Elements : ',replace('[\r\n]+',' '))"/>
+                       </ul>
+               </ul>
+       </xsl:template>
+       
+       <xsl:template match="maxElements">
+               <ul>
+                       <ul>
+                               <xsl:value-of select="concat('&#13;; maximum number of Elements : ',replace('[\r\n]+',' '))"/>
+                       </ul>
+               </ul>
+       </xsl:template>
+
+       <xsl:template match="elements">
+               <ul>
+                       <ul>
+                               Possible values:
+                               <xsl:apply-templates select="element">
+                                       <xsl:sort select="@name"/>
+                               </xsl:apply-templates>
+                       </ul>
+               </ul>
+       </xsl:template>
+       
+       <xsl:template match="elements/element">
+               <xsl:value-of select="concat('&#13;; ',@name,' : ',replace(description,'[\r\n]+',' '))"/>
+       </xsl:template>
+       
+       <!-- Extra content for program nodes -->
+       
+       <xsl:template match="parameterList">
+               <ul>
+                       <ul>
+                               Will be called with the following parameters:
+                               <xsl:apply-templates select="parameter"/>
+                       </ul>
+               </ul>
+       </xsl:template>
+       
+       <xsl:template match="parameterList/parameter">
+               <xsl:value-of select="concat('&#13;; ',@name,' : ',replace(description,'[\r\n]+',' '))"/>
+       </xsl:template>
+       
+       <!-- Extra content for all nodes -->
+       
+       <xsl:template match="default">
+               <ul><ul><xsl:value-of select="concat('&#13;; Default : ',replace(.,'[\r\n]+',' '))"/></ul></ul>
+       </xsl:template>
+
+       <xsl:template name="default"><xsl:if test="@default">
+               <ul><ul>&#13;; Default : <xsl:value-of select="@default"/></ul></ul>
+       </xsl:if></xsl:template>"
+  
+       <xsl:template name="since"><xsl:if test="@since">
+               <ul><ul>&#13;; Since Version : <xsl:value-of select="@since"/></ul></ul>
+       </xsl:if></xsl:template>
+       
+       <!-- -->
+       
+       <xsl:template name="printdirname"><xsl:if test="@type='symbolic'">''</xsl:if><xsl:value-of select="@name"/><xsl:if test="@type='symbolic'">''</xsl:if></xsl:template>
+       <xsl:template match="description"><xsl:apply-templates/></xsl:template>
+       <xsl:template match="ulink">[<xsl:value-of select="@url"/><xsl:value-of select="concat(' ',replace(.,'[\r\n]+',' '))"/>]</xsl:template>
+       <xsl:template match="br"><br /></xsl:template>
+       <xsl:template match="p"><div><xsl:apply-templates/></div></xsl:template>
+       <xsl:template match="tool"><code><xsl:apply-templates/></code></xsl:template>
+       <xsl:template match="command"><code><xsl:apply-templates/></code></xsl:template>
+       <xsl:template match="directory"><xsl:apply-templates/></xsl:template>
+       <xsl:template match="optionref">[[#<xsl:choose>
+               <xsl:when test="@ref"><xsl:value-of select="@ref"/></xsl:when>
+               <xsl:otherwise><xsl:apply-templates/></xsl:otherwise>
+       </xsl:choose>|<xsl:apply-templates/>]]</xsl:template>
+       
+       <xsl:template match="filename">[file://<xsl:value-of select="text()"/>]</xsl:template>
+  
+</xsl:stylesheet>
index 7965f19..107b057 100644 (file)
   <xsl:template match="database">
     <head>
       <title>The <xsl:value-of select="$confdir"/> directory</title>
-      <link rel="stylesheet"           title="gras"     type="text/css" href="css/configuration-lsd.css" />
+      <link rel="alternate stylesheet" title="gras"     type="text/css" href="css/configuration-lsd.css" />
       <link rel="alternate stylesheet" title="gras1"    type="text/css" href="css/configuration-lsd1.css" />
       <link rel="alternate stylesheet" title="flower"   type="text/css" href="css/configuration-flower.css" />
       <link rel="alternate stylesheet" title="boring"   type="text/css" href="configuration.css" />
-      <link rel="alternate stylesheet" title="weedpage" type="text/css" href="css/WeedPageStyle.css" />
+      <link rel="stylesheet"           title="weedpage" type="text/css" href="css/WeedPageStyle.css" />
     </head>
     <body>
       <h1>The content of the <xsl:value-of select="$confdir"/> directory</h1>
index e82d9e8..5fced83 100644 (file)
@@ -4,11 +4,11 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>The /etc/vservers directory</title>
-    <link rel="stylesheet" title="gras" type="text/css" href="css/configuration-lsd.css" />
+    <link rel="alternate stylesheet" title="gras" type="text/css" href="css/configuration-lsd.css" />
     <link rel="alternate stylesheet" title="gras1" type="text/css" href="css/configuration-lsd1.css" />
     <link rel="alternate stylesheet" title="flower" type="text/css" href="css/configuration-flower.css" />
     <link rel="alternate stylesheet" title="boring" type="text/css" href="configuration.css" />
-    <link rel="alternate stylesheet" title="weedpage" type="text/css" href="css/WeedPageStyle.css" />
+    <link rel="stylesheet" title="weedpage" type="text/css" href="css/WeedPageStyle.css" />
   </head>
   <body>
     <h1>The content of the /etc/vservers directory</h1>
         <span class="directory">/etc/vservers/<span class="">.defaults</span></span>
         <br />
         <ul>
+          <li>
+            <span class="symlink" title="/etc/vservers/.defaults/cachebase">cachebase</span>
+            <br />
+            <div class="description">
+A link to the directory which will hold cached information about
+vservers.
+      </div>
+          </li>
+          <li id="global-namespace-cleanup-skip">
+            <span class="list" title="/etc/vservers/.defaults/namespace-cleanup-skip">namespace-cleanup-skip</span>
+            <br />
+            <div class="description">
+List of paths to skip during namespace cleanup.
+      </div>
+          </li>
           <li id="global-nonamespace">
             <span class="boolean" title="/etc/vservers/.defaults/nonamespace">nonamespace</span>
             <br />
@@ -27,6 +42,15 @@ there.
 
 In this mode the <span class="directoryname">/vservers</span> directory must have
 the 'barrier' attribute. Else, common chroot(2) exploits are possible.
+      </div>
+          </li>
+          <li id="global-nonamespace-cleanup">
+            <span class="boolean" title="/etc/vservers/.defaults/nonamespace-cleanup">nonamespace-cleanup</span>
+            <br />
+            <div class="description">
+Disable namespace cleanup globally. It can be overridden for a single vserver
+by setting the <a class="optionref" href="#namespace-cleanup">namespace-cleanup</a> flag
+there.
       </div>
           </li>
           <li>
@@ -76,6 +100,14 @@ from this uri and install it at a temporary place.
                 <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">apps</span>/<span class="">init</span></span>
                 <br />
                 <ul>
+                  <li id="global-environment">
+                    <span class="hash" title="/etc/vservers/.defaults/apps/init/environment">environment</span>
+                    <br />
+                    <div class="description">
+The environment to set when starting guests. Contains one VAR=VAL
+pair per line.
+         </div>
+                  </li>
                   <li>
                     <span class="symlink" title="/etc/vservers/.defaults/apps/init/tty">tty</span>
                     <br />
@@ -103,6 +135,19 @@ distribution specific configuration file.
                   </li>
                 </ul>
               </li>
+              <li>
+                <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">apps</span>/<span class="">vlogin</span></span>
+                <br />
+                <ul>
+                  <li id="vlogin-disable">
+                    <span class="boolean" title="/etc/vservers/.defaults/apps/vlogin/disable">disable</span>
+                    <br />
+                    <div class="description">
+When this file exists, vlogin isn't used on vserver &lt;guest&gt; enter.
+         </div>
+                  </li>
+                </ul>
+              </li>
               <li>
                 <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">apps</span>/<span class="">vprocunhide</span></span>
                 <br />
@@ -111,7 +156,7 @@ distribution specific configuration file.
                     <span class="list" title="/etc/vservers/.defaults/apps/vprocunhide/files">files</span>
                     <br />
                     <div class="description">
-A list of files which will be made visibly by vprocunhide. Wildcards are
+A list of files which will be made visible by vprocunhide. Wildcards are
 allowed and anything ending in '/' will be processed recursively. When this file exists,
 it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
 absolute filenames inclusive the leading '/proc'.
@@ -236,6 +281,20 @@ filesystem.
               </li>
             </ul>
           </li>
+          <li>
+            <span class="directory">/etc/vservers/<span class="">.defaults</span>/<span class="">interfaces</span></span>
+            <br />
+            <ul>
+              <li id="global-vlandev">
+                <span class="boolean" title="/etc/vservers/.defaults/interfaces/vlandev">vlandev</span>
+                <br />
+                <div class="description">
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
+       </div>
+              </li>
+            </ul>
+          </li>
         </ul>
       </li>
       <li>
@@ -366,9 +425,16 @@ The configuration directory for the vserver vserver-name.
             <span class="list" title="/etc/vservers/$vserver-name/bcapabilities">bcapabilities</span>
             <br />
             <div class="description">
-[experimental; name is subject of possible change] Contains the system capabilities. See
-<a href="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/bcaps-v13.c?rev=HEAD">lib/bcaps-v13.c</a>
+Contains the system capabilities. See
+<a href="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/bcaps-v13.c">lib/bcaps-v13.c</a>
 for possible values.
+      </div>
+          </li>
+          <li>
+            <span class="symlink" title="/etc/vservers/$vserver-name/cache">cache</span>
+            <br />
+            <div class="description">
+Path of the storage area for cached information about this vserver.
       </div>
           </li>
           <li>
@@ -383,8 +449,7 @@ only; for 2.6 use <a class="optionref" href="#bcapabilities">bcapabilities</a>.
             <span class="list" title="/etc/vservers/$vserver-name/ccapabilities">ccapabilities</span>
             <br />
             <div class="description">
-[experimental; name is subject of possible change] Contains the
-context capabilities. See <a href="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/ccaps-v13.c?rev=HEAD">lib/ccaps-v13.c</a>
+Contains the context capabilities. See <a href="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ccaps-v13.c">lib/ccaps-v13.c</a>
 for possible values.
       </div>
           </li>
@@ -399,54 +464,9 @@ Contains the context which shall be used for the vserver.
             <span class="list" title="/etc/vservers/$vserver-name/flags">flags</span>
             <br />
             <div class="description">
-Contains per line a flag. See <a href="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/cflags-v13.c?rev=HEAD">lib/cflags-v13.c</a>
+Contains per line a flag. See <a href="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/cflags-v13.c">lib/cflags-v13.c</a>
 for possible values.
       </div>
-            <div class="elements">
-              <dl>
-                <dt class="elements">fakeinit</dt>
-                <dd class="elements">
-                  <div class="description">
-The new process will believe it is process number 1. Useful to run a
-real /sbin/init in a vserver. Warning: this flag should not be used
-unless you know what you are doing. Often, it is better to use the
-'plain' initstyle.
-          </div>
-                </dd>
-                <dt class="elements">lock</dt>
-                <dd class="elements">
-                  <div class="description">
-The new process is trapped and can't use chcontext anymore.
-          </div>
-                </dd>
-                <dt class="elements">nproc</dt>
-                <dd class="elements">
-                  <div class="description">
-Limit the number of process in the vserver according to
-ulimit setting. Normally, ulimit is a per user thing.
-With this flag, it becomes a per vserver thing.  
-          </div>
-                </dd>
-                <dt class="elements">private</dt>
-                <dd class="elements">
-                  <div class="description">
-No one can join this security context once created.
-          </div>
-                </dd>
-                <dt class="elements">sched</dt>
-                <dd class="elements">
-                  <div class="description">
-The new process and its children will share a common
-          </div>
-                </dd>
-                <dt class="elements">ulimit</dt>
-                <dd class="elements">
-                  <div class="description">
-Apply the current ulimit to the whole context
-          </div>
-                </dd>
-              </dl>
-            </div>
           </li>
           <li id="fstab">
             <span class="data" title="/etc/vservers/$vserver-name/fstab">fstab</span>
@@ -483,6 +503,39 @@ will be assumed as this name.
             <div class="description">
 Overrides the global <a class="optionref" href="#global-nonamespace">nonamespace</a> flag and enables
 namespace usage for the current vserver.
+      </div>
+          </li>
+          <li id="namespace-cleanup">
+            <span class="boolean" title="/etc/vservers/$vserver-name/namespace-cleanup">namespace-cleanup</span>
+            <br />
+            <div class="description">
+Overrides the global <a class="optionref" href="#global-nonamespace-cleanup">nonamespace-cleanup</a> flag and enables
+namespace cleanup for the current vserver.
+      </div>
+          </li>
+          <li>
+            <span class="list" title="/etc/vservers/$vserver-name/namespace-cleanup-skip">namespace-cleanup-skip</span>
+            <br />
+            <div class="description">
+List of paths to skip during namespace cleanup. This overrides the global
+<a class="optionref" href="#global-namespace-cleanup-skip">namespace-cleanup-skip</a>
+file.
+      </div>
+          </li>
+          <li>
+            <span class="list" title="/etc/vservers/$vserver-name/ncapabilities">ncapabilities</span>
+            <br />
+            <div class="description">
+Contains the network capabilities. See <a href="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ncaps-net.c">lib/ncaps-net.c</a>
+for possible values.
+      </div>
+          </li>
+          <li>
+            <span class="list" title="/etc/vservers/$vserver-name/nflags">nflags</span>
+            <br />
+            <div class="description">
+Contains a network flag per line. See <a href="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/nflags-net.c">lib/nflags-net.c</a>
+for possible values.
       </div>
           </li>
           <li>
@@ -524,7 +577,7 @@ the vserver is stopped, this can be a dangling symlink.
             <span class="hash" title="/etc/vservers/$vserver-name/schedule">schedule</span>
             <br />
             <div class="description">
-[experimental; name is subject of possible change] Contains the
+[deprecated; use <a class="optionref" href="#sched">sched</a> instead] Contains the
 scheduler parameters, one per line.
 
 The Hard CPU limit uses a mechanism called a Token Bucket.  the
@@ -535,6 +588,9 @@ a running process consumes one token from the bucket, unless the
 bucket is empty. If the bucket is empty the process is put in the
 hold queue. When the bucket has been refilled to at least M tokens,
 all on hold processes are rescheduled.
+
+See the <a href="http://linux-vserver.org/Scheduler+Parameters">Linux
+VServer Wiki</a> for more information about this file.
       </div>
           </li>
           <li>
@@ -549,7 +605,7 @@ Contains the pathname of the shell which will be used by the "vserver
             <span class="symlink" title="/etc/vservers/$vserver-name/vdir">vdir</span>
             <br />
             <div class="description">
-Path of the vserver root directory
+Path of the vserver root directory.
       </div>
           </li>
           <li>
@@ -613,6 +669,14 @@ the current vserver can be started. At shutdown, the current vserver
 will be stopped before its dependencies. Content of this file are
 vserver ids (one name per line).
           </div>
+                  </li>
+                  <li>
+                    <span class="hash" title="/etc/vservers/$vserver-name/apps/init/environment">environment</span>
+                    <br />
+                    <div class="description">
+The environment to set when starting the guest. Contains one VAR=VAL
+pair per line.
+         </div>
                   </li>
                   <li>
                     <span class="file" title="/etc/vservers/$vserver-name/apps/init/killseq">killseq</span>
@@ -721,7 +785,7 @@ the vs_reboot() function in the kernel for more details.
                     <br />
                     <div class="description">
 The timeout in seconds which is used when synchronising vserver
-startup/shutdown with the vshelper. When no set, 30 seconds will be
+startup/shutdown with the vshelper. When not set, 30 seconds will be
 assumed.
          </div>
                   </li>
@@ -825,6 +889,74 @@ filesystem.
               </li>
             </ul>
           </li>
+          <li>
+            <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">cpuset</span></span>
+            <br />
+            <ul>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/cpu_exclusive">cpu_exclusive</span>
+                <br />
+                <div class="description">Is the CPU assignment exclusive?</div>
+              </li>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/cpus">cpus</span>
+                <br />
+                <div class="description">The list of CPUs in this cpuset</div>
+              </li>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/mems">mems</span>
+                <br />
+                <div class="description">The list of Memory Nodes in this cpuset</div>
+              </li>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/mems_exclusive">mems_exclusive</span>
+                <br />
+                <div class="description">Is the memory node assignment exclusive?</div>
+              </li>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/name">name</span>
+                <br />
+                <div class="description">The name of the cpuset for this vserver</div>
+              </li>
+              <li>
+                <span class="file" title="/etc/vservers/$vserver-name/cpuset/nocreate">nocreate</span>
+                <br />
+                <div class="description">When this file exists, the cpuset will be assumed to exist already</div>
+              </li>
+            </ul>
+          </li>
+          <li>
+            <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">dlimits</span></span>
+            <br />
+            <ul>
+              <li>
+                <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">dlimits</span>/<span class="symbolic">dlimit</span></span>
+                <br />
+                <ul>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/dlimits/$dlimit/directory">directory</span>
+                    <br />
+                    <div class="description">The directory to which the limit should be applied</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/dlimits/$dlimit/inodes_total">inodes_total</span>
+                    <br />
+                    <div class="description">The amount of inodes this vserver should be limited to</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/dlimits/$dlimit/reserved">reserved</span>
+                    <br />
+                    <div class="description">How much space (percentage-wise) should be reserved for the root user</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/dlimits/$dlimit/space_total">space_total</span>
+                    <br />
+                    <div class="description">The amount of space this vserver should be limited to (measured in blocks of 1024 bytes)</div>
+                  </li>
+                </ul>
+              </li>
+            </ul>
+          </li>
           <li>
             <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">interfaces</span></span>
             <br />
@@ -844,6 +976,16 @@ filesystem.
                 <br />
                 <div class="description">The default network mask.</div>
               </li>
+              <li id="local-novlandev">
+                <span class="boolean" title="/etc/vservers/$vserver-name/interfaces/novlandev">novlandev</span>
+                <br />
+                <div class="description">
+When this file exists, the steps which setup and destroy a VLAN
+interface will be skipped. This overrides the global
+<a class="optionref" href="#global-vlandev">vlandev</a> setting for
+this vserver.
+       </div>
+              </li>
               <li>
                 <span class="file" title="/etc/vservers/$vserver-name/interfaces/prefix">prefix</span>
                 <br />
@@ -854,6 +996,14 @@ filesystem.
                 <br />
                 <div class="description">The default scope of the network interfaces.</div>
               </li>
+              <li id="local-vlandev">
+                <span class="boolean" title="/etc/vservers/$vserver-name/interfaces/vlandev">vlandev</span>
+                <br />
+                <div class="description">
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed for all interfaces of this vserver.
+       </div>
+              </li>
               <li>
                 <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">interfaces</span>/<span class="symbolic">iface</span></span>
                 <br />
@@ -906,6 +1056,16 @@ a labeled interface is known as an "alias" also (e.g. 'eth0:foo').
 When this file exists, the interface will be assumed to exist
 already. This can be used to assign primary interfaces which are
 created by the host or another vserver.
+         </div>
+                  </li>
+                  <li>
+                    <span class="boolean" title="/etc/vservers/$vserver-name/interfaces/$iface/novlandev">novlandev</span>
+                    <br />
+                    <div class="description">
+When this file exists, the steps which setup and destroy a VLAN
+interface will be skipped. This will override the global
+<a class="optionref" href="#global-vlandev">vlandev</a> and the per-guest
+<a class="optionref" href="#local-vlandev">vlandev</a>.
          </div>
                   </li>
                   <li>
@@ -918,6 +1078,14 @@ created by the host or another vserver.
                     <br />
                     <div class="description">The scope of the network interface.</div>
                   </li>
+                  <li>
+                    <span class="boolean" title="/etc/vservers/$vserver-name/interfaces/$iface/vlandev">vlandev</span>
+                    <br />
+                    <div class="description">
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
+         </div>
+                  </li>
                 </ul>
               </li>
             </ul>
@@ -927,7 +1095,8 @@ created by the host or another vserver.
             <br />
             <div class="description">
 A directory with resource limits. Possible resources are cpu, fsize,
-data, stack, core, rss, nproc, nofile, memlock, as and locks. This
+data, stack, core, rss, nproc, nofile, memlock, as, locks, msgqueue,
+nsock, openfd, anon, shmem, semary, nsems and dentry. This
 configuration will be honored for kernel 2.6 only.
       </div>
             <ul>
@@ -943,7 +1112,7 @@ in the first line. The special keyword 'inf' is recognized.
                 <span class="file" title="/etc/vservers/$vserver-name/rlimits/$resource.hard">resource.hard</span>
                 <br />
                 <div class="description">
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </div>
               </li>
@@ -951,7 +1120,7 @@ line. The special keyword 'inf' is recognized.
                 <span class="file" title="/etc/vservers/$vserver-name/rlimits/$resource.min">resource.min</span>
                 <br />
                 <div class="description">
-A file which contains the guaranted minimum of the given resource in
+A file which contains the guaranteed minimum of the given resource in
 the first line. The special keyword 'inf' is recognized.
         </div>
               </li>
@@ -959,12 +1128,125 @@ the first line. The special keyword 'inf' is recognized.
                 <span class="file" title="/etc/vservers/$vserver-name/rlimits/$resource.soft">resource.soft</span>
                 <br />
                 <div class="description">
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </div>
               </li>
             </ul>
           </li>
+          <li id="sched">
+            <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">sched</span></span>
+            <br />
+            <ul id="sched">
+              <li id="global-fill-rate">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/fill-rate">fill-rate</span>
+                <br />
+                <div class="description">Amount of tokens to add each <a class="optionref" href="#global-interval">interval</a></div>
+              </li>
+              <li id="global-fill-rate2">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/fill-rate2">fill-rate2</span>
+                <br />
+                <div class="description">Amount of tokens to add each <a class="optionref" href="#global-interval2">interval2</a> when advancing idle time</div>
+              </li>
+              <li id="global-idle-time">
+                <span class="boolean" title="/etc/vservers/$vserver-name/sched/idle-time">idle-time</span>
+                <br />
+                <div class="description">When this file exists, advancing idle time is activated</div>
+              </li>
+              <li id="global-interval">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/interval">interval</span>
+                <br />
+                <div class="description">The interval between refills of the bucket</div>
+              </li>
+              <li id="global-interval2">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/interval2">interval2</span>
+                <br />
+                <div class="description">The interval between refills of the bucket when advancing idle time</div>
+              </li>
+              <li id="global-priority-bias">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/priority-bias">priority-bias</span>
+                <br />
+                <div class="description">Bias added to priorities calculated within the guest (result is clamped to -20/+19)</div>
+              </li>
+              <li id="global-tokens">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/tokens">tokens</span>
+                <br />
+                <div class="description">The initial amount of tokens to put in the bucket</div>
+              </li>
+              <li id="global-tokens-max">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/tokens-max">tokens-max</span>
+                <br />
+                <div class="description">The bucket's size</div>
+              </li>
+              <li id="global-tokens-min">
+                <span class="file" title="/etc/vservers/$vserver-name/sched/tokens-min">tokens-min</span>
+                <br />
+                <div class="description">The minimum amount of tokens required to unhold the context</div>
+              </li>
+              <li>
+                <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">sched</span>/<span class="symbolic">cpu-id</span></span>
+                <br />
+                <div class="description">This directory contains per-CPU and/or per-bucket specific settings. Remember to set the <a class="optionref" href="#cpu-id">cpu-id</a> file. All CPUs inherit the global settings.</div>
+                <ul>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/bucket-id">bucket-id</span>
+                    <br />
+                    <div class="description">The bucket to apply these settings to</div>
+                  </li>
+                  <li id="cpu-id">
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/cpu-id">cpu-id</span>
+                    <br />
+                    <div class="description">The CPU to apply these settings to</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/fill-rate">fill-rate</span>
+                    <br />
+                    <div class="description">Amount of tokens to add each <a class="optionref" href="#local-interval">interval</a></div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/fill-rate2">fill-rate2</span>
+                    <br />
+                    <div class="description">Amount of tokens to add each <a class="optionref" href="#local-interval2">interval2</a> when advancing idle time</div>
+                  </li>
+                  <li>
+                    <span class="boolean" title="/etc/vservers/$vserver-name/sched/$cpu-id/idle-time">idle-time</span>
+                    <br />
+                    <div class="description">When this file exists, advancing idle time is activated</div>
+                  </li>
+                  <li id="local-interval">
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/interval">interval</span>
+                    <br />
+                    <div class="description">The interval between refills of the bucket</div>
+                  </li>
+                  <li id="local-interval2">
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/interval2">interval2</span>
+                    <br />
+                    <div class="description">The interval between refills of the bucket when advancing idle time</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/priority-bias">priority-bias</span>
+                    <br />
+                    <div class="description">Bias added to priorities calculated within the guest (result is clamped to -20/+19)</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/tokens">tokens</span>
+                    <br />
+                    <div class="description">The initial amount of tokens to put in the bucket</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/tokens-max">tokens-max</span>
+                    <br />
+                    <div class="description">The bucket's size</div>
+                  </li>
+                  <li>
+                    <span class="file" title="/etc/vservers/$vserver-name/sched/$cpu-id/tokens-min">tokens-min</span>
+                    <br />
+                    <div class="description">The minimum amount of tokens required to unhold the context</div>
+                  </li>
+                </ul>
+              </li>
+            </ul>
+          </li>
           <li>
             <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">scripts</span></span>
             <br />
@@ -976,6 +1258,15 @@ environment variable must be set by one of the in-shellcontext scripts
 (the non-executable ones).
       </div>
             <ul>
+              <li>
+                <span class="script" title="/etc/vservers/$vserver-name/scripts/initialize">initialize</span>
+                <br />
+                <div class="description">
+The scriptlet which will be executed before the root filesystem is mounted and
+the configuration has been loaded. Before executing the script, the
+configuration directory will be made the working directory.
+        </div>
+              </li>
               <li>
                 <span class="script" title="/etc/vservers/$vserver-name/scripts/post-start">post-start</span>
                 <br />
@@ -1032,6 +1323,21 @@ enabled and the directories are mounted. Before executing the script,
 the configuration directory will be made the working directory.
         </div>
               </li>
+              <li>
+                <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">scripts</span>/<span class="">initialize.d</span></span>
+                <br />
+                <div class="description">
+Repository of initialize like scripts.  Before executing the script,
+the configuration directory will be made the working directory.
+        </div>
+                <ul>
+                  <li>
+                    <span class="script" title="/etc/vservers/$vserver-name/scripts/initialize.d/$script">script</span>
+                    <br />
+                    <div class="description">See initialize.</div>
+                  </li>
+                </ul>
+              </li>
               <li>
                 <span class="directory">/etc/vservers/<span class="symbolic">vserver-name</span>/<span class="">scripts</span>/<span class="">post-start.d</span></span>
                 <br />
@@ -1129,8 +1435,7 @@ the configuration directory will be made the working directory.
             <br />
             <div class="description">
 A directory with ulimits. Possible resources are cpu, data, fsize,
-locks, memlock, nofile, nproc, rss and/or stack. This configuration
-will be honored for kernel 2.4 only.
+locks, memlock, nofile, nproc, rss and/or stack.
       </div>
             <ul>
               <li>
@@ -1145,7 +1450,7 @@ in the first line. The special keyword 'inf' is recognized.
                 <span class="file" title="/etc/vservers/$vserver-name/ulimits/$resource.hard">resource.hard</span>
                 <br />
                 <div class="description">
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </div>
               </li>
@@ -1153,7 +1458,7 @@ line. The special keyword 'inf' is recognized.
                 <span class="file" title="/etc/vservers/$vserver-name/ulimits/$resource.soft">resource.soft</span>
                 <br />
                 <div class="description">
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </div>
               </li>
index 04b5ecf..606cc23 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE database SYSTEM "configuration.dtd" []>
-<!-- $Id: configuration.xml,v 1.36 2005/07/03 14:03:42 ensc Exp $ -->
+<!-- $Id: configuration.xml 2397 2006-11-24 14:12:22Z dhozac $ -->
 
 <database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:noNamespaceSchemaLocation="file:configuration.xsd">
       <description>A link to the default vserver rootdirectory.</description>
     </link>
 
+    <link name="cachebase">
+      <default>/var/cache/vservers</default>
+      <description>
+A link to the directory which will hold cached information about
+vservers.
+      </description>
+    </link>
 
     <boolean id="global-nonamespace" name="nonamespace">
       <description>
@@ -30,6 +37,20 @@ the 'barrier' attribute. Else, common chroot(2) exploits are possible.
       </description>
     </boolean>
 
+    <boolean id="global-nonamespace-cleanup" name="nonamespace-cleanup">
+      <description>
+Disable namespace cleanup globally. It can be overridden for a single vserver
+by setting the <optionref ref="namespace-cleanup">namespace-cleanup</optionref> flag
+there.
+      </description>
+    </boolean>
+
+    <list id="global-namespace-cleanup-skip" name="namespace-cleanup-skip">
+      <description>
+List of paths to skip during namespace cleanup.
+      </description>
+    </list>
+
     <link name="run.rev">
       <description>
 Path of the vserver run reverse directory. This directory contains
@@ -46,7 +67,7 @@ a vserver specific setting.
       <collection name="pkgmgmt">
        <link name="base">
          <default>/vservers/.pkg</default>
-       </link> 
+       </link>
        <data name="apt.conf">
          <description>The default apt.conf which is going to be used. It is overridden by
 distribution specific configuration file.
@@ -110,7 +131,7 @@ skipped.
       <collection name="vprocunhide">
        <list name="files">
          <description>
-A list of files which will be made visibly by vprocunhide. Wildcards are
+A list of files which will be made visible by vprocunhide. Wildcards are
 allowed and anything ending in '/' will be processed recursively. When this file exists,
 it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
 absolute filenames inclusive the leading '/proc'.
@@ -125,6 +146,13 @@ A symlink to the TTY device where input/output will be redirected from/to
 at startup via initscript.
           </description>
        </link>
+
+       <hash id="global-environment" name="environment" since="0.30.211">
+         <description>
+The environment to set when starting guests. Contains one VAR=VAL
+pair per line.
+         </description>
+       </hash>
       </collection>
       
       <collection name="vunify">
@@ -168,6 +196,23 @@ operation will fail. Most tools assume 'on' as the default value.
        </boolean>
 
       </collection>
+
+      <collection name="vlogin">
+       <boolean id="vlogin-disable" name="disable" since="0.30.212">
+         <description>
+When this file exists, vlogin isn't used on vserver &lt;guest&gt; enter.
+         </description>
+       </boolean>
+      </collection>
+    </collection>
+
+    <collection name="interfaces" use="optional">
+      <boolean id="global-vlandev" name="vlandev" since="0.30.211">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
+       </description>
+      </boolean>
     </collection>
   </collection>
     
@@ -208,9 +253,9 @@ Script which will be executed before packages will be installed.
 The configuration directory of the vserver which is going to be set up.
             </description>
          </parameter>
-         <parameter name="vserver">
+         <parameter name="util-vserver-vars">
            <description>
-The pathname of the vserver binary.
+The pathname of the util-vserver-vars file.
             </description>
          </parameter>
        </parameterList>
@@ -227,7 +272,7 @@ The configuration directory of the vserver which is going to be set up.
          </parameter>
          <parameter name="vserver">
            <description>
-The pathname of the vserver binary.
+The pathname of the util-vserver-vars file.
             </description>
          </parameter>
        </parameterList>
@@ -283,10 +328,18 @@ this distribution.
     <description>
 The configuration directory for the vserver vserver-name.
     </description>
+
+    <link name="cache">
+      <default>../.defaults/cachebase/VSERVERNAME</default>
+      <description>
+Path of the storage area for cached information about this vserver.
+      </description>
+    </link>
     
     <link name="vdir">
+      <default>../.defaults/vdirbase/VSERVERNAME</default>
       <description>
-Path of the vserver root directory
+Path of the vserver root directory.
       </description>
     </link>
 
@@ -299,16 +352,22 @@ the vserver is stopped, this can be a dangling symlink.
 
     <list id="bcapabilities" name="bcapabilities">
       <description>
-[experimental; name is subject of possible change] Contains the system capabilities. See
-<ulink url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/bcaps-v13.c?rev=HEAD">lib/bcaps-v13.c</ulink>
+Contains the system capabilities. See
+<ulink url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/bcaps-v13.c">lib/bcaps-v13.c</ulink>
 for possible values.
       </description>
     </list>
     <list name="ccapabilities">
       <description>
-[experimental; name is subject of possible change] Contains the
-context capabilities. See <ulink
-url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/ccaps-v13.c?rev=HEAD">lib/ccaps-v13.c</ulink>
+Contains the context capabilities. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ccaps-v13.c">lib/ccaps-v13.c</ulink>
+for possible values.
+      </description>
+    </list>
+    <list name="ncapabilities" since="0.30.212">
+      <description>
+Contains the network capabilities. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ncaps-net.c">lib/ncaps-net.c</ulink>
 for possible values.
       </description>
     </list>
@@ -329,9 +388,24 @@ the 'barrier' attribute. Else, common chroot(2) exploits are possible.
       </description>
     </boolean>
 
+    <boolean id="namespace-cleanup" name="namespace-cleanup">
+      <description>
+Overrides the global <optionref ref="global-nonamespace-cleanup">nonamespace-cleanup</optionref> flag and enables
+namespace cleanup for the current vserver.
+      </description>
+    </boolean>
+
+    <list name="namespace-cleanup-skip">
+      <description>
+List of paths to skip during namespace cleanup. This overrides the global
+<optionref ref="global-namespace-cleanup-skip">namespace-cleanup-skip</optionref>
+file.
+      </description>
+    </list>
+
     <hash name="schedule">
       <description>
-[experimental; name is subject of possible change] Contains the
+[deprecated; use <optionref ref="sched">sched</optionref> instead] Contains the
 scheduler parameters, one per line.
 
 The Hard CPU limit uses a mechanism called a Token Bucket.  the
@@ -342,6 +416,9 @@ a running process consumes one token from the bucket, unless the
 bucket is empty. If the bucket is empty the process is put in the
 hold queue. When the bucket has been refilled to at least M tokens,
 all on hold processes are rescheduled.
+
+See the <ulink url="http://linux-vserver.org/Scheduler+Parameters">Linux
+VServer Wiki</ulink> for more information about this file.
       </description>
       <keys>
        <key id="fill_rate" name="fill-rate">
@@ -411,9 +488,10 @@ values.
     <list name="flags">
       <description>
 Contains per line a flag. See <ulink
-url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/cflags-v13.c?rev=HEAD">lib/cflags-v13.c</ulink>
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/cflags-v13.c">lib/cflags-v13.c</ulink>
 for possible values.
       </description>
+      <!--
       <elements>
        <element name="fakeinit">
          <description>
@@ -437,7 +515,7 @@ The new process and its children will share a common
          <description>
 Limit the number of process in the vserver according to
 ulimit setting. Normally, ulimit is a per user thing.
-With this flag, it becomes a per vserver thing.  
+With this flag, it becomes a per vserver thing.
           </description>
        </element>
        <element name="private">
@@ -451,6 +529,14 @@ Apply the current ulimit to the whole context
           </description>
        </element>
       </elements>
+      -->
+    </list>
+    <list name="nflags" since="0.30.212">
+      <description>
+Contains a network flag per line. See <ulink
+url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/nflags-net.c">lib/nflags-net.c</ulink>
+for possible values.
+      </description>
     </list>
     <scalar name="context">
       <description>
@@ -491,7 +577,6 @@ Contains the init-style.
            <enumeration value="sysv"/>
            <enumeration value="plain"/>
            <enumeration value="minit"/>
-           <enumeration value="gento"/>
          </restriction>
        </scalar>
        
@@ -581,6 +666,13 @@ will be stopped before its dependencies. Content of this file are
 vserver ids (one name per line).
           </description>
        </list>
+
+       <hash name="environment" since="0.30.211">
+         <description>
+The environment to set when starting the guest. Contains one VAR=VAL
+pair per line.
+         </description>
+       </hash>
       </collection>
       
       <collection name="vshelper">
@@ -588,7 +680,7 @@ vserver ids (one name per line).
          <default>30</default>
          <description>
 The timeout in seconds which is used when synchronising vserver
-startup/shutdown with the vshelper. When no set, 30 seconds will be
+startup/shutdown with the vshelper. When not set, 30 seconds will be
 assumed.
          </description>
        </scalar>
@@ -729,16 +821,16 @@ environment variable must be set by one of the in-shellcontext scripts
 (the non-executable ones).
       </description>
       
-      <program name="prepre-start">
+      <program name="initialize" since="0.30.211">
        <description>
-The scriptlet which will be executed before the network-interfaces are
-enabled and the directories are mounted. Before executing the script,
-the configuration directory will be made the working directory.
+The scriptlet which will be executed before the root filesystem is mounted and
+the configuration has been loaded. Before executing the script, the
+configuration directory will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
+         <parameter name="action">
            <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
          <parameter name="vserver-name">
@@ -746,24 +838,60 @@ The configuration directory of the current vserver.
 The name of the current vserver.
             </description>
          </parameter>
+       </parameterList>
+      </program>
+      <collection name="initialize.d" since="0.30.211">
+       <description>
+Repository of initialize like scripts.  Before executing the script,
+the configuration directory will be made the working directory.
+        </description>
+       <program name="script" type="symbolic">
+         <description>See initialize.</description>
+         <parameterList>
+           <parameter name="action">
+             <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+              </description>
+           </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
+         </parameterList>
+       </program>
+      </collection>
+      
+      <program name="prepre-start">
+       <description>
+The scriptlet which will be executed before the network-interfaces are
+enabled and the directories are mounted. Before executing the script,
+the configuration directory will be made the working directory.
+        </description>
+       <parameterList>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="prepre-start.d">
        <description>
 Repository of prepre-start like scripts.  Before executing the script,
 the configuration directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See prepre-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
+           <parameter name="action">
              <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
            <parameter name="vserver-name">
@@ -771,11 +899,6 @@ The configuration directory of the current vserver.
 The name of the current vserver.
               </description>
            </parameter>
-           <parameter name="action">
-             <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
-              </description>
-           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -788,9 +911,9 @@ been started.  Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
+         <parameter name="action">
            <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
          <parameter name="vserver-name">
@@ -798,32 +921,24 @@ The configuration directory of the current vserver.
 The name of the current vserver.
             </description>
          </parameter>
-         <parameter name="action">
-           <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
-            </description>
-         </parameter>
        </parameterList>
       </program>
       <collection name="pre-start.d">
        <description>
 Repository of pre-start like scripts. Before executing these scripts,
 the vserver root directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See pre-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
+           <parameter name="action">
              <description>
-The configuration directory of the current vserver.
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
            <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
-           <parameter name="action">
              <description>
-The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+The name of the current vserver.
               </description>
            </parameter>
          </parameterList>
@@ -838,17 +953,16 @@ started. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="post-start.d">
@@ -859,17 +973,16 @@ the vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See post-start.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -882,38 +995,36 @@ stopped. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="pre-stop.d">
        <description>
 Repository of pre-stop like scripts. Before executing the script, the
 vserver root directory will be made the working directory.
-        </description>                                                                                                                 
+        </description>
        <program name="script" type="symbolic">
          <description>See pre-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -926,17 +1037,16 @@ interfaces disabled. Before executing the script, the vserver root
 directory will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="post-stop.d">
@@ -947,17 +1057,16 @@ vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See post-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -969,17 +1078,16 @@ completely. Before executing the script, the vserver root directory
 will be made the working directory.
         </description>
        <parameterList>
-         <parameter name="vserver-dir">
-           <description>The configuration directory of the current vserver.</description>
-         </parameter>
-         <parameter name="vserver-name">
-           <description>The name of the current vserver.</description>
-         </parameter>
          <parameter name="action">
            <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
             </description>
          </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
        </parameterList>
       </program>
       <collection name="postpost-stop.d">
@@ -990,17 +1098,16 @@ the vserver root directory will be made the working directory.
        <program name="script" type="symbolic">
          <description>See postpost-stop.</description>
          <parameterList>
-           <parameter name="vserver-dir">
-             <description>The configuration directory of the current vserver.</description>
-           </parameter>
-           <parameter name="vserver-name">
-             <description>The name of the current vserver.</description>
-           </parameter>
            <parameter name="action">
              <description>
 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
               </description>
            </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
          </parameterList>
        </program>
       </collection>
@@ -1022,6 +1129,20 @@ The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
       <scalar name="scope">
        <description>The default scope of the network interfaces.</description>
       </scalar>
+      <boolean id="local-vlandev" name="vlandev" since="0.30.211">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed for all interfaces of this vserver.
+       </description>
+      </boolean>
+      <boolean id="local-novlandev" name="novlandev">
+       <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be skipped. This overrides the global
+<optionref ref="global-vlandev">vlandev</optionref> setting for
+this vserver.
+       </description>
+      </boolean>
       
       <collection name="iface" type="symbolic">
        <description>
@@ -1068,30 +1189,43 @@ already. This can be used to assign primary interfaces which are
 created by the host or another vserver.
          </description>
        </boolean>
+       <boolean name="novlandev">
+         <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be skipped. This will override the global
+<optionref ref="global-vlandev">vlandev</optionref> and the per-guest
+<optionref ref="local-vlandev">vlandev</optionref>.
+         </description>
+       </boolean>
+       <boolean name="vlandev" since="0.30.211">
+         <description>
+When this file exists, the steps which setup and destroy a VLAN
+interface will be executed.
+         </description>
+       </boolean>
       </collection>
     </collection>
     
     <collection name="ulimits">
       <description>
 A directory with ulimits. Possible resources are cpu, data, fsize,
-locks, memlock, nofile, nproc, rss and/or stack. This configuration
-will be honored for kernel 2.4 only.
-      </description>                                                                                                                 
+locks, memlock, nofile, nproc, rss and/or stack.
+      </description>
       <scalar name="resource" type="symbolic">
        <description>
 A file which contains the hard- and soft-limit of the given resource
 in the first line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                            
+      </scalar>
       <scalar name="resource.hard" type="symbolic">
        <description>
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                                             
+      </scalar>
       <scalar name="resource.soft" type="symbolic">
        <description>
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
       </scalar>
@@ -1100,30 +1234,31 @@ line. The special keyword 'inf' is recognized.
     <collection name="rlimits">
       <description>
 A directory with resource limits. Possible resources are cpu, fsize,
-data, stack, core, rss, nproc, nofile, memlock, as and locks. This
+data, stack, core, rss, nproc, nofile, memlock, as, locks, msgqueue,
+nsock, openfd, anon, shmem, semary, nsems and dentry. This
 configuration will be honored for kernel 2.6 only.
-      </description>                                                                                                                 
+      </description>
       <scalar name="resource" type="symbolic">
        <description>
 A file which contains the hard- and soft-limit of the given resource
 in the first line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                            
+      </scalar>
       <scalar name="resource.hard" type="symbolic">
        <description>
-A file which contains the hard- of the given resource in the first
+A file which contains the hard-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
-      </scalar>                                                                                             
+      </scalar>
       <scalar name="resource.soft" type="symbolic">
        <description>
-A file which contains the soft- of the given resource in the first
+A file which contains the soft-limit of the given resource in the first
 line. The special keyword 'inf' is recognized.
        </description>
       </scalar>
       <scalar name="resource.min" type="symbolic">
        <description>
-A file which contains the guaranted minimum of the given resource in
+A file which contains the guaranteed minimum of the given resource in
 the first line. The special keyword 'inf' is recognized.
         </description>
       </scalar>
@@ -1156,5 +1291,109 @@ tools and can *not* be modified.
        <description>The NIS domainname of the vserver</description>
       </scalar>
     </collection>
+
+    <collection name="dlimits" since="0.30.210">
+      <collection name="dlimit" type="symbolic">
+        <scalar name="directory">
+          <description>The directory to which the limit should be applied</description>
+        </scalar>
+        <scalar name="inodes_total">
+          <description>The amount of inodes this vserver should be limited to</description>
+        </scalar>
+        <scalar name="space_total">
+          <description>The amount of space this vserver should be limited to (measured in blocks of 1024 bytes)</description>
+        </scalar>
+        <scalar name="reserved">
+          <description>How much space (percentage-wise) should be reserved for the root user</description>
+        </scalar>
+      </collection>
+    </collection>
+
+    <collection name="cpuset" since="0.30.211">
+      <scalar name="name">
+        <description>The name of the cpuset for this vserver</description>
+      </scalar>
+      <scalar name="cpus">
+        <description>The list of CPUs in this cpuset</description>
+      </scalar>
+      <scalar name="mems">
+        <description>The list of Memory Nodes in this cpuset</description>
+      </scalar>
+      <scalar name="cpu_exclusive">
+        <description>Is the CPU assignment exclusive?</description>
+      </scalar>
+      <scalar name="mems_exclusive">
+        <description>Is the memory node assignment exclusive?</description>
+      </scalar>
+      <scalar name="nocreate">
+        <description>When this file exists, the cpuset will be assumed to exist already</description>
+      </scalar>
+    </collection>
+
+    <collection id="sched" name="sched" since="0.30.212">
+      <scalar id="global-tokens" name="tokens">
+        <description>The initial amount of tokens to put in the bucket</description>
+      </scalar>
+      <scalar id="global-tokens-min" name="tokens-min">
+        <description>The minimum amount of tokens required to unhold the context</description>
+      </scalar>
+      <scalar id="global-tokens-max" name="tokens-max">
+        <description>The bucket's size</description>
+      </scalar>
+      <scalar id="global-fill-rate" name="fill-rate">
+        <description>Amount of tokens to add each <optionref ref="global-interval">interval</optionref></description>
+      </scalar>
+      <scalar id="global-interval" name="interval">
+        <description>The interval between refills of the bucket</description>
+      </scalar>
+      <scalar id="global-priority-bias" name="priority-bias">
+        <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
+      </scalar>
+      <scalar id="global-fill-rate2" name="fill-rate2">
+        <description>Amount of tokens to add each <optionref ref="global-interval2">interval2</optionref> when advancing idle time</description>
+      </scalar>
+      <scalar id="global-interval2" name="interval2">
+        <description>The interval between refills of the bucket when advancing idle time</description>
+      </scalar>
+      <boolean id="global-idle-time" name="idle-time">
+        <description>When this file exists, advancing idle time is activated</description>
+      </boolean>
+      <collection name="cpu-id" type="symbolic">
+        <description>This directory contains per-CPU and/or per-bucket specific settings. Remember to set the <optionref ref="cpu-id">cpu-id</optionref> file. All CPUs inherit the global settings.</description>
+        <scalar name="tokens">
+          <description>The initial amount of tokens to put in the bucket</description>
+        </scalar>
+        <scalar name="tokens-min">
+          <description>The minimum amount of tokens required to unhold the context</description>
+        </scalar>
+        <scalar name="tokens-max">
+          <description>The bucket's size</description>
+        </scalar>
+        <scalar name="fill-rate">
+          <description>Amount of tokens to add each <optionref ref="local-interval">interval</optionref></description>
+        </scalar>
+        <scalar id="local-interval" name="interval">
+          <description>The interval between refills of the bucket</description>
+        </scalar>
+        <scalar name="priority-bias">
+          <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
+        </scalar>
+        <scalar name="fill-rate2">
+          <description>Amount of tokens to add each <optionref ref="local-interval2">interval2</optionref> when advancing idle time</description>
+        </scalar>
+        <scalar id="local-interval2" name="interval2">
+          <description>The interval between refills of the bucket when advancing idle time</description>
+        </scalar>
+        <boolean name="idle-time">
+          <description>When this file exists, advancing idle time is activated</description>
+        </boolean>
+        <scalar id="cpu-id" name="cpu-id">
+          <description>The CPU to apply these settings to</description>
+        </scalar>
+        <scalar name="bucket-id">
+          <description>The bucket to apply these settings to</description>
+        </scalar>
+      </collection>
+    </collection>
   </collection>
   </database>
index e665a1e..df42555 100644 (file)
@@ -4,7 +4,7 @@
 <xsd:annotation>
  <xsd:documentation xml:lang="en">
   Filesystem Database schema writen by Olivier Poitrey on 4/20/2004
-  Version $Id: configuration.xsd,v 1.1 2004/04/22 19:24:05 ensc Exp $
+  Version $Id: configuration.xsd 1496 2004-04-22 19:24:05Z ensc $
  </xsd:documentation>
 </xsd:annotation>
 
index 7dbdff7..2e8f7e4 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- makefile -*--
+## $Id: Makefile-files 1583 2004-06-16 10:06:03Z ensc $        --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 4a347b7..123cd09 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt-32.c,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmt-32.c 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 553b78e..34485ce 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt-64.c,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmt-64.c 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index acfcdf8..5409422 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt-internal.h,v 1.2 2004/08/19 13:53:54 ensc Exp $    --*- c -*--
+// $Id: fmt-internal.h 1647 2004-08-19 13:53:54Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6aad24a..7b15d22 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt-tai64n.c,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmt-tai64n.c 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 026b6d7..2a087c4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt.h,v 1.3 2005/03/17 14:46:19 ensc Exp $    --*- c -*--
+// $Id: fmt.h 1890 2005-03-17 14:46:19Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 43c8ced..0691446 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt.hc,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmt.hc 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index d5b113d..7a179c6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmtx-32.c,v 1.2 2005/03/17 14:46:19 ensc Exp $    --*- c -*--
+// $Id: fmtx-32.c 1890 2005-03-17 14:46:19Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 13703d0..2a0f908 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmtx-64.c,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmtx-64.c 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f1afd96..6e50205 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmtx.hc,v 1.1 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmtx.hc 2179 2005-10-25 16:11:32Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -32,7 +32,7 @@
 size_t
 CONCAT(FMT_P(xuint),)(char *ptr, CONCAT(uint_least,_t) val)
 {
-  FMT_FN(16,8);
+  FMT_FN(16,2);
 }
 
 size_t
index 450f49e..d08ca83 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.9 2005/07/03 09:12:31 ensc Exp $            --*- makefile -*--
+## $Id: Makefile-files 2113 2005-07-03 09:12:31Z ensc $                --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 0a13835..fa2fcc1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-add.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-add.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index e379a81..9c24864 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-at.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-at.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 1855c2d..e276d65 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-free.c,v 1.2 2005/03/19 02:03:30 ensc Exp $    --*- c -*--
+// $Id: list-free.c 1935 2005-03-19 02:03:30Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 7fc14c4..35074b2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-init.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-init.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index f3ae833..007e755 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-insertinternal.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-insertinternal.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 1eb567c..8e659ab 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-internal.h,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-internal.h 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 96f7b19..a7275b1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-search.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-search.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 990ef87..c573edb 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list-searchselforg.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list-searchselforg.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index f6e5920..ddf798b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list.h,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list.h 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 5c1bd02..08a8682 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: list.hc,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: list.hc 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 5be6739..eaf2598 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.4 2005/03/18 00:13:50 ensc Exp $            --*- makefile -*--
+## $Id: Makefile-files 1907 2005-03-18 00:13:50Z ensc $                --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index e3e7f25..c30691b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: test1.c,v 1.4 2005/03/17 14:49:01 ensc Exp $    --*- c -*--
+// $Id: test1.c 1894 2005-03-17 14:49:01Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e423a61..1c7e1fe 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: test2.c,v 1.2 2005/03/24 12:41:27 ensc Exp $    --*- c -*--
+// $Id: test2.c 1975 2005-03-24 12:41:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
 //  
index 081e686..6ef052d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-clear.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-clear.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 57831ce..aec7bd5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-foreach.c,v 1.1 2005/07/03 09:12:31 ensc Exp $    --*- c -*--
+// $Id: vector-foreach.c 2113 2005-07-03 09:12:31Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index eda1957..9ef2f40 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-free.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-free.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index be4eafe..86097db 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-init.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-init.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 28a1c5e..dd86b07 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-insert.c,v 1.2 2004/02/06 16:42:56 ensc Exp $    --*- c -*--
+// $Id: vector-insert.c 824 2004-02-06 16:42:56Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 35b4968..cc67e1c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-internal.h,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-internal.h 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index beebecf..5759d41 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-popback.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-popback.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4e1e7c9..8e2e230 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-pushback.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-pushback.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2a15cf2..53aeb61 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-resize.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-resize.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 97a39ee..aa604d4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-resizeinternal.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-resizeinternal.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5d40b00..7f9421f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-search.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-search.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 420e367..12372a9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-searchselforg.c,v 1.1 2005/03/17 14:47:21 ensc Exp $    --*- c -*--
+// $Id: vector-searchselforg.c 1896 2005-03-17 14:51:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7c02bc0..5dac38b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-sort.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-sort.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2641f61..ab38378 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-unique.c,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: vector-unique.c 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e300355..371fc80 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector-zeroend.c,v 1.1 2004/06/16 10:10:55 ensc Exp $    --*- c -*--
+// $Id: vector-zeroend.c 1585 2004-06-16 10:10:55Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b374176..7fd7b46 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector.h,v 1.4 2005/07/03 09:12:31 ensc Exp $    --*- c++ -*--
+// $Id: vector.h 2113 2005-07-03 09:12:31Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2002,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 13ae3e8..9964a1a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vector.hc,v 1.3 2005/07/03 09:12:31 ensc Exp $    --*- c++ -*--
+// $Id: vector.hc 2113 2005-07-03 09:12:31Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2002,2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5b7d755..a8fded1 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.4 2005/02/25 23:31:19 ensc Exp $            --*- makefile -*--
+## $Id: Makefile-files 2323 2006-09-19 15:20:56Z dhozac $              --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -25,8 +25,10 @@ noinst_HEADERS +=            ensc_wrappers/wrappers-clone.hc \
                                ensc_wrappers/wrappers-pivot.hc \
                                ensc_wrappers/wrappers-resource.hc \
                                ensc_wrappers/wrappers-socket.hc \
+                               ensc_wrappers/wrappers-stat.hc \
                                ensc_wrappers/wrappers-stdlib.hc \
                                ensc_wrappers/wrappers-string.hc \
+                               ensc_wrappers/wrappers-termios.hc \
                                ensc_wrappers/wrappers-unistd.hc \
                                ensc_wrappers/wrappers-vserver.hc \
                                ensc_wrappers/wrappers-wait.hc \
index 7b7ac9a..fbff870 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-clone.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-clone.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 66184f5..c102dee 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-dirent.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-dirent.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5bc6b6d..72c3320 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-fcntl.hc,v 1.3 2004/04/20 17:57:12 ensc Exp $    --*- c -*--
+// $Id: wrappers-fcntl.hc 1473 2004-04-20 17:57:12Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e9d90fd..684b77f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-io.hc,v 1.3 2005/07/03 12:33:44 ensc Exp $    --*- c -*--
+// $Id: wrappers-io.hc 2116 2005-07-03 12:33:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 68c9c63..33fd1e9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-ioctl.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-ioctl.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4847fe5..579a740 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-iosock.hc,v 1.3 2005/07/03 12:33:44 ensc Exp $    --*- c -*--
+// $Id: wrappers-iosock.hc 2116 2005-07-03 12:33:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 1e961cb..42ff590 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-mount.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-mount.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index daf1249..bd59d03 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-pivot.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-pivot.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 97ed41e..271ffc2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-resource.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-resource.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c5c5424..d70aa97 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-socket.hc,v 1.2 2004/08/19 13:54:27 ensc Exp $    --*- c -*--
+// $Id: wrappers-socket.hc 1649 2004-08-19 13:54:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/ensc_wrappers/wrappers-stat.hc b/ensc_wrappers/wrappers-stat.hc
new file mode 100644 (file)
index 0000000..017fd0a
--- /dev/null
@@ -0,0 +1,46 @@
+// $Id: wrappers-stat.hc 2253 2006-01-22 11:18:14Z ensc $    --*- c -*--
+
+// Copyright (C) 2004 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-stat.hc can not be used in this way
+#endif
+
+#define ENSC_STAT_DECL(FUNC)                                   \
+  inline static WRAPPER_DECL void                              \
+  E##FUNC(char const *filename, struct stat *buf)              \
+  {                                                            \
+    FatalErrnoError(FUNC(filename, buf)==-1, #FUNC "()");      \
+  }                                                            \
+                                                               \
+  inline static WRAPPER_DECL void                              \
+  E##FUNC##D(char const *filename, struct stat *buf)           \
+  {                                                            \
+    ENSC_DETAIL1(msg, #FUNC, filename, 1);                     \
+    FatalErrnoError(FUNC(filename, buf)==-1, msg);             \
+  }
+
+
+ENSC_STAT_DECL(stat)
+ENSC_STAT_DECL(lstat)
+
+#undef ENSC_STAT_DECL
+
+  inline static WRAPPER_DECL void                              
+Efstat(int fd, struct stat *buf)               
+{                                                              
+  FatalErrnoError(fstat(fd, buf)==-1, "fstat()");      
+}
index 2ae432d..dfda8ff 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-stdlib.hc,v 1.2 2004/08/19 13:54:45 ensc Exp $    --*- c -*--
+// $Id: wrappers-stdlib.hc 1650 2004-08-19 13:54:45Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9a24653..0a1884a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-string.hc,v 1.1 2005/02/25 23:31:19 ensc Exp $    --*- c -*--
+// $Id: wrappers-string.hc 1872 2005-02-25 23:31:19Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/ensc_wrappers/wrappers-termios.hc b/ensc_wrappers/wrappers-termios.hc
new file mode 100644 (file)
index 0000000..45d5260
--- /dev/null
@@ -0,0 +1,32 @@
+// $Id: wrappers-termios.hc 2306 2006-09-12 16:55:42Z dhozac $    --*- 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()");
+}
index 885641e..0d12225 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-unistd.hc,v 1.9 2005/07/03 12:33:44 ensc Exp $    --*- c -*--
+// $Id: wrappers-unistd.hc 2307 2006-09-12 17:09:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -156,6 +156,12 @@ Esetgroups(size_t size, const gid_t *list)
 {
   FatalErrnoError(setgroups(size, list)==-1, "setgroups()");
 }
+
+inline static void
+Einitgroups(const char *user, gid_t group)
+{
+  FatalErrnoError(initgroups(user, group)==-1, "initgroups()");
+}
 #endif
 
 inline static WRAPPER_DECL int
index 1b8f3f6..5fc1bfe 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-vserver.hc,v 1.11 2004/10/19 23:11:23 ensc Exp $    --*- c++ -*--
+// $Id: wrappers-vserver.hc 2416 2006-12-08 13:25:29Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -20,6 +20,8 @@
 #  error wrappers_handler.hc can not be used in this way
 #endif
 
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
+
 inline static WRAPPER_DECL xid_t
 Evc_new_s_context(xid_t ctx, unsigned int remove_cap, unsigned int flags)
 {
@@ -28,6 +30,8 @@ Evc_new_s_context(xid_t ctx, unsigned int remove_cap, unsigned int flags)
   return res;
 }
 
+#endif
+
 inline static WRAPPER_DECL xid_t
 Evc_get_task_xid(pid_t pid)
 {
@@ -36,6 +40,14 @@ Evc_get_task_xid(pid_t pid)
   return res;
 }
 
+inline static WRAPPER_DECL nid_t
+Evc_get_task_nid(pid_t pid)
+{
+  register nid_t       res = vc_get_task_nid(pid);
+  FatalErrnoError(res==VC_NOCTX, "vc_get_task_nid()");
+  return res;
+}
+
 inline static WRAPPER_DECL xid_t
 Evc_ctx_create(xid_t xid)
 {
@@ -44,12 +56,26 @@ Evc_ctx_create(xid_t xid)
   return res;
 }
 
+inline static WRAPPER_DECL nid_t
+Evc_net_create(nid_t nid)
+{
+  register nid_t       res = vc_net_create(nid);
+  FatalErrnoError(res==VC_NOCTX, "vc_net_create()");
+  return res;
+}
+
 inline static WRAPPER_DECL void
 Evc_ctx_migrate(xid_t xid)
 {
   FatalErrnoError(vc_ctx_migrate(xid)==-1, "vc_ctx_migrate()");
 }
 
+inline static WRAPPER_DECL void
+Evc_net_migrate(nid_t nid)
+{
+  FatalErrnoError(vc_net_migrate(nid)==-1, "vc_net_migrate()");
+}
+
 inline static WRAPPER_DECL void
 Evc_get_cflags(xid_t xid, struct vc_ctx_flags *flags)
 {
@@ -62,6 +88,18 @@ Evc_set_cflags(xid_t xid, struct vc_ctx_flags const *flags)
   FatalErrnoError(vc_set_cflags(xid, flags)==-1, "vc_set_cflags()");
 }
 
+inline static WRAPPER_DECL void
+Evc_get_nflags(nid_t nid, struct vc_net_flags *flags)
+{
+  FatalErrnoError(vc_get_nflags(nid, flags)==-1, "vc_get_nflags()");
+}
+
+inline static WRAPPER_DECL void
+Evc_set_nflags(nid_t nid, struct vc_net_flags const *flags)
+{
+  FatalErrnoError(vc_set_nflags(nid, flags)==-1, "vc_set_nflags()");
+}
+
 inline static WRAPPER_DECL void
 Evc_set_vhi_name(xid_t xid, vc_uts_type type,
                 char const *val, size_t len)
@@ -82,15 +120,27 @@ Evc_set_ccaps(xid_t xid, struct vc_ctx_caps const *caps)
 }
 
 inline static WRAPPER_DECL void
-Evc_set_namespace()
+Evc_get_ncaps(nid_t nid, struct vc_net_caps *caps)
+{
+  FatalErrnoError(vc_get_ncaps(nid, caps)==-1, "vc_get_ncaps()");
+}
+
+inline static WRAPPER_DECL void
+Evc_set_ncaps(nid_t nid, struct vc_net_caps const *caps)
 {
-  FatalErrnoError(vc_set_namespace()==-1, "vc_set_namespace()");
+  FatalErrnoError(vc_set_ncaps(nid, caps)==-1, "vc_set_ncaps()");
 }
 
 inline static WRAPPER_DECL void
-Evc_enter_namespace(xid_t xid)
+Evc_set_namespace(xid_t xid, uint_least64_t mask)
 {
-  FatalErrnoError(vc_enter_namespace(xid)==-1, "vc_enter_namespace()");
+  FatalErrnoError(vc_set_namespace(xid, mask)==-1, "vc_set_namespace()");
+}
+
+inline static WRAPPER_DECL void
+Evc_enter_namespace(xid_t xid, uint_least64_t mask)
+{
+  FatalErrnoError(vc_enter_namespace(xid, mask)==-1, "vc_enter_namespace()");
 }
 
 inline static WRAPPER_DECL xid_t
@@ -118,3 +168,15 @@ Evc_xidopt2xid(char const *id, bool honor_static)
 
   return rc;
 }
+
+inline static WRAPPER_DECL nid_t
+Evc_nidopt2nid(char const *id, bool honor_static)
+{
+  char const * err;
+  nid_t                rc = vc_nidopt2nid(id, honor_static, &err);
+  if (__builtin_expect(rc==VC_NOCTX,0)) {
+    ENSC_DETAIL1(msg, "vc_nidopt2nid", id, 1);
+    FatalErrnoErrorFail(msg);
+  }
+  return rc;
+}
index 3df8fd1..e79653c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers-wait.hc,v 1.1 2004/02/06 14:47:18 ensc Exp $    --*- c -*--
+// $Id: wrappers-wait.hc 814 2004-02-06 14:47:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2d2e766..92ab848 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers.h,v 1.5 2005/02/25 23:31:19 ensc Exp $    --*- c++ -*--
+// $Id: wrappers.h 2306 2006-09-12 16:55:42Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #  include "wrappers-socket.hc"
 #endif
 
+#ifdef ENSC_WRAPPERS_STAT
+#  include "wrappers-stat.hc"
+#endif
+
+#ifdef ENSC_WRAPPERS_TERMIOS
+#  include "wrappers-termios.hc"
+#endif
+
 #undef ENSC_DETAIL2
 #undef ENSC_DETAIL1
 #undef ENSC_DOQUOTE_COND
index f820371..cfa6482 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: wrappers_handler.hc,v 1.4 2004/03/18 05:27:10 ensc Exp $    --*- c -*--
+// $Id: wrappers_handler.hc 1289 2004-03-18 05:27:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 1a83534..4d4a951 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2005-02-02.21
+scriptversion=2005-05-14.22
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
diff --git a/kernel/cacct_cmd.h b/kernel/cacct_cmd.h
new file mode 100644 (file)
index 0000000..6a697c7
--- /dev/null
@@ -0,0 +1,16 @@
+#ifndef _VX_CACCT_CMD_H
+#define _VX_CACCT_CMD_H
+
+
+/* virtual host info name commands */
+
+#define VCMD_sock_stat         VC_CMD(VSTAT, 5, 0)
+
+struct vcmd_sock_stat_v0 {
+       uint32_t field;
+       uint32_t count[3];
+       uint64_t total[3];
+};
+
+
+#endif /* _VX_CACCT_CMD_H */
index f631095..354b29d 100644 (file)
@@ -6,10 +6,6 @@
 
 #define VCMD_task_xid          VC_CMD(VINFO, 1, 0)
 
-#ifdef __KERNEL__
-extern int vc_task_xid(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 #define VCMD_vx_info           VC_CMD(VINFO, 5, 0)
 
@@ -19,10 +15,14 @@ struct      vcmd_vx_info_v0 {
        /* more to come */
 };
 
-#ifdef __KERNEL__
-extern int vc_vx_info(uint32_t, void __user *);
 
-#endif /* __KERNEL__ */
+#define VCMD_ctx_stat          VC_CMD(VSTAT, 0, 0)
+
+struct vcmd_ctx_stat_v0 {
+       uint32_t usecnt;
+       uint32_t tasks;
+       /* more to come */
+};
 
 
 /* context commands */
@@ -34,13 +34,13 @@ struct      vcmd_ctx_create {
        uint64_t flagword;
 };
 
-#define VCMD_ctx_migrate       VC_CMD(PROCMIG, 1, 0)
+#define VCMD_ctx_migrate_v0    VC_CMD(PROCMIG, 1, 0)
+#define VCMD_ctx_migrate       VC_CMD(PROCMIG, 1, 1)
 
-#ifdef __KERNEL__
-extern int vc_ctx_create(uint32_t, void __user *);
-extern int vc_ctx_migrate(uint32_t, void __user *);
+struct vcmd_ctx_migrate {
+       uint64_t flagword;
+};
 
-#endif /* __KERNEL__ */
 
 
 /* flag commands */
@@ -53,17 +53,12 @@ struct      vcmd_ctx_flags_v0 {
        uint64_t mask;
 };
 
-#ifdef __KERNEL__
-extern int vc_get_cflags(uint32_t, void __user *);
-extern int vc_set_cflags(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 
 /* context caps commands */
 
-#define VCMD_get_ccaps         VC_CMD(FLAGS, 3, 0)
-#define VCMD_set_ccaps         VC_CMD(FLAGS, 4, 0)
+#define VCMD_get_ccaps_v0      VC_CMD(FLAGS, 3, 0)
+#define VCMD_set_ccaps_v0      VC_CMD(FLAGS, 4, 0)
 
 struct vcmd_ctx_caps_v0 {
        uint64_t bcaps;
@@ -71,9 +66,24 @@ struct       vcmd_ctx_caps_v0 {
        uint64_t cmask;
 };
 
-#ifdef __KERNEL__
-extern int vc_get_ccaps(uint32_t, void __user *);
-extern int vc_set_ccaps(uint32_t, void __user *);
+#define VCMD_get_ccaps         VC_CMD(FLAGS, 3, 1)
+#define VCMD_set_ccaps         VC_CMD(FLAGS, 4, 1)
+
+struct vcmd_ctx_caps_v1 {
+       uint64_t ccaps;
+       uint64_t cmask;
+};
+
+
+
+/* bcaps commands */
+
+#define VCMD_get_bcaps         VC_CMD(FLAGS, 9, 0)
+#define VCMD_set_bcaps         VC_CMD(FLAGS,10, 0)
+
+struct vcmd_bcaps {
+       uint64_t bcaps;
+       uint64_t bmask;
+};
 
-#endif /* __KERNEL__ */
 #endif /* _VX_CONTEXT_CMD_H */
index 3260b9f..73b72c1 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef _VX_CVIRT_CMD_H
 #define _VX_CVIRT_CMD_H
 
+
 /* virtual host info name commands */
 
 #define VCMD_set_vhi_name      VC_CMD(VHOST, 1, 0)
@@ -23,12 +24,18 @@ enum vhi_name_field {
 };
 
 
-#ifdef __KERNEL__
 
-#include <linux/compiler.h>
+#define VCMD_virt_stat         VC_CMD(VSTAT, 3, 0)
 
-extern int vc_set_vhi_name(uint32_t, void __user *);
-extern int vc_get_vhi_name(uint32_t, void __user *);
+struct vcmd_virt_stat_v0 {
+       uint64_t offset;
+       uint64_t uptime;
+       uint32_t nr_threads;
+       uint32_t nr_running;
+       uint32_t nr_uninterruptible;
+       uint32_t nr_onhold;
+       uint32_t nr_forks;
+       uint32_t load[3];
+};
 
-#endif /* __KERNEL__ */
 #endif /* _VX_CVIRT_CMD_H */
index c0cbd08..1b63f77 100644 (file)
@@ -6,9 +6,20 @@
 
 #define VCMD_dump_history      VC_CMD(DEBUG, 1, 0)
 
-#ifdef __KERNEL__
+#define VCMD_read_history      VC_CMD(DEBUG, 5, 0)
+#define VCMD_read_monitor      VC_CMD(DEBUG, 6, 0)
+
+struct  vcmd_read_history_v0 {
+       uint32_t index;
+       uint32_t count;
+       char *data;
+};
+
+struct  vcmd_read_monitor_v0 {
+       uint32_t index;
+       uint32_t count;
+       char *data;
+};
 
-extern int vc_dump_history(uint32_t);
 
-#endif /* __KERNEL__ */
 #endif /* _VX_DEBUG_CMD_H */
index b91a946..ed39987 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef _VX_DLIMIT_CMD_H
 #define _VX_DLIMIT_CMD_H
 
+
 /*  dlimit vserver commands */
 
 #define VCMD_add_dlimit                VC_CMD(DLIMIT, 1, 0)
 #define VCMD_get_dlimit                VC_CMD(DLIMIT, 6, 0)
 
 struct vcmd_ctx_dlimit_base_v0 {
-       const char __user *name;
+       const char *name;
        uint32_t flags;
 };
 
 struct vcmd_ctx_dlimit_v0 {
-       const char __user *name;
-       uint32_t space_used;                    /* used space in kbytes */
-       uint32_t space_total;                   /* maximum space in kbytes */
-       uint32_t inodes_used;                   /* used inodes */
-       uint32_t inodes_total;                  /* maximum inodes */
-       uint32_t reserved;                      /* reserved for root in % */
-       uint32_t flags;
-};
-
-
-#ifdef __KERNEL__
-
-#ifdef CONFIG_COMPAT
-
-struct vcmd_ctx_dlimit_base_v0_x32 {
-       compat_uptr_t name_ptr;
-       uint32_t flags;
-};
-
-struct vcmd_ctx_dlimit_v0_x32 {
-       compat_uptr_t name_ptr;
+       const char *name;
        uint32_t space_used;                    /* used space in kbytes */
        uint32_t space_total;                   /* maximum space in kbytes */
        uint32_t inodes_used;                   /* used inodes */
@@ -44,25 +25,8 @@ struct       vcmd_ctx_dlimit_v0_x32 {
        uint32_t flags;
 };
 
-#endif /* CONFIG_COMPAT */
-
-#include <linux/compiler.h>
-
-extern int vc_add_dlimit(uint32_t, void __user *);
-extern int vc_rem_dlimit(uint32_t, void __user *);
-
-extern int vc_set_dlimit(uint32_t, void __user *);
-extern int vc_get_dlimit(uint32_t, void __user *);
-
-#ifdef CONFIG_COMPAT
-
-extern int vc_add_dlimit_x32(uint32_t, void __user *);
-extern int vc_rem_dlimit_x32(uint32_t, void __user *);
-
-extern int vc_set_dlimit_x32(uint32_t, void __user *);
-extern int vc_get_dlimit_x32(uint32_t, void __user *);
-
-#endif /* CONFIG_COMPAT */
+#define CDLIM_UNSET            ((uint32_t)0UL)
+#define CDLIM_INFINITY         ((uint32_t)~0UL)
+#define CDLIM_KEEP             ((uint32_t)~1UL)
 
-#endif /* __KERNEL__ */
 #endif /* _VX_DLIMIT_CMD_H */
index f14c899..ed26aa1 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef _VX_INODE_CMD_H
 #define _VX_INODE_CMD_H
 
+
 /*  inode vserver commands */
 
 #define VCMD_get_iattr_v0      VC_CMD(INODE, 1, 0)
@@ -18,40 +19,11 @@ struct      vcmd_ctx_iattr_v0 {
 };
 
 struct vcmd_ctx_iattr_v1 {
-       const char __user *name;
+       const char *name;
        uint32_t xid;
        uint32_t flags;
        uint32_t mask;
 };
 
 
-#ifdef __KERNEL__
-
-#ifdef CONFIG_COMPAT
-
-struct vcmd_ctx_iattr_v1_x32 {
-       compat_uptr_t name_ptr;
-       uint32_t xid;
-       uint32_t flags;
-       uint32_t mask;
-};
-
-#endif /* CONFIG_COMPAT */
-
-#include <linux/compiler.h>
-
-extern int vc_get_iattr_v0(uint32_t, void __user *);
-extern int vc_set_iattr_v0(uint32_t, void __user *);
-
-extern int vc_get_iattr(uint32_t, void __user *);
-extern int vc_set_iattr(uint32_t, void __user *);
-
-#ifdef CONFIG_COMPAT
-
-extern int vc_get_iattr_x32(uint32_t, void __user *);
-extern int vc_set_iattr_x32(uint32_t, void __user *);
-
-#endif /* CONFIG_COMPAT */
-
-#endif /* __KERNEL__ */
 #endif /* _VX_INODE_CMD_H */
index f058983..a987121 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "switch.h"
 
+
 /*  compatibiliy vserver commands */
 
 #define VCMD_new_s_context     VC_CMD(COMPAT, 1, 1)
@@ -40,9 +41,4 @@ struct        vcmd_set_ipv4root_v3 {
 #define VX_INFO_NAMESPACE      128     /* save private namespace */
 
 
-#ifdef __KERNEL__
-extern int vc_new_s_context(uint32_t, void __user *);
-extern int vc_set_ipv4root(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 #endif /* _VX_LEGACY_H */
index a994d02..f67f7fc 100644 (file)
@@ -1,11 +1,13 @@
 #ifndef _VX_LIMIT_CMD_H
 #define _VX_LIMIT_CMD_H
 
+
 /*  rlimit vserver commands */
 
 #define VCMD_get_rlimit                VC_CMD(RLIMIT, 1, 0)
 #define VCMD_set_rlimit                VC_CMD(RLIMIT, 2, 0)
 #define VCMD_get_rlimit_mask   VC_CMD(RLIMIT, 3, 0)
+#define VCMD_reset_minmax      VC_CMD(RLIMIT, 9, 0)
 
 struct vcmd_ctx_rlimit_v0 {
        uint32_t id;
@@ -20,17 +22,18 @@ struct      vcmd_ctx_rlimit_mask_v0 {
        uint32_t maximum;
 };
 
+#define VCMD_rlimit_stat       VC_CMD(VSTAT, 1, 0)
+
+struct vcmd_rlimit_stat_v0 {
+       uint32_t id;
+       uint32_t hits;
+       uint64_t value;
+       uint64_t minimum;
+       uint64_t maximum;
+};
+
 #define CRLIM_UNSET            (0ULL)
 #define CRLIM_INFINITY         (~0ULL)
 #define CRLIM_KEEP             (~1ULL)
 
-#ifdef __KERNEL__
-
-#include <linux/compiler.h>
-
-extern int vc_get_rlimit(uint32_t, void __user *);
-extern int vc_set_rlimit(uint32_t, void __user *);
-extern int vc_get_rlimit_mask(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 #endif /* _VX_LIMIT_CMD_H */
diff --git a/kernel/monitor.h b/kernel/monitor.h
new file mode 100644 (file)
index 0000000..a634bb9
--- /dev/null
@@ -0,0 +1,95 @@
+#ifndef _VX_MONITOR_H
+#define _VX_MONITOR_H
+
+
+enum {
+       VXM_UNUSED = 0,
+
+       VXM_SYNC = 0x10,
+
+       VXM_UPDATE = 0x20,
+       VXM_UPDATE_1,
+       VXM_UPDATE_2,
+
+       VXM_RQINFO_1 = 0x24,
+       VXM_RQINFO_2,
+
+       VXM_ACTIVATE = 0x40,
+       VXM_DEACTIVATE,
+       VXM_IDLE,
+
+       VXM_HOLD = 0x44,
+       VXM_UNHOLD,
+
+       VXM_MIGRATE = 0x48,
+       VXM_RESCHED,
+
+       /* all other bits are flags */
+       VXM_SCHED = 0x80,
+};
+
+struct _vxm_update_1 {
+       uint32_t tokens_max;
+       uint32_t fill_rate;
+       uint32_t interval;
+};
+
+struct _vxm_update_2 {
+       uint32_t tokens_min;
+       uint32_t fill_rate;
+       uint32_t interval;
+};
+
+struct _vxm_rqinfo_1 {
+       uint16_t running;
+       uint16_t onhold;
+       uint16_t iowait;
+       uint16_t uintr;
+       uint32_t idle_tokens;
+};
+
+struct _vxm_rqinfo_2 {
+       uint32_t norm_time;
+       uint32_t idle_time;
+       uint32_t idle_skip;
+};
+
+struct _vxm_sched {
+       uint32_t tokens;
+       uint32_t norm_time;
+       uint32_t idle_time;
+};
+
+struct _vxm_task {
+       uint16_t pid;
+       uint16_t state;
+};
+
+struct _vxm_event {
+       uint32_t jif;
+       union {
+               uint32_t seq;
+               uint32_t sec;
+       };
+       union {
+               uint32_t tokens;
+               uint32_t nsec;
+               struct _vxm_task tsk;
+       };
+};
+
+struct _vx_mon_entry {
+       uint16_t type;
+       uint16_t xid;
+       union {
+               struct _vxm_event ev;
+               struct _vxm_sched sd;
+               struct _vxm_update_1 u1;
+               struct _vxm_update_2 u2;
+               struct _vxm_rqinfo_1 q1;
+               struct _vxm_rqinfo_2 q2;
+       };
+};
+
+
+#endif /* _VX_MONITOR_H */
index 29c5bd2..2b84f07 100644 (file)
 
 /* network flags */
 
+#define NXF_INFO_LOCK          0x00000001
+
 #define NXF_STATE_SETUP                (1ULL<<32)
+#define NXF_STATE_ADMIN                (1ULL<<34)
 
-#define NXF_STATE_HELPER       (1ULL<<36)
+#define NXF_SC_HELPER          (1ULL<<36)
+#define NXF_PERSISTENT         (1ULL<<38)
 
-#define NXF_ONE_TIME           (0x0001ULL<<32)
+#define NXF_ONE_TIME           (0x0005ULL<<32)
 
-#define NXF_INIT_SET           (0)
+#define NXF_INIT_SET           (NXF_STATE_ADMIN)
 
 
 /* address types */
 
-#define        NXA_TYPE_IPV4           1
-#define        NXA_TYPE_IPV6           2
-
-#define        NXA_MOD_BCAST           (1<<8)
-
-#define        NXA_TYPE_ANY            (~0)
-
-
-#ifdef __KERNEL__
-
-#include <linux/list.h>
-#include <linux/spinlock.h>
-#include <linux/rcupdate.h>
-#include <asm/atomic.h>
-
-
-struct nx_info {
-       struct hlist_node nx_hlist;     /* linked list of nxinfos */
-       nid_t nx_id;                    /* vnet id */
-       atomic_t nx_usecnt;             /* usage count */
-       atomic_t nx_tasks;              /* tasks count */
-       int nx_state;                   /* context state */
-
-       uint64_t nx_flags;              /* network flag word */
-       uint64_t nx_ncaps;              /* network capabilities */
-
-       int nbipv4;
-       __u32 ipv4[NB_IPV4ROOT];        /* Process can only bind to these IPs */
-                                       /* The first one is used to connect */
-                                       /* and for bind any service */
-                                       /* The other must be used explicity */
-       __u32 mask[NB_IPV4ROOT];        /* Netmask for each ipv4 */
-                                       /* Used to select the proper source */
-                                       /* address for sockets */
-       __u32 v4_bcast;                 /* Broadcast address to receive UDP  */
-
-       char nx_name[65];               /* network context name */
-};
-
-
-/* status flags */
-
-#define NXS_HASHED      0x0001
-#define NXS_SHUTDOWN    0x0100
-#define NXS_RELEASED    0x8000
-
-extern struct nx_info *locate_nx_info(int);
-extern struct nx_info *locate_or_create_nx_info(int);
-
-extern int get_nid_list(int, unsigned int *, int);
-extern int nid_is_hashed(nid_t);
-
-extern int nx_migrate_task(struct task_struct *, struct nx_info *);
-
-extern long vs_net_change(struct nx_info *, unsigned int);
-
-struct in_ifaddr;
-struct net_device;
+#define NXA_TYPE_IPV4          1
+#define NXA_TYPE_IPV6          2
 
-int ifa_in_nx_info(struct in_ifaddr *, struct nx_info *);
-int dev_in_nx_info(struct net_device *, struct nx_info *);
+#define NXA_MOD_BCAST          (1<<8)
 
-struct sock;
+#define NXA_TYPE_ANY           ((uint16_t)-1)
 
-int nx_addr_conflict(struct nx_info *, uint32_t, struct sock *);
 
-#endif /* __KERNEL__ */
 #else  /* _VX_NETWORK_H */
 #warning duplicate inclusion
 #endif /* _VX_NETWORK_H */
index d9802fe..06c7055 100644 (file)
@@ -6,10 +6,6 @@
 
 #define VCMD_task_nid          VC_CMD(VINFO, 2, 0)
 
-#ifdef __KERNEL__
-extern int vc_task_nid(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 #define VCMD_nx_info           VC_CMD(VINFO, 6, 0)
 
@@ -18,10 +14,6 @@ struct       vcmd_nx_info_v0 {
        /* more to come */
 };
 
-#ifdef __KERNEL__
-extern int vc_nx_info(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 #define VCMD_net_create_v0     VC_CMD(VNET, 1, 0)
 #define VCMD_net_create                VC_CMD(VNET, 1, 1)
@@ -44,14 +36,6 @@ struct       vcmd_net_addr_v0 {
 };
 
 
-#ifdef __KERNEL__
-extern int vc_net_create(uint32_t, void __user *);
-extern int vc_net_migrate(uint32_t, void __user *);
-
-extern int vc_net_add(uint32_t, void __user *);
-extern int vc_net_remove(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 
 /* flag commands */
@@ -64,11 +48,6 @@ struct       vcmd_net_flags_v0 {
        uint64_t mask;
 };
 
-#ifdef __KERNEL__
-extern int vc_get_nflags(uint32_t, void __user *);
-extern int vc_set_nflags(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 
 
 /* network caps commands */
@@ -81,9 +60,4 @@ struct        vcmd_net_caps_v0 {
        uint64_t cmask;
 };
 
-#ifdef __KERNEL__
-extern int vc_get_ncaps(uint32_t, void __user *);
-extern int vc_set_ncaps(uint32_t, void __user *);
-
-#endif /* __KERNEL__ */
 #endif /* _VX_CONTEXT_CMD_H */
index 2a6f55b..27b98d6 100644 (file)
@@ -1,10 +1,12 @@
 #ifndef _VX_SCHED_CMD_H
 #define _VX_SCHED_CMD_H
 
+
 /*  sched vserver commands */
 
 #define VCMD_set_sched_v2      VC_CMD(SCHED, 1, 2)
-#define VCMD_set_sched         VC_CMD(SCHED, 1, 3)
+#define VCMD_set_sched_v3      VC_CMD(SCHED, 1, 3)
+#define VCMD_set_sched         VC_CMD(SCHED, 1, 4)
 
 struct vcmd_set_sched_v2 {
        int32_t fill_rate;
@@ -25,23 +27,37 @@ struct      vcmd_set_sched_v3 {
        int32_t priority_bias;
 };
 
+struct vcmd_set_sched_v4 {
+       uint32_t set_mask;
+       int32_t fill_rate;
+       int32_t interval;
+       int32_t tokens;
+       int32_t tokens_min;
+       int32_t tokens_max;
+       int32_t prio_bias;
+       int32_t cpu_id;
+       int32_t bucket_id;
+};
+
 
 #define VXSM_FILL_RATE         0x0001
 #define VXSM_INTERVAL          0x0002
+#define VXSM_FILL_RATE2                0x0004
+#define VXSM_INTERVAL2         0x0008
 #define VXSM_TOKENS            0x0010
 #define VXSM_TOKENS_MIN                0x0020
 #define VXSM_TOKENS_MAX                0x0040
 #define VXSM_PRIO_BIAS         0x0100
 
-#define SCHED_KEEP             (-2)
+#define VXSM_IDLE_TIME         0x0200
+#define VXSM_FORCE             0x0400
 
-#ifdef __KERNEL__
+#define        VXSM_V3_MASK            0x0173
+#define        VXSM_SET_MASK           0x01FF
 
-#include <linux/compiler.h>
+#define VXSM_CPU_ID            0x1000
+#define VXSM_BUCKET_ID         0x2000
 
-extern int vc_set_sched_v1(uint32_t, void __user *);
-extern int vc_set_sched_v2(uint32_t, void __user *);
-extern int vc_set_sched(uint32_t, void __user *);
+#define SCHED_KEEP             (-2)    /* only for v2 */
 
-#endif /* __KERNEL__ */
 #endif /* _VX_SCHED_CMD_H */
index e842538..6ef9720 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef _VX_SIGNAL_CMD_H
 #define _VX_SIGNAL_CMD_H
 
+
 /*  signalling vserver commands */
 
 #define VCMD_ctx_kill          VC_CMD(PROCTRL, 1, 0)
@@ -12,14 +13,19 @@ struct      vcmd_ctx_kill_v0 {
 };
 
 struct vcmd_wait_exit_v0 {
-       int32_t a;
-       int32_t b;
+       int32_t reboot_cmd;
+       int32_t exit_code;
 };
 
-#ifdef __KERNEL__
 
-extern int vc_ctx_kill(uint32_t, void __user *);
-extern int vc_wait_exit(uint32_t, void __user *);
+/*  process alteration commands */
+
+#define VCMD_get_pflags                VC_CMD(PROCALT, 5, 0)
+#define VCMD_set_pflags                VC_CMD(PROCALT, 6, 0)
+
+struct vcmd_pflags_v0 {
+       uint32_t flagword;
+       uint32_t mask;
+};
 
-#endif /* __KERNEL__ */
 #endif /* _VX_SIGNAL_CMD_H */
diff --git a/kernel/space_cmd.h b/kernel/space_cmd.h
new file mode 100644 (file)
index 0000000..811b451
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef _VX_SPACE_CMD_H
+#define _VX_SPACE_CMD_H
+
+
+#define VCMD_enter_space_v0    VC_CMD(PROCALT, 1, 0)
+#define VCMD_enter_space       VC_CMD(PROCALT, 1, 1)
+
+/* XXX: This is not available in recent kernels */
+#define VCMD_cleanup_namespace VC_CMD(PROCALT, 2, 0)
+
+#define VCMD_set_space_v0      VC_CMD(PROCALT, 3, 0)
+#define VCMD_set_space         VC_CMD(PROCALT, 3, 1)
+
+#define VCMD_get_space_mask    VC_CMD(PROCALT, 4, 0)
+
+
+struct vcmd_space_mask {
+       uint64_t mask;
+};
+
+
+#endif /* _VX_SPACE_CMD_H */
index 0c7fddb..672ed15 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <linux/types.h>
 
+
 #define VC_CATEGORY(c)         (((c) >> 24) & 0x3F)
 #define VC_COMMAND(c)          (((c) >> 16) & 0xFF)
 #define VC_VERSION(c)          ((c) & 0xFFF)
@@ -33,7 +34,7 @@
   DISK   |       |       |       |       |DLIMIT |       | |INODE  |       |
   VFS    |     32|     33|     34|     35|     36|     37| |     38|     39|
   -------+-------+-------+-------+-------+-------+-------+ +-------+-------+
-  OTHER  |       |       |       |       |       |       | |VINFO  |       |
+  OTHER  |VSTAT  |       |       |       |       |       | |VINFO  |       |
         |     40|     41|     42|     43|     44|     45| |     46|     47|
   =======+=======+=======+=======+=======+=======+=======+ +=======+=======+
   SPECIAL|EVENT  |       |       |       |FLAGS  |       | |       |       |
@@ -65,6 +66,7 @@
 #define VC_CAT_DLIMIT          36
 #define VC_CAT_INODE           38
 
+#define VC_CAT_VSTAT           40
 #define VC_CAT_VINFO           46
 #define VC_CAT_EVENT           48
 
 
 /*  interface version */
 
-#define VCI_VERSION            0x00020001
+#define VCI_VERSION            0x00020102
 #define VCI_LEGACY_VERSION     0x000100FF
 
 /*  query version */
 
 #define VCMD_get_version       VC_CMD(VERSION, 0, 0)
+#define VCMD_get_vci           VC_CMD(VERSION, 1, 0)
 
 
-#ifdef __KERNEL__
-
-#include <linux/errno.h>
-
-
-#else  /* __KERNEL__ */
 #define __user
-#endif /* __KERNEL__ */
 
 #endif /* _VX_SWITCH_H */
index be59257..da6e1d8 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.3 2004/04/28 18:12:54 ensc Exp $    --*- makefile -*--
+## $Id: Makefile-files 1528 2004-04-28 18:12:54Z ensc $        --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index ce793f8..715348f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: bcaps-v13.c,v 1.5 2005/07/15 16:27:37 ensc Exp $    --*- c -*--
+// $Id: bcaps-v13.c 2148 2005-07-15 16:27:37Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
index f6f57b8..959a17c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: bcaps_list-v13.c,v 1.3 2005/04/24 20:19:52 ensc Exp $    --*- c -*--
+// $Id: bcaps_list-v13.c 2038 2005-04-24 20:24:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
index e3ed156..7931cba 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: capabilities.c,v 1.5 2005/07/15 16:32:05 ensc Exp $    --*- c -*--
+// $Id: capabilities.c 2150 2005-07-15 16:32:05Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 71471a7..4f38864 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ccaps-v13.c,v 1.4 2005/07/15 16:28:18 ensc Exp $    --*- c -*--
+// $Id: ccaps-v13.c 2393 2006-11-23 18:30:29Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
 #include <lib_internal/util-dimof.h>
 
 #include <string.h>
+#include <strings.h>
 #include <assert.h>
 
 #define DECL(STR, VAL) { STR, sizeof(STR)-1, VAL }
 
 static struct Mapping_uint64 const VALUES[] = {
-  DECL("utsname",         VC_VXC_SET_UTSNAME),
-  DECL("rlimit",          VC_VXC_SET_RLIMIT),
+  DECL("set_utsname",     VC_VXC_SET_UTSNAME),
+  DECL("set_rlimit",      VC_VXC_SET_RLIMIT),
   DECL("raw_icmp",        VC_VXC_RAW_ICMP),
   DECL("syslog",          VC_VXC_SYSLOG),
   DECL("secure_mount",    VC_VXC_SECURE_MOUNT),
   DECL("secure_remount",  VC_VXC_SECURE_REMOUNT),
   DECL("binary_mount",    VC_VXC_BINARY_MOUNT),
   DECL("quota_ctl",       VC_VXC_QUOTA_CTL),
+  DECL("admin_mapper",    VC_VXC_ADMIN_MAPPER),
+  DECL("admin_cloop",     VC_VXC_ADMIN_CLOOP),
     // some deprecated values...
   DECL("mount",           VC_VXC_SECURE_MOUNT),
   DECL("remount",         VC_VXC_SECURE_REMOUNT),
   DECL("icmp",            VC_VXC_RAW_ICMP),
   DECL("ping",            VC_VXC_RAW_ICMP),
+  DECL("utsname",         VC_VXC_SET_UTSNAME),
+  DECL("rlimit",          VC_VXC_SET_RLIMIT),
 };
 
+inline static char const *
+removePrefix(char const *str, size_t *len)
+{
+  if ((len==0 || *len==0 || *len>4) &&
+      strncasecmp("vxc_", str, 4)==0) {
+    if (len && *len>4) *len -= 4;
+    return str+4;
+  }
+  else
+    return str;
+}
+
 uint_least64_t
 vc_text2ccap(char const *str, size_t len)
 {
-  ssize_t      idx = utilvserver_value2text_uint64(str, len,
+  char const * tmp = removePrefix(str, &len);
+  ssize_t      idx = utilvserver_value2text_uint64(tmp, len,
                                                    VALUES, DIM_OF(VALUES));
   if (idx==-1) return 0;
   else         return VALUES[idx].val;
index 0b26243..ad994ac 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ccaps_list-v13.c,v 1.2 2005/04/24 20:19:52 ensc Exp $    --*- c -*--
+// $Id: ccaps_list-v13.c 2038 2005-04-24 20:24:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
index 85d530e..7829815 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: cflags-compat.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: cflags-compat.c 1449 2004-04-14 23:19:51Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
index 7d5b0a0..cc53c8f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: cflags_list-compat.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: cflags_list-compat.c 1449 2004-04-14 23:19:51Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
index 48617f0..0a0ff09 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: cflags_list-v13.c,v 1.3 2005/04/28 17:53:01 ensc Exp $    --*- c -*--
+// $Id: cflags_list-v13.c 2057 2005-04-28 17:53:01Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
diff --git a/lib/checkconfig.c b/lib/checkconfig.c
new file mode 100644 (file)
index 0000000..a5f17c2
--- /dev/null
@@ -0,0 +1,45 @@
+// $Id: checkconfig.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// 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 "vserver.h"
+#include "vserver-internal.h"
+
+uint_least32_t
+utilvserver_checkCompatConfig()
+{
+#ifdef VC_ENABLE_API_V21
+  static uint32_t      res=0;
+  static int           v_errno;
+
+  if (res==0) {
+    res     = vc_get_vci();
+    v_errno = errno;
+    if (res==(uint32_t)-1 && (errno==ENOSYS || errno==EINVAL)) res=0;
+  }
+
+  errno = v_errno;
+  return res;
+#else
+  return 0;
+#endif
+}
index 5670bde..205fb0e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: checkversion.c,v 1.5 2004/01/21 18:53:22 ensc Exp $    --*- c++ -*--
+// $Id: checkversion.c 2246 2006-01-18 23:34:36Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -35,7 +35,7 @@ utilvserver_checkCompatVersion()
     v_errno = errno;
 #ifdef VC_ENABLE_API_LEGACY
     if (res==-1 && (errno==ENOSYS || errno==EINVAL)) res=0;
-#endif    
+#endif
   }
 
   errno = v_errno;
diff --git a/lib/comparevserverbyid.c b/lib/comparevserverbyid.c
new file mode 100644 (file)
index 0000000..61a9ccf
--- /dev/null
@@ -0,0 +1,83 @@
+// $Id: comparevserverbyid.c 2180 2005-10-25 16:17:12Z ensc $    --*- c -*--
+
+// Copyright (C) 2005 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.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include "pathconfig.h"
+
+#include <sys/stat.h>
+#include <string.h>
+
+static char const *
+completePath(char const *id, size_t len, vcCfgStyle style, char *buf)
+{
+  switch (style) {
+    case vcCFG_RECENT_FULL     :  return id;
+    case vcCFG_RECENT_SHORT    :
+      memcpy(buf,              CONFDIR "/", sizeof(CONFDIR "/")-1);
+      memcpy(buf+sizeof(CONFDIR "/")-1, id, len+1);    // appends '\0' implicitly
+      return buf;
+    default                    :  return 0;
+  }
+}
+
+int
+vc_compareVserverById(char const *lhs, vcCfgStyle lhs_style,
+                     char const *rhs, vcCfgStyle rhs_style)
+{
+  if (lhs_style==vcCFG_NONE || lhs_style==vcCFG_AUTO)
+    lhs_style = vc_getVserverCfgStyle(lhs);
+
+  if (rhs_style==vcCFG_NONE || rhs_style==vcCFG_AUTO)
+    rhs_style = vc_getVserverCfgStyle(rhs);
+
+    // compare legacy vservers by their names only resp. return false on mixed
+    // styles
+  if (lhs_style==vcCFG_LEGACY || rhs_style==vcCFG_LEGACY) {
+    if (lhs_style!=rhs_style) return lhs_style - rhs_style;
+    else                      return strcmp(lhs, rhs);
+  }
+
+  {
+    size_t             len_lhs = strlen(lhs);
+    size_t             len_rhs = strlen(rhs);
+    char               buf_lhs[sizeof(CONFDIR "//") + len_lhs];
+    char               buf_rhs[sizeof(CONFDIR "//") + len_rhs];
+
+    char const *       path_lhs = completePath(lhs, len_lhs, lhs_style, buf_lhs);
+    char const *       path_rhs = (path_lhs==0
+                                   ? 0 // skip following calculation
+                                   : completePath(rhs, len_rhs, rhs_style, buf_rhs));
+
+    struct stat                st_lhs;
+    struct stat                st_rhs;
+    
+      // this is true only iff both path_* are 0; compare ids in this case
+    if (path_lhs==path_rhs) return strcmp(lhs, rhs);
+    if (path_lhs==0) return -1;                // path_rhs!=0 is implied by check above
+    if (path_rhs==0) return +1;
+
+    if (stat(path_lhs, &st_lhs)==-1 ||
+       stat(path_rhs, &st_rhs)==-1) return strcmp(lhs,rhs);
+
+    return (st_lhs.st_dev - st_rhs.st_dev) + (st_lhs.st_ino - st_rhs.st_ino);
+  }
+}
index 90abcee..e90e771 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: createskeleton-full.hc,v 1.4 2005/02/01 00:55:51 ensc Exp $    --*- c -*--
+// $Id: createskeleton-full.hc 1837 2005-02-01 00:55:51Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b71aea2..afa02c1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: createskeleton-short.hc,v 1.1 2004/02/18 04:42:38 ensc Exp $    --*- c -*--
+// $Id: createskeleton-short.hc 934 2004-02-18 04:42:38Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6292224..feb7813 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: createskeleton.c,v 1.1 2004/02/18 04:42:38 ensc Exp $    --*- c -*--
+// $Id: createskeleton.c 934 2004-02-18 04:42:38Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 35c3a76..2d50420 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ext2fs.h,v 1.2 2004/01/29 11:00:41 ensc Exp $    --*- c -*--
+// $Id: ext2fs.h 720 2004-01-29 11:00:41Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 34cfd89..38688da 100644 (file)
--- a/lib/fmt.h
+++ b/lib/fmt.h
@@ -1,4 +1,4 @@
-// $Id: fmt.h,v 1.7 2004/06/16 10:06:03 ensc Exp $    --*- c -*--
+// $Id: fmt.h 1583 2004-06-16 10:06:03Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f5f3f9c..0c0b9ef 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getfilecontext.c,v 1.1 2004/12/09 13:05:41 ensc Exp $    --*- c -*--
+// $Id: getfilecontext.c 1766 2004-12-09 13:05:41Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 67a65f4..e0019ce 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getnbipv4root.c,v 1.1 2004/03/16 14:27:53 ensc Exp $    --*- c -*--
+// $Id: getnbipv4root.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 size_t
 vc_get_nb_ipv4root()
index 747a4dd..664a3dd 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getprocentry-legacy.c,v 1.4 2004/03/05 04:40:59 ensc Exp $    --*- c++ -*--
+// $Id: getprocentry-legacy.c 1091 2004-03-05 04:40:59Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7caf0b7..5d17586 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getversion-internal.hc,v 1.6 2004/01/22 21:35:36 ensc Exp $    --*- c++ -*--
+// $Id: getversion-internal.hc 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -24,7 +24,7 @@
 #endif
 
 #define _LINUX_TYPES_H 1
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 static inline ALWAYSINLINE UNUSED int
 vc_get_version_internal(int cat)
index 32a3427..ca233bd 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getversion.c,v 1.5 2004/01/29 11:00:41 ensc Exp $    --*- c++ -*--
+// $Id: getversion.c 720 2004-01-29 11:00:41Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7a3714a..27ae306 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvserverappdir.c,v 1.1 2004/01/16 17:55:45 ensc Exp $    --*- c -*--
+// $Id: getvserverappdir.c 611 2004-01-16 18:00:11Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 66acfa3..4c63738 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvserverbyctx-compat.hc,v 1.3 2004/06/27 13:01:28 ensc Exp $    --*- c -*--
+// $Id: getvserverbyctx-compat.hc 2182 2005-10-25 16:20:07Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -67,7 +67,8 @@ handleLegacy(xid_t UNUSED xid)
 #endif
 
 static char *
-vc_getVserverByCtx_compat(xid_t ctx, vcCfgStyle *style, char const *revdir)
+vc_getVserverByCtx_compat(xid_t ctx, vcCfgStyle *style, char const *revdir,
+                         bool validate_result)
 {
   if (revdir==0) revdir = DEFAULT_PKGSTATEREVDIR;
 
@@ -92,8 +93,10 @@ vc_getVserverByCtx_compat(xid_t ctx, vcCfgStyle *style, char const *revdir)
   switch (cur_style) {
     case vcCFG_RECENT_SHORT    :
     case vcCFG_RECENT_FULL     :
-       // check if expected ctx == actual ctx
-      if (vc_getVserverCtx(path, vcCFG_RECENT_FULL, false, 0)!=ctx) return 0;
+       // check if expected ctx == actual ctx (but only when this check is
+       // request)
+      if (validate_result &&
+         vc_getVserverCtx(path, vcCFG_RECENT_FULL, false, 0)!=ctx) return 0;
 
       if (style) *style = vcCFG_RECENT_FULL;
       return strdup(path);
index faca702..adfb0e9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvserverbyctx-v13.hc,v 1.1 2004/03/11 04:39:59 ensc Exp $    --*- c -*--
+// $Id: getvserverbyctx-v13.hc 2182 2005-10-25 16:20:07Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 static char *
-vc_getVserverByCtx_v13(xid_t ctx, vcCfgStyle *style, char const UNUSED *revdir)
+vc_getVserverByCtx_v13(xid_t ctx, vcCfgStyle *style, char const UNUSED *revdir,
+                      bool validate_result)
 {
   char         buf[128];
 
   if (vc_get_vhi_name(ctx, vcVHI_CONTEXT, buf, sizeof buf)!=-1 &&
-      vc_getVserverCtx(buf, vcCFG_RECENT_FULL, false, 0)==ctx) {
+      (!validate_result ||
+       vc_getVserverCtx(buf, vcCFG_RECENT_FULL, false, 0)==ctx)) {
     if (style) *style = vcCFG_RECENT_FULL;
     return strdup(buf);
   }
index 9896ae8..9371f94 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvserverbyctx.c,v 1.6 2004/03/11 04:40:29 ensc Exp $    --*- c -*--
+// $Id: getvserverbyctx.c 2182 2005-10-25 16:20:07Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #include "getvserverbyctx-compat.hc"
 #include "getvserverbyctx-v13.hc"
 
+
 char *
-vc_getVserverByCtx(xid_t ctx, vcCfgStyle *style, char const *revdir)
+vc_getVserverByCtx_Internal(xid_t ctx, /*@null@*/vcCfgStyle *style,
+                           /*@null@*/char const *revdir,
+                           bool validate_result)
 {
   if (vc_isSupported(vcFEATURE_MIGRATE))
-    return vc_getVserverByCtx_v13(ctx, style, revdir);
+    return vc_getVserverByCtx_v13(ctx, style, revdir, validate_result);
   else
-    return vc_getVserverByCtx_compat(ctx, style, revdir);
+    return vc_getVserverByCtx_compat(ctx, style, revdir, validate_result);
+}
+
+char *
+vc_getVserverByCtx(xid_t ctx, vcCfgStyle *style, char const *revdir)
+{
+  return vc_getVserverByCtx_Internal(ctx, style, revdir, true);
+  
 }
index f9581cf..e3d9486 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvservercfgdir.c,v 1.1 2004/01/16 17:55:45 ensc Exp $    --*- c -*--
+// $Id: getvservercfgdir.c 611 2004-01-16 18:00:11Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f9cba62..4677407 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvservercfgstyle.c,v 1.6 2005/01/26 23:29:06 ensc Exp $    --*- c -*--
+// $Id: getvservercfgstyle.c 1804 2005-01-26 23:29:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ce116ae..b680670 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvserverctx.c,v 1.8 2004/06/27 13:02:07 ensc Exp $    --*- c -*--
+// $Id: getvserverctx.c 2210 2005-10-29 12:06:19Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -24,6 +24,7 @@
 #include "pathconfig.h"
 #include "compat-c99.h"
 #include "lib_internal/util.h"
+#include "internal.h"
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -92,23 +93,28 @@ getCtxFromFile(char const *pathname)
 
   fd = open(pathname, O_RDONLY);
 
-  if (fd==-1 ||
-      (len=lseek(fd, 0, SEEK_END))==-1 ||
+  if (fd==-1) return VC_NOCTX;
+  if ((len=lseek(fd, 0, SEEK_END))==-1 ||
       (len>50) ||
-      (lseek(fd, 0, SEEK_SET)==-1))
+      (lseek(fd, 0, SEEK_SET)==-1)) {
+    close(fd);
     return VC_NOCTX;
+  }
 
   {
   char         buf[len+1];
   char         *errptr;
   xid_t                res;
   
-  if (TEMP_FAILURE_RETRY(read(fd, buf, len+1))!=len)
-    return VC_NOCTX;
+  if (TEMP_FAILURE_RETRY(read(fd, buf, len+1))!=len) res = VC_NOCTX;
+  else {
+    buf[len] = '\0';
 
-  res = strtol(buf, &errptr, 10);
-  if (*errptr!='\0' && *errptr!='\n') return VC_NOCTX;
+    res = strtol(buf, &errptr, 10);
+    if (*errptr!='\0' && *errptr!='\n') res = VC_NOCTX;
+  }
 
+  close(fd);
   return res;
   }
 }
@@ -141,14 +147,44 @@ vc_getVserverCtx(char const *id, vcCfgStyle style, bool honor_static, bool *is_r
       memcpy(buf+idx, "/run", 5);      // appends '\0' too
       
       res = getCtxFromFile(buf);
-      if (is_running) *is_running = res!=VC_NOCTX;
+
+       // when context information could be read, we have to verify that
+       // it belongs to a running vserver and the both vservers are
+       // identically
+      if (res!=VC_NOCTX) {
+       char                    *cur_name;
+       struct vc_vx_info       info;
+
+         // determine the vserver which is associated with the xid resp. skip
+         // this step when the context does not exist. When checking whether
+         // the context exists, do not rely on the success of
+         // vc_get_vx_info() alone but check 'errno' for ESRCH also. Else,
+         // wrong results will be caused e.g. for xid 1 which will fail with
+         // ENOSYS.
+       cur_name = (vc_get_vx_info(res, &info)!=-1 || errno!=ESRCH ?
+                   vc_getVserverByCtx_Internal(res, &style, 0, false) :
+                   0);
+
+       buf[idx] = '\0';        // cut off the '/run' from the vserver name
+       
+       res      = ((cur_name!=0 &&
+                    vc_compareVserverById(buf,      vcCFG_RECENT_FULL,
+                                         cur_name, vcCFG_RECENT_FULL)==0)
+                   ? res
+                   : VC_NOCTX);        // correct the value of 'res'
+         
+       free(cur_name);
+      }
+      
+      if (is_running)                  // fill 'is_running' information...
+       *is_running = res!=VC_NOCTX;
       
       if (res==VC_NOCTX && honor_static) {
        memcpy(buf+idx, "/context", 9); // appends '\0' too
 
        res = getCtxFromFile(buf);
       }
-      
+
       return res;
     }
     default                    :  return VC_NOCTX;
index a8bc866..963f466 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvservername.c,v 1.5 2004/05/08 01:27:25 ensc Exp $    --*- c -*--
+// $Id: getvservername.c 1543 2004-05-08 01:27:25Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2d8c79a..689a47b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getvservervdir.c,v 1.5 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: getvservervdir.c 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a5c0463..090854b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getxidtype.c,v 1.1 2005/03/09 14:38:51 ensc Exp $    --*- c -*--
+// $Id: getxidtype.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
-#include "virtual.h"
+#include "internal.h"
 
 vcXidType
 vc_getXIDType(xid_t xid)
 {
-  if (xid==0)                                  return vcTYPE_MAIN;
-  if (xid==1)                                  return vcTYPE_WATCH;
-  if (xid>1              && xid<MIN_D_CONTEXT) return vcTYPE_STATIC;
-  if (xid>=MIN_D_CONTEXT && xid<MAX_S_CONTEXT) return vcTYPE_DYNAMIC;
+  static xid_t MIN_D_CONTEXT = 0;
+  const xid_t  MAX_S_CONTEXT = 65535;
+  if (MIN_D_CONTEXT == 0 && (utilvserver_checkCompatConfig() & VC_VCI_NO_DYNAMIC) == 0)
+    MIN_D_CONTEXT = 49152;
+  else
+    MIN_D_CONTEXT = MAX_S_CONTEXT;
+
+  if (xid==0)                                  return vcTYPE_MAIN;
+  if (xid==1)                                  return vcTYPE_WATCH;
+  if (xid>1              && xid<MIN_D_CONTEXT) return vcTYPE_STATIC;
+  if (xid>=MIN_D_CONTEXT && xid<MAX_S_CONTEXT) return vcTYPE_DYNAMIC;
   return vcTYPE_INVALID;
 }
index 60e2420..79d2e9b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: internal.h,v 1.13 2005/04/28 17:52:30 ensc Exp $    --*- c++ -*--
+// $Id: internal.h 2415 2006-12-08 13:24:49Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,6 +23,8 @@
 #define H_UTIL_VSERVER_LIB_INTERNAL_H
 
 #include "fmt.h"
+#include "vserver.h"
+
 #include <stdlib.h>
 #include <stdbool.h>
 
 extern "C" {
 #endif
 
+char * vc_getVserverByCtx_Internal(xid_t ctx, /*@null@*/vcCfgStyle *style,
+                                   /*@null@*/char const *revdir,
+                                   bool validate_result);
+
+  
 int    utilvserver_checkCompatVersion();
+uint_least32_t utilvserver_checkCompatConfig();
 bool   utilvserver_isDirectory(char const *path, bool follow_link);
 bool   utilvserver_isFile(char const *path, bool follow_link);
 bool   utilvserver_isLink(char const *path);
index ab3423f..7d4df9a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ioctl-getfilecontext.hc,v 1.4 2004/01/23 20:47:32 ensc Exp $    --*- c -*--
+// $Id: ioctl-getfilecontext.hc 702 2004-01-23 20:47:32Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 776f322..28920f5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ioctl-getxflg.hc,v 1.3 2004/01/22 13:36:30 ensc Exp $    --*- c -*--
+// $Id: ioctl-getxflg.hc 685 2004-01-22 13:36:30Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e4c8082..9989a3a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ioctl-setfilecontext.hc,v 1.4 2004/01/23 20:47:32 ensc Exp $    --*- c -*--
+// $Id: ioctl-setfilecontext.hc 702 2004-01-23 20:47:32Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7f7001f..25381d2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ioctl-setxflg.hc,v 1.4 2004/01/23 20:47:32 ensc Exp $    --*- c -*--
+// $Id: ioctl-setxflg.hc 702 2004-01-23 20:47:32Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f70249c..1b8de9a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: isdirectory.c,v 1.1 2004/01/16 17:55:45 ensc Exp $    --*- c -*--
+// $Id: isdirectory.c 611 2004-01-16 18:00:11Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a87504b..658c0a9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: isdynamicxid.c,v 1.1 2004/03/16 03:42:14 ensc Exp $    --*- c -*--
+// $Id: isdynamicxid.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 bool
 vc_is_dynamic_xid(xid_t xid)
 {
-  return xid>=MIN_D_CONTEXT;
+  return vc_getXIDType(xid) == vcTYPE_DYNAMIC;
 }
index 9cd6dd3..8b3ea34 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: isfile.c,v 1.1 2004/08/19 13:56:47 ensc Exp $    --*- c -*--
+// $Id: isfile.c 1654 2004-08-19 13:56:47Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 3179e94..0b95799 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: islink.c,v 1.1 2004/10/21 19:01:26 ensc Exp $    --*- c -*--
+// $Id: islink.c 1759 2004-10-21 19:01:26Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 544403f..2d2a630 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: issupported.c,v 1.4 2005/05/19 18:05:18 ensc Exp $    --*- c -*--
+// $Id: issupported.c 2247 2006-01-18 23:35:54Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -42,6 +42,7 @@ vc_isSupported(vcFeatureSet feature)
     case vcFEATURE_NAMESPACE   :  return ver >= 0x00010012;
     case vcFEATURE_VWAIT       :  return ver >= 0x00010025;
     case vcFEATURE_SCHED       :  return ver >= 0x00020000;  // todo
+    case vcFEATURE_VNET                :  return ver >= 0x00020001;
     default                    :  assert(false); 
   }
 
index f9dcfac..857c403 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: issupportedstring.c,v 1.4 2005/05/19 18:05:18 ensc Exp $    --*- c -*--
+// $Id: issupportedstring.c 2247 2006-01-18 23:35:54Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -31,9 +31,10 @@ static struct {
     vcFeatureSet       feature;
     char const *       name;
 } FEATURES[] = {
-  DECL(VKILL),   DECL(IATTR),     DECL(RLIMIT), DECL(COMPAT),
-  DECL(MIGRATE), DECL(NAMESPACE), DECL(SCHED),  DECL(VINFO),
-  DECL(VHI),     DECL(VSHELPER0), DECL(VSHELPER), DECL(VWAIT)
+  DECL(VKILL),   DECL(IATTR),     DECL(RLIMIT),   DECL(COMPAT),
+  DECL(MIGRATE), DECL(NAMESPACE), DECL(SCHED),    DECL(VINFO),
+  DECL(VHI),     DECL(VSHELPER0), DECL(VSHELPER), DECL(VWAIT),
+  DECL(VNET)
 };
 
 bool
index ebf5fac..3aa63cc 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: listparser.hc,v 1.5 2005/04/24 20:23:11 ensc Exp $    --*- c -*--
+// $Id: listparser.hc 2037 2005-04-24 20:23:11Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 0626110..4ae4d29 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: listparser_uint32.c,v 1.1 2004/03/05 03:12:18 ensc Exp $    --*- c -*--
+// $Id: listparser_uint32.c 1067 2004-03-05 03:12:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 8b7f70e..9168a65 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: listparser_uint64.c,v 1.1 2004/03/05 03:12:18 ensc Exp $    --*- c -*--
+// $Id: listparser_uint64.c 1067 2004-03-05 03:12:18Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a2105d0..d8bcfef 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ncaps-net.c,v 1.2 2005/04/24 20:25:17 ensc Exp $    --*- c -*--
+// $Id: ncaps-net.c 2393 2006-11-23 18:30:29Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
@@ -25,6 +25,7 @@
 #include <lib_internal/util-dimof.h>
 
 #include <string.h>
+#include <strings.h>
 #include <assert.h>
 
 #define DECL(STR, VAL) { STR, sizeof(STR)-1, VAL }
@@ -34,10 +35,23 @@ static struct Mapping_uint64 const VALUES[] = {
   DECL("", 0)
 };
 
+inline static char const *
+removePrefix(char const *str, size_t *len)
+{
+  if ((len==0 || *len==0 || *len>4) &&
+      strncasecmp("nxc_", str, 4)==0) {
+    if (len && *len>4) *len -= 4;
+    return str+4;
+  }
+  else
+    return str;
+}
+
 uint_least64_t
 vc_text2ncap(char const *str, size_t len)
 {
-  ssize_t      idx = utilvserver_value2text_uint64(str, len,
+  char const * tmp = removePrefix(str, &len);
+  ssize_t      idx = utilvserver_value2text_uint64(tmp, len,
                                                    VALUES, DIM_OF(VALUES));
   if (idx==-1) return 0;
   else         return VALUES[idx].val;
index c2cd50a..0961d2d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ncaps_list-net.c,v 1.2 2005/04/24 20:24:36 ensc Exp $    --*- c -*--
+// $Id: ncaps_list-net.c 2038 2005-04-24 20:24:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
index 761faed..00e6e45 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: nflags-net.c,v 1.2 2005/04/24 20:25:17 ensc Exp $    --*- c -*--
+// $Id: nflags-net.c 2404 2006-11-25 00:38:30Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
 #include <lib_internal/util-dimof.h>
 
 #include <string.h>
+#include <strings.h>
 #include <assert.h>
 
 #define DECL(STR, VAL) { STR, sizeof(STR)-1, VAL }
 
 static struct Mapping_uint64 const VALUES[] = {
-#warning Add the 'nflags' values here
-  DECL("", 0)
+  DECL("lock",         VC_NXF_INFO_LOCK),
+  DECL("private",      VC_NXF_INFO_PRIVATE),
+
+  DECL("single_ip",    VC_NXF_SINGLE_IP),
+
+  DECL("hide_netif",   VC_NXF_HIDE_NETIF),
+
+  DECL("state_setup",  VC_NXF_STATE_SETUP),
+  DECL("state_admin",  VC_NXF_STATE_ADMIN),
+
+  DECL("sc_helper",    VC_NXF_SC_HELPER),
+  DECL("persistent",   VC_NXF_PERSISTENT),
+
+    // Aliases for the legacy flags
+  DECL("info_lock",    VC_NXF_INFO_LOCK),
+  DECL("info_private", VC_NXF_INFO_PRIVATE),
 };
 
+inline static char const *
+removePrefix(char const *str, size_t *len)
+{
+  if ((len==0 || *len==0 || *len>4) &&
+      strncasecmp("nxf_", str, 4)==0) {
+    if (len && *len>4) *len -= 4;
+    return str+4;
+  }
+  else
+    return str;
+}
+
 uint_least64_t
 vc_text2nflag(char const *str, size_t len)
 {
-  ssize_t      idx = utilvserver_value2text_uint64(str, len,
+  char const * tmp = removePrefix(str, &len);
+  ssize_t      idx = utilvserver_value2text_uint64(tmp, len,
                                                    VALUES, DIM_OF(VALUES));
   if (idx==-1) return 0;
   else         return VALUES[idx].val;
index acd0518..b4c7230 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: nflags_list-net.c,v 1.2 2005/04/24 20:24:36 ensc Exp $    --*- c -*--
+// $Id: nflags_list-net.c 2038 2005-04-24 20:24:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <>
 //  
diff --git a/lib/nidopt2nid.c b/lib/nidopt2nid.c
new file mode 100644 (file)
index 0000000..9a2d7a4
--- /dev/null
@@ -0,0 +1,40 @@
+// $Id: nidopt2nid.c 2384 2006-11-19 17:25:11Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 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.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include <string.h>
+#include <stdlib.h>
+
+nid_t
+vc_nidopt2nid(char const *str, bool honor_static, char const **err_info)
+{
+  char const *         err;
+  nid_t                        res = VC_NOCTX;
+
+  err = "vc_get_task_nid()";
+  if (strcmp(str,"self")==0) res = vc_get_task_nid(0);
+  else                       res = vc_xidopt2xid(str, honor_static, &err);
+
+  if (res==VC_NOCTX && err_info) *err_info = err;
+
+  return res;
+}
index dd225fb..7067964 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: parselimit.c,v 1.1 2004/03/05 17:20:31 ensc Exp $    --*- c -*--
+// $Id: parselimit.c 1101 2004-03-05 17:21:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2920a50..d2bafcf 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: personalityflag.c,v 1.2 2005/07/15 19:40:15 ensc Exp $    --*- c -*--
+// $Id: personalityflag.c 2159 2005-07-15 19:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
index 6903bf0..b086936 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: personalityflag_list.c,v 1.1 2005/04/28 17:51:43 ensc Exp $    --*- c -*--
+// $Id: personalityflag_list.c 2055 2005-04-28 17:51:43Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 47eaf61..5710b82 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: personalitytype.c,v 1.2 2005/07/15 19:40:15 ensc Exp $    --*- c -*--
+// $Id: personalitytype.c 2159 2005-07-15 19:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5204bf9..ccc360f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: safechroot-internal.hc,v 1.2 2003/10/14 15:40:50 ensc Exp $    --*- c++ -*--
+// $Id: safechroot-internal.hc 147 2003-10-14 15:40:50Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b301e39..d2a6a58 100644 (file)
+ // from http://vserver.13thfloor.at/Experimental/SYSCALL/syscall_shiny10.h
 
-#ifndef __syscall_retval
-#define __syscall_retval(v)    do { } while(0)
-#endif
+#ifndef        __SYSCALL_NEW_H
+#define        __SYSCALL_NEW_H
 
-#ifndef __syscall_error
-#define __syscall_error(e)     do { errno = (e); } while(0)
-#endif
+/*     Copyright (C) 2005-2006 Herbert Pötzl
 
-#define        __check(pos, reg)                                               \
-       ".ifnc " pos ", " reg "\n\t"                                    \
-       ".err\n\t"                                                      \
-       ".endif\n\t"
+               global config options
 
-#ifndef __stringify0
-#define __stringify0(val)      #val
-#endif
+       __sysc_setret   ... set return value (default none)
+       __sysc_seterr   ... set error value (default errno)
 
-#ifndef __stringify
-#define __stringify(val)       __stringify0(val)
-#endif
 
-#define        __comment(name)                                                 \
-       "\t/* kernel sys_" #name "[" __stringify(__NR_##name) "] */"
+               arch specific config
 
+       __sysc_reg_cid  ... the callid (if define), immediate otherwise
 
-/*     *****************************************
-       ALPHA   ALPHA   ALPHA   ALPHA           *
-       alpha kernel interface                  */
-       
-#if    defined(__alpha__)
+       __sysc_reg(n)   ... syscall argument registers
 
-/*     The Alpha calling convention doesn't use the stack until 
-       after the first six arguments have been passed in registers.
-       
-       scnr:   v0($0)
-       args:   a0($16), a1($17), a2($18), a3($19), a4($20), a5($21)
-       sret:   v0($0)
-       serr:   a3($19) (!=0, err=sret)
-*/
+       __sysc_reg_res  ... simple result register (either that or)
+       __sysc_reg_ret  ... complex result register (and)
+       __sysc_reg_err  ... complex error register
 
+       __sysc_cmd_pre  ... preparation command(s)      __sysc_pre(n)
+       __sysc_cmd_sys  ... the syscall                 __sysc_cmd(n)
+       __sysc_cmd_fin  ... syscall finalization        __sysc_fin(n)
 
-#define __syscall_return(type, ret, err) do {                          \
-       __syscall_retval(ret);                                          \
-       if (err) {                                                      \
-               int __err = (ret);                                      \
-               __syscall_error(__err);                                 \
-               ret = -1;                                               \
-       }                                                               \
-       return (type) ret;                                              \
-} while (0)                            
+       __sysc_clobber  ... clobbered registers (default memory)
+       __sysc_max_err  ... maximum error number (for simple result)
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
+       __sysc_errc(r,e)        ... error condition (e cmplx)
+       __sysc_retv(t,r,e)      ... syscall return value (e cmplx)
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
-       
-#define __syscall_clobbers                                             \
-       "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",                 \
-       "$22", "$23", "$24", "$25", "$27", "$28", "memory"              \
+               if gcc cannot be trusted
 
+       __sysc_load(r,a)        ... asm code for register load
+       __sysc_save(r,a)        ... asm code to save result(s)
+       __sysc_limm(r,i)        ... asm code to load immediate
+       __sysc_rcon(n)          ... syscall register constraint
+       __sysc_regs             ... list of input regs for clobber
+       __sysc_type             ... register type
+       __sysc_aout             ... asm code output constraint
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regdef(a3, "$19");                            \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2", "$0$19$0")                            \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0)                                    \
-                     : "$16", "$17", "$18", "$20", "$21",              \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+               if all else fails
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regdef(a3, "$19");                            \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3", "$0$19$0$16")                       \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0)                                    \
-                     : "$17", "$18", "$20", "$21",                     \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+       __sc_asmload(n,N,...)   ... asm code to prepare arguments
+       __sc_asmsysc(n,N)       ... asm code to execute syscall
+       __sc_asmsave(n)         ... asm code to store results
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regval(a1, "$17", arg2);                      \
-               __syscall_regdef(a3, "$19");                            \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4", "$0$19$0$16$17")                  \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0), "r"(__sc_a1)                      \
-                     : "$18", "$20", "$21",                            \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+*/
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regval(a1, "$17", arg2);                      \
-               __syscall_regval(a2, "$18", arg3);                      \
-               __syscall_regdef(a3, "$19");                            \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5", "$0$19$0$16$17$18")             \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0), "r"(__sc_a1), "r"(__sc_a2)        \
-                     : "$20", "$21",                                   \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regval(a1, "$17", arg2);                      \
-               __syscall_regval(a2, "$18", arg3);                      \
-               __syscall_regval(a3, "$19", arg4);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5%6", "$0$19$0$16$17$18$19")        \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0), "r"(__sc_a1), "r"(__sc_a2),       \
-                       "1"(__sc_a3)                                    \
-                     : "$20", "$21",                                   \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-} 
 
-#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) \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regval(a1, "$17", arg2);                      \
-               __syscall_regval(a2, "$18", arg3);                      \
-               __syscall_regval(a3, "$19", arg4);                      \
-               __syscall_regval(a4, "$20", arg5);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5%6%7", "$0$19$0$16$17$18$19$20")   \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0), "r"(__sc_a1), "r"(__sc_a2),       \
-                       "1"(__sc_a3), "r"(__sc_a4)                      \
-                     : "$21",                                          \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
 
-#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)                          \
-{                                                                      \
-       long __sc_ret, __sc_err;                                        \
-       {                                                               \
-               __syscall_regval(v0, "$0", __NR_##name);                \
-               __syscall_regval(a0, "$16", arg1);                      \
-               __syscall_regval(a1, "$17", arg2);                      \
-               __syscall_regval(a2, "$18", arg3);                      \
-               __syscall_regval(a3, "$19", arg4);                      \
-               __syscall_regval(a4, "$20", arg5);                      \
-               __syscall_regval(a5, "$21", arg6);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5%6%7%8",                           \
-                       "$0$19$0$16$17$18$19$20$21")                    \
-                       "callsys" __comment(name)                       \
-                     : "=r"(__sc_v0), "=r"(__sc_a3)                    \
-                     : "0"(__sc_v0),                                   \
-                       "r"(__sc_a0), "r"(__sc_a1), "r"(__sc_a2),       \
-                       "1"(__sc_a3), "r"(__sc_a4), "r"(__sc_a5)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_v0;                                     \
-               __sc_err = __sc_a3;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+/*     *****************************************
+       ALPHA   ALPHA   ALPHA   ALPHA           *
+       alpha kernel interface                  */
+
+#if    defined(__alpha__)
+
+/*     The Alpha calling convention doesn't use the stack until
+       after the first six arguments have been passed in registers.
+
+       scnr:   v0($0)
+       args:   a1($16), a2($17), a3($18), a4($19), a5($20), a6($21)
+       sret:   r0($0)
+       serr:   e0($19) (!=0, err=sret)
+       call:   callsys
+       clob:   memory
+*/
+
+#define        __sysc_reg_cid  "$0"
+#define        __sysc_reg_ret  "$0"
+#define        __sysc_reg_err  "$19"
+#define        __sysc_cmd_sys  "callsys"
+
+#define        __sysc_reg(n)   __arg_##n\
+       ("$16", "$17", "$18", "$19", "$20", "$21")
+
+#define        __sysc_clobber  __sysc_regs,                                    \
+       "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",                 \
+       "$22", "$23", "$24", "$25", "$27", "$28", "memory"              \
 
 
 
 /*     *****************************************
-       ARM     ARM     ARM     ARM             *
+       ARM     ARM     ARM     ARM             *
        arm kernel interface                    */
 
 #elif  defined(__arm__)
 
-/*     The Arm calling convention uses stack args after four arguments
-       but the Linux kernel gets up to seven arguments in registers.
+/*     The Arm calling convention uses stack args after four arguments
+       but the Linux kernel gets up to seven arguments in registers.
        
        scnr:   imm
-       args:   a1(r0), a2(r1), a3(r2), a4(r3), v1(r4), v2(r5), 
-       sret:   a1(r0)
-       serr:   (err= sret > (unsigned)-EMAXERRNO)
+       args:   a1(r0), a2(r1), a3(r2), a4(r3), a5(r4), a6(r5),
+       sret:   r0(r0)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   swi
+       clob:   memory
 */
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   125
-#endif
+#define        __sysc_max_err  125
+#define        __sysc_reg_res  "r0"
+#define        __sysc_cmd_sys  "swi    %0"
 
-#define __syscall_errcon(res)                                          \
-       ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
+#define        __sysc_reg(n)   __arg_##n\
+       ("r0", "r1", "r2", "r3", "r4", "r5")
 
-#define __syscall_return(type, res) do {                               \
-       __syscall_retval(res);                                          \
-       if (__syscall_errcon(res)) {                                    \
-               int __err = -(res);                                     \
-               __syscall_error(__err);                                 \
-               res = -1;                                               \
-       }                                                               \
-       return (type) res;                                              \
-} while (0)                            
+#define        __sysc_clobber  __sysc_regs, "memory"
 
-#define __syscall_regdef(name, reg)                                    \
-       register int __sc_##name __asm__ (reg)
+#warning syscall arch arm not tested yet
 
-#define __syscall_regval(name, reg, val)                               \
-       register int __sc_##name __asm__ (reg) = (int)(val)
 
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(a1, "r0");                             \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0", "r0")                                     \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name)                                \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     *****************************************
+       CRIS    CRIS    CRIS    CRIS            *
+       cris v10 kernel interface               */
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2", "r0r0")                                 \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1)                                    \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#elif  defined(__cris__)
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-               __syscall_regval(a2, "r1", arg2);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3", "r0r0r1")                             \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1), "r"(__sc_a2)                      \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     The Cris calling convention uses stack args after four arguments
+       but the Linux kernel gets up to six arguments in registers.
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-               __syscall_regval(a2, "r1", arg2);                       \
-               __syscall_regval(a3, "r2", arg3);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4", "r0r0r1r2")                         \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3)        \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+       scnr:   id(r9)
+       args:   a1(r10), a2(r11), a3(r12), a4(r13), a5(mof), a6(srp),
+       sret:   r0(r10)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   break 13
+       clob:   memory
+*/
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-               __syscall_regval(a2, "r1", arg2);                       \
-               __syscall_regval(a3, "r2", arg3);                       \
-               __syscall_regval(a4, "r3", arg4);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5", "r0r0r1r2r3")                     \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4)                                    \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
-
-#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) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-               __syscall_regval(a2, "r1", arg2);                       \
-               __syscall_regval(a3, "r2", arg3);                       \
-               __syscall_regval(a4, "r3", arg4);                       \
-               __syscall_regval(v1, "r4", arg5);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5%6", "r0r0r1r2r3r4")                 \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_v1)                      \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sysc_max_err  125
+#define        __sysc_reg_cid  "r9"
+#define        __sysc_reg_res  "r0"
+#define        __sysc_cmd_sys  "break 13"
+
+#define        __sysc_regs     "r10", "r11", "r12", "r13"
+#define        __sysc_reg(n)   __arg_##n\
+       ("r10", "r11", "r12", "r13", "r0", "srp")
+
+#define        __sysc_pre(n)   __casm(n,5,0,"move r0,mof",)
+
+#define        __sysc_clobber  __sysc_regs, "memory"
+
+#warning syscall arch cris not tested yet
 
-#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)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a1, "r0", arg1);                       \
-               __syscall_regval(a2, "r1", arg2);                       \
-               __syscall_regval(a3, "r2", arg3);                       \
-               __syscall_regval(a4, "r3", arg4);                       \
-               __syscall_regval(v1, "r4", arg5);                       \
-               __syscall_regval(v2, "r5", arg6);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5%6%7", "r0r0r1r2r3r4r5")             \
-                       "swi %1" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "i"(__NR_##name),                               \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_v1), "r"(__sc_v2)        \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
 
 /*     *****************************************
-       CRIS    CRIS    CRIS    CRIS            *
-       cris v10 kernel interface               */
+       FRV     FRV     FRV     FRV             *
+       frv kernel interface            */
 
-#elif  defined(__cris__)
+#elif  defined(__frv__)
 
-/*     The Cris calling convention uses stack args after four arguments
-       but the Linux kernel gets up to six arguments in registers.
+/*     The C calling convention on FR-V uses the gr8-gr13 registers
+       for the first six arguments, the remainder is spilled onto the
+       stack. the linux kernel syscall interface does so too.
        
-       scnr:   (r9)
-       args:   (r10), (r11), (r12), (r13), (mof), (srp), 
-       sret:   (r10)
-       serr:   (err= sret > (unsigned)-EMAXERRNO)
+       scnr:   id(gr7)
+       args:   a1(gr8), a2(gr9), a3(gr10), a4(gr11), a5(gr12), a6(gr13)
+       sret:   r0(gr8)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   tra gr0,gr0
+       clob:   memory
 */
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   125
-#endif
+#define        __sysc_max_err  125
+#define        __sysc_reg_cid  "gr7"
+#define        __sysc_reg_res  "gr8"
+#define        __sysc_cmd_sys  "tira   gr0,#0"
 
-#define __syscall_errcon(res)                                          \
-       ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
+#define        __sysc_reg(n)   __arg_##n\
+       ("gr8", "gr9", "gr10", "gr11", "gr12", "gr13")
 
-#define __syscall_return(type, res) do {                               \
-       __syscall_retval(res);                                          \
-       if (__syscall_errcon(res)) {                                    \
-               int __err = -(res);                                     \
-               __syscall_error(__err);                                 \
-               res = -1;                                               \
-       }                                                               \
-       return (type) res;                                              \
-} while (0)                            
+#define        __sysc_clobber  __sysc_regs, "memory"
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
+#warning syscall arch frv not tested yet
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regdef(a1, "r10");                            \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1", "$r10$r9")                              \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0)                                    \
-                     : "memory", "srp", "r13", "r12", "r11"            \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2", "$r10$r9$r10")                        \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1)                                    \
-                     : "memory", "srp", "r13", "r12", "r11"            \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     *****************************************
+       H8300   H8300   H8300   H8300           *
+       h8/300 kernel interface                 */
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-               __syscall_regval(a2, "r11", arg2);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3", "$r10$r9$r10$r11")                  \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2)                      \
-                     : "memory", "srp", "r13", "r12"                   \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#elif  defined(__H8300__)
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-               __syscall_regval(a2, "r11", arg2);                      \
-               __syscall_regval(a3, "r12", arg3);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4", "$r10$r9$r10$r11$r12")            \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3)        \
-                     : "memory", "srp", "r13"                          \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     The H8/300 C calling convention passes the first three
+       arguments in registers. However the linux kernel calling
+       convention passes the first six arguments in registers
+       er1-er6
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-               __syscall_regval(a2, "r11", arg2);                      \
-               __syscall_regval(a3, "r12", arg3);                      \
-               __syscall_regval(a4, "r13", arg4);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5", "$r10$r9$r10$r11$r12$r13")      \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4)                                    \
-                     : "memory", "srp"                                 \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
-
-#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) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-               __syscall_regval(a2, "r11", arg2);                      \
-               __syscall_regval(a3, "r12", arg3);                      \
-               __syscall_regval(a4, "r13", arg4);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5", "$r10$r9$r10$r11$r12$r13")      \
-                       "move %6,$mof\n\t"                              \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4),                                   \
-                       "g"((long)arg5)                                 \
-                     : "memory", "srp"                                 \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+       scnr:   id(er0)
+       args:   a1(er1), a2(er2), a3(er3), a4(er4), a5(er5), a6(er6)
+       sret:   r0(er0)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   trapa #0
+       clob:   memory
+*/
 
-#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)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "r9", __NR_##name);                \
-               __syscall_regval(a1, "r10", arg1);                      \
-               __syscall_regval(a2, "r11", arg2);                      \
-               __syscall_regval(a3, "r12", arg3);                      \
-               __syscall_regval(a4, "r13", arg4);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%1%2%3%4%5", "$r10$r9$r10$r11$r12$r13")      \
-                       "move %6,$mof\n\t"                              \
-                       "move %7,$srp\n\t"                              \
-                       "break 13" __comment(name)                      \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_a0),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4),                                   \
-                       "g"((long)arg5), "g"((long)arg6)                \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sysc_max_err  125
+#define        __sysc_reg_res  "er0"
 
+#define        __sysc_reg(n)   __arg_##n\
+       ("er1", "er2", "er3", "er4", "er5", "er6")
 
-/*     *****************************************
-       FRV     FRV     FRV     FRV             *
-       frv kernel interface            */
+#define        __sysc_clobber  "memory"
 
-#elif  defined(__frv__)
+#define        __sc_asmload(n,N,...)   __sc_asm        (                       \
+       __casm(n,1,1,   "mov.l  %0,er1"         ,                       )\
+       __casm(n,2,1,   "mov.l  %1,er2"         ,                       )\
+       __casm(n,3,1,   "mov.l  %2,er3"         ,                       )\
+       __casm(n,4,1,   "mov.l  %3,er4"         ,                       )\
+       __casm(n,5,1,   "mov.l  %4,er5"         ,                       )\
+       __casm(n,6,1,   "mov.l  er6,@-sp"       ,                       )\
+       __casm(n,6,1,   "mov.l  %5,er6"         ,                       )\
+       ""::__sc_iregs(n,__VA_ARGS__):__sysc_regs)
+
+#define        __sysc_cmd_pre  "mov.l  %0,er0"
+#define        __sysc_cmd_sys  "trapa  #0"
+#define        __sysc_fin(n)   __casm(n,6,0,"mov.l     @sp+,er6",)
+
+#warning syscall arch h8300 not tested yet
 
-#warning syscall arch frv not implemented yet
 
 
 /*     *****************************************
-       H8300   H8300   H8300   H8300           *
-       h8/300 kernel interface                 */
+       HPPA    HPPA    HPPA    HPPA            *
+       hppa/64 kernel interface                */
 
-#elif  defined(__h8300__)
+#elif  defined(__hppa__)
 
-#warning syscall arch h8300 not implemented yet
+/*     The hppa calling convention uses r26-r23 for the first 4
+       arguments, the rest is spilled onto the stack. However the
+       Linux kernel passes the first six arguments in the registers
+       r26-r21.
+
+       The system call number MUST ALWAYS be loaded in the delay
+       slot of the ble instruction, or restarting system calls
+       WILL NOT WORK.
+
+       scnr:   id(r20)
+       args:   a1(r26), a2(r25), a3(r24), a4(r23), a5(r22), a6(r21)
+       sret:   r0(r28)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   ble  0x100(%%sr2, %%r0)
+       clob:   r1, r2, (r4), r20, r29, r31, memory
+       picr:   pr(r19)
+*/
+
+#define        __sysc_max_err  4095
+#define        __sysc_reg_res  "r28"
+
+#define        __sysc_reg(n)   __arg_##n\
+       ("r26", "r25", "r24", "r23", "r22", "r21")
+
+#define        __sysc_cmd_sys  "ble 0x100(%%sr2,%%r0)"
+
+#define        __sysc_pre(n)                                                   \
+       __pasm(n,1,1,   "copy %%r19, %%r4"      ,                       )
+
+#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
 
 
 /*     *****************************************
-       I386    I386    I386    I386            *
+       I386    I386    I386    I386            *
        i386 kernel interface                   */
 
 #elif  defined(__i386__)
 
-/*     The x86 calling convention uses stack args for all arguments,
-       but the Linux kernel passes the first six arguments in the
+/*     The x86 calling convention uses stack args for all arguments,
+       but the Linux kernel passes the first six arguments in the
        following registers: ebx, ecx, edx, esi, edi, ebp.
        
-       scnr:   a0(eax)
+       scnr:   id(eax)
        args:   a1(ebx), a2(ecx), a3(edx), a4(esi), a5(edi), a6(ebp) 
-       sret:   a0(eax)
-       serr:   (err= sret > (unsigned)-EMAXERRNO)
+       sret:   r0(eax)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   int 0x80
+       picr:   pr(ebx)
+       clob:   memory
 */
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   129
+#define        __sysc_max_err  129
+#define        __sysc_reg_res  "eax"
+#define        __sysc_cmd_sys  "int    $0x80"
+
+#ifndef        __PIC__
+#define        __sysc_regs     "ebx", "ecx", "edx", "esi", "edi"
+#else
+#define        __sysc_regs     "ecx", "edx", "esi", "edi"
 #endif
 
-#define __syscall_errcon(res)                                          \
-       ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
+#define        __sc_asmload(n,N,...)   __sc_asm        (                       \
+       __casm(n,6,1,   "movl   %5,%%eax"       ,                       )\
+       __casm(n,5,1,   "movl   %4,%%edi"       ,                       )\
+       __casm(n,4,1,   "movl   %3,%%esi"       ,                       )\
+       __casm(n,3,1,   "movl   %2,%%edx"       ,                       )\
+       __casm(n,2,1,   "movl   %1,%%ecx"       ,                       )\
+       __pasm(n,1,1,   "pushl  %%ebx"          ,                       )\
+       __casm(n,1,1,   "movl   %0,%%ebx"       ,                       )\
+       __casm(n,6,1,   "pushl  %%ebp"          ,                       )\
+       ""::__sc_iregs(n,__VA_ARGS__):__sysc_clobber)
 
-#define __syscall_return(type, res) do {                               \
-       __syscall_retval(res);                                          \
-       if (__syscall_errcon(res)) {                                    \
-               int __err = -(res);                                     \
-               __syscall_error(__err);                                 \
-               res = -1;                                               \
-       }                                                               \
-       return (type) res;                                              \
-} while (0)                            
+#define        __sc_asmsave(n)
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
+#define        __sysc_pre(n)                                                   \
+       __casm(n,6,1,   "movl   %%eax,%%ebp"    ,                       )\
+       __casm(n,0,1,   "movl   %1,%%eax"       ,                       )\
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
+#define        __sysc_fin(n)                                                   \
+       __casm(n,6,1,   "popl   %%ebp"          ,                       )\
+       __pasm(n,1,1,   "popl   %%ebx"          ,                       )\
 
+#define        __sysc_aout     "=a"(__res)
+#define        __sysc_clobber  __sysc_regs, "memory"
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1", "%%eax%%eax")                          \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0)                                    \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2", "%%eax%%eax%%ebx")                   \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1)                                   \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     *****************************************
+       IA64    IA64    IA64    IA64            *
+       ia64 kernel interface                   */
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-               __syscall_regval(a2, "ecx", arg2);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2%3", "%%eax%%eax%%ebx%%ecx")            \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2)                     \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#elif  defined(__ia64__)
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-               __syscall_regval(a2, "ecx", arg2);                      \
-               __syscall_regval(a3, "edx", arg3);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2%3%4", "%%eax%%eax%%ebx%%ecx%%edx")             \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3)      \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+/*     The ia64 calling convention uses out0-out7 to pass the first
+       eight arguments (mapped via register windows).
 
+       scnr:   id(r15)
+       args:   a1(out0), a2(out1), ... a5(out4), a6(out5)
+       sret:   r0(r8)
+       serr:   e0(r10)
+       call:   break 0x100000
+       clob:   out6/7, r2/3/9, r11-r14, r16-r31, p6-p15, f6-f15, b6/7
+*/
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-               __syscall_regval(a2, "ecx", arg2);                      \
-               __syscall_regval(a3, "edx", arg3);                      \
-               __syscall_regval(a4, "esi", arg4);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2%3%4%5",                                        \
-                       "%%eax%%eax%%ebx%%ecx%%edx%%esi")               \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4)                                   \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
 
-#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) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-               __syscall_regval(a2, "ecx", arg2);                      \
-               __syscall_regval(a3, "edx", arg3);                      \
-               __syscall_regval(a4, "esi", arg4);                      \
-               __syscall_regval(a5, "edi", arg5);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2%3%4%5%6",                              \
-                       "%%eax%%eax%%ebx%%ecx%%edx%%esi%%edi")          \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4), "r"(__sc_a5)                     \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sysc_reg_ret  "r8"
+#define        __sysc_reg_err  "r10"
+#define        __sysc_reg_cid  "r15"
+#define        __sysc_cmd_sys  "break.i        0x100000"
 
-#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)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "eax", __NR_##name);               \
-               __syscall_regval(a1, "ebx", arg1);                      \
-               __syscall_regval(a2, "ecx", arg2);                      \
-               __syscall_regval(a3, "edx", arg3);                      \
-               __syscall_regval(a4, "esi", arg4);                      \
-               __syscall_regval(a5, "edi", arg5);                      \
-               __syscall_regval(a6, "ebp", arg6);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-                __check("%0%1%2%3%4%5%6%7",                            \
-                       "%%eax%%eax%%ebx%%ecx%%edx%%esi%%edi%%ebp")     \
-                       "int $0x80" __comment(name)                     \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4), "r"(__sc_a5), "r" (__sc_a6)      \
-                     : "memory"                                        \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sysc_errc(r,e)        ((e) == -1)
 
+#define        __sysc_reg(n)   __arg_##n\
+       ("out0", "out1", "out2", "out3", "out4", "out5")
 
-/*     *****************************************
-       IA64    IA64    IA64    IA64            *
-       ia64 kernel interface                   */
+#define        __sysc_clobber  __sysc_regs,                                    \
+       "out6", "out7", "r2", "r3", "r9", "r11", "r12", "r13",          \
+       "r14", "r16", "r17", "r18", "r19", "r20", "r21", "r22",         \
+       "r23", "r24", "r25", "r26", "r27", "r28", "r29", "r30",         \
+       "r31", "p6", "p7", "p8", "p9", "p10", "p11", "p12", "p13",      \
+       "p14", "p15", "f6", "f7", "f8", "f9", "f10", "f11", "f12",      \
+       "f13", "f14", "f15", "f16", "b6", "b7", "cc", "memory"
 
-#elif  defined(__ia64__)
+#warning syscall arch ia64 not tested yet
 
-#warning syscall arch ia64 not implemented yet
 
 
 /*     *****************************************
-       M32R    IM32R   M32R    M32R            *
+       M32R    M32R    M32R    M32R            *
        m32r kernel interface                   */
 
-#elif  defined(__m32r__)
+#elif  defined(__M32R__)
+
+/*     The m32r calling convention uses r0-r7 to pass the first
+       eight arguments (mapped via register windows).
+
+       scnr:   id(r0)
+       args:   a1(r1), a2(r2), a3(r3), a4(r4), a5(r5), a6(r6)
+       sret:   r0(r0)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   trap #2
+       clob:   out6/7, r2/3/9, r11-r14, r16-r31, p6-p15, f6-f15, b6/7
+*/
+
+#define        __sysc_max_err  125
+#define        __sysc_reg_cid  "r7"
+#define        __sysc_reg_res  "r0"
+#define        __sysc_cmd_sys  "trap #2"
+
+#define        __sysc_reg(n)   __arg_##n\
+       ("r0", "r1", "r2", "r3", "r4", "r5")
+
+#define        __sysc_clobber  __sysc_regs, "memory"
+
+#warning syscall arch m32r not tested yet
 
-#warning syscall arch m32r not implemented yet
 
 
 /*     *****************************************
-       M68K    M68K    M68K    M68K            *
+       M68K    M68K    M68K    M68K            *
        m68k kernel interface                   */
 
 #elif  defined(__m68000__)
 
-#warning syscall arch m68k not implemented yet
+#error syscall arch m68k not implemented yet
+
 
 
 /*     *****************************************
-       MIPS    MIPS    MIPS    MIPS            *
+       MIPS    MIPS    MIPS    MIPS            *
        mips kernel interface                   */
 
-#elif defined(__mips__)
+#elif  defined(__mips__)
 
-#warning 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
 
 
 /*     *****************************************
-       HPPA    HPPA    HPPA    HPPA            *
-       hppa kernel interface                   */
+       PPC     PPC     PPC     PPC             *
+       ppc/64 kernel interface                 */
 
-#elif defined(__hppa__)
+#elif  defined(__powerpc__)
 
-/*     The hppa calling convention uses r26-r23 for the first 4
-       arguments, the rest is spilled onto the stack. However the
-       Linux kernel passes the first six arguments in the registers
-       r26-r21. 
+/*     The powerpc calling convention uses r3-r10 to pass the first
+       eight arguments, the remainder is spilled onto the stack.
        
-       The system call number MUST ALWAYS be loaded in the delay 
-       slot of the ble instruction, or restarting system calls 
-       WILL NOT WORK.
+       scnr:   id(r0)
+       args:   a1(r3), a2(r4), a3(r5), a4(r6), a5(r7), a6(r8)
+       sret:   r0(r3)
+       serr:   (carry)
+       call:   sc
+       clob:   cr0, ctr
+*/
+
+
+#define        __sysc_reg_cid  "r0"
+#define        __sysc_reg_ret  "r3"
+#define        __sysc_reg_err  "r0"
+
+#define        __sysc_errc(r,e)        ((e) & 0x10000000)
+
+#define        __sysc_reg(n)   __arg_##n\
+       ("r3", "r4", "r5", "r6", "r7", "r8")
+
+#define        __sysc_cmd_sys  "sc"
+#define        __sysc_cmd_fin  "mfcr 0"
+
+#define        __sysc_clobber  __sysc_regs,                                    \
+       "r9", "r10", "r11", "r12", "cr0", "ctr", "memory"
+
+
+
+/*     *****************************************
+       S390    S390    S390    S390            *
+       s390/x kernel interface                 */
+
+#elif  defined(__s390__)
+
+/*     The s390x calling convention passes the first five arguments
+       in r2-r6, the remainder is spilled onto the stack. However
+       the Linux kernel passes the first six arguments in r2-r7.
        
-       scnr:   r20
-       args:   r26, r25, r24, r23, r22, r21 
-       sret:   r28
-       serr:   (err= sret > (unsigned)-EMAXERRNO)
-       clob:   r1, r2, r4, r20, r29, r31, memory
+       scnr:   imm, id(r1)
+       args:   a1(r2), a2(r3), a3(r4), a4(r5), a5(r6), a6(r7)
+       sret:   r0(r2)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   svc
+       clob:   memory
 */
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   4095
-#endif
+#define        __sysc_max_err  4095
+#define        __sysc_reg_cid  "r1"
+#define        __sysc_reg_res  "r2"
+#define        __sysc_cmd_sys  "svc    0"
 
-#define __syscall_errcon(res)                                          \
-       ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
+#define        __sysc_regtyp   unsigned long
 
-#define __syscall_return(type, res) do {                               \
-       __syscall_retval(res);                                          \
-       if (__syscall_errcon(res)) {                                    \
-               int __err = -(res);                                     \
-               __syscall_error(__err);                                 \
-               res = -1;                                               \
-       }                                                               \
-       return (type) res;                                              \
-} while (0)                            
+#define        __sysc_reg(n)   __arg_##n\
+       ("r2", "r3", "r4", "r5", "r6", "r7")
 
-#define __syscall_clobbers                                             \
-       "%r1", "%r2", "%r4", "%r20", "%r29", "%r31", "memory" 
+#define        __sysc_clobber  __sysc_regs, "memory"
 
-#define __syscall_regdef(name, reg)                                    \
-       register unsigned long __sc_##name __asm__ (reg)
 
-#define __syscall_regval(name, reg, val)                               \
-       register unsigned long __sc_##name __asm__ (reg) =              \
-       (unsigned long)(val)
 
+/*     *****************************************
+       SH      SH      SH      SH              *
+       sh kernel interface                     */
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0", "%%r28")                                  \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name)                                \
-                     : "%r21", "%r22", "%r23",                         \
-                       "%r24", "%r25", "%r26",                         \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#elif  defined(__sh__) && !defined(__SH5__)
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2", "%%r28%%r26")                           \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1)                                    \
-                     : "%r21", "%r22", "%r23", "%r24", "%r25",         \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+/*     The SuperH calling convention passes the first four arguments
+       in r4-r7, the remainder is spilled onto the stack. However
+       the Linux kernel passes the remainder in r0-r2.
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-               __syscall_regval(a2, "r25", arg2);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3", "%%r28%%r26%%r25")                    \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1), "r"(__sc_a2)                      \
-                     : "%r21", "%r22", "%r23", "%r24",                 \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+       scnr:   id(r3)
+       args:   a1(r4), a2(r5), a3(r6), a4(r7), a5(r0), a6(r1)
+       sret:   r0(r0)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   trapa #0x1x (x=#args)
+       clob:   memory
+*/
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-               __syscall_regval(a2, "r25", arg2);                      \
-               __syscall_regval(a3, "r24", arg3);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4", "%%r28%%r26%%r25%%r24")             \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3)        \
-                     : "%r21", "%r22", "%r23",                         \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
-
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-               __syscall_regval(a2, "r25", arg2);                      \
-               __syscall_regval(a3, "r24", arg3);                      \
-               __syscall_regval(a4, "r23", arg4);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5", "%%r28%%r26%%r25%%r24%%r23")      \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4)                                    \
-                     : "%r21", "%r22",                                 \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
-
-#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) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-               __syscall_regval(a2, "r25", arg2);                      \
-               __syscall_regval(a3, "r24", arg3);                      \
-               __syscall_regval(a4, "r23", arg4);                      \
-               __syscall_regval(a5, "r22", arg5);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5%6",                                 \
-                       "%%r28%%r26%%r25%%r24%%r23%%r22")               \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5)                      \
-                     : "%r21",                                         \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sysc_max_err  4095
+#define        __sysc_reg_cid  "r3"
+#define        __sysc_reg_res  "r0"
 
-#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)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regdef(ret, "r28");                           \
-               __syscall_regval(a1, "r26", arg1);                      \
-               __syscall_regval(a2, "r25", arg2);                      \
-               __syscall_regval(a3, "r24", arg3);                      \
-               __syscall_regval(a4, "r23", arg4);                      \
-               __syscall_regval(a5, "r22", arg5);                      \
-               __syscall_regval(a6, "r21", arg6);                      \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-               __check("%0%2%3%4%5%6%7",                               \
-                       "%%r28%%r26%%r25%%r24%%r23%%r22%%r21")          \
-                       "ble  0x100(%%sr2, %%r0)"                       \
-                               __comment(name) "\n\t"                  \
-                       "ldi %1, %%r20"                                 \
-                     : "=r"(__sc_ret)                                  \
-                     : "i"(__NR_##name),                               \
-                       "r"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5), "r"(__sc_a6)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_ret;                                    \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sysc_reg(n)   __arg_##n\
+       ("r4", "r5", "r6", "r7", "r0", "r1")
+
+#define        __sysc_cmd(n)   "trapa  #0x1" __stringify(n)
+
+#define        __rep_6(x)      x x x x x x
+#define        __sysc_cmd_fin  __rep_6("or     r0,r0\n\t")
+
+#define        __sysc_clobber  __sysc_regs, "memory"
+
+#warning syscall arch sh not tested yet
 
 
 
 /*     *****************************************
-       PPC64   PPC64   PPC64   PPC64           *
-       ppc64 kernel interface                  */
+       SH64    SH64    SH64    SH64            *
+       sh64 kernel interface                   */
+
+#elif defined(__sh__) && defined(__SH5__)
+
+/*     The SuperH-5 calling convention passes the first eight
+       arguments in r2-r9
+
+       scnr:   id(r9)
+       args:   a1(r2), a2(r3), a3(r4), a4(r5), a5(r6), a6(r7)
+       sret:   r0(r9)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   trapa #0x1x (x=#args)
+       clob:   memory
+*/
 
-#elif defined(__powerpc64__)
+#define        __sysc_max_err  4095
+#define        __sysc_reg_res  "r9"
+#define        __sysc_cmd_sys  "trapa  r9"
+
+#define        __sysc_reg(n)   __arg_##n\
+       ("r2", "r3", "r4", "r5", "r6", "r7")
+
+#define        __sc_asmsysc(n,N)       __sc_asm_vol    (                       \
+       __casm(n,0,1,   "movi %0,r9"            ,                       )\
+       __casm(n,0,1,   __sc_cmds(n,N)          ,                       )\
+       ""::"i"(__sc_id(N) | 0x1##n << 16) : __sysc_clobber)
+
+#define        __sysc_clobber  __sysc_regs, "memory"
+
+#warning syscall arch sh64 not tested yet
 
-#warning syscall arch ppc64 not implemented yet
 
 
 /*     *****************************************
-       PPC     PPC     PPC     PPC             *
-       ppc kernel interface                    */
-
-#elif defined(__powerpc__)
-
-/*      The powerpc calling convention uses r3-r10 to pass the first
-       eight arguments, the remainder is spilled onto the stack.
-        
-        scnr:   r0
-        args:   a1(r3), a2(r4), a3(r5), a4(r6), a5(r7), a6(r8)
-        sret:   r3
-        serr:   (carry)
-       call:   sc
-       clob:   cr0, ctr
+       SPARC64 SPARC64 SPARC64 SPARC64         *
+       sparc64 kernel interface                */
+
+#elif  defined(__sparc__)
+
+/*     The sparc/64 calling convention uses o0-o5 to pass the first
+       six arguments (mapped via register windows).
+
+       scnr:   id(g1)
+       args:   a1(o0), a2(o1), a3(o2), a4(o3), a5(o4), a6(o5)
+       sret:   r0(o0)
+       serr:   (carry)
+       call:   ta 0x6d, t 0x10
+       clob:   g1-g6, g7?, o7?, f0-f31, cc
 */
 
-#define __syscall_errcon(err)  (err & 0x10000000)
+#define        __sysc_max_err  515
+#define        __sysc_reg_cid  "g1"
+#define        __sysc_reg_ret  "o0"
+#define        __sysc_reg_err  "l1"
 
-#define __syscall_return(type, ret, err) do {                          \
-       __syscall_retval(ret);                                          \
-       if (__syscall_errcon(err)) {                                    \
-               int __err = (ret);                                      \
-               __syscall_error(__err);                                 \
-               ret = -1;                                               \
-       }                                                               \
-       return (type) ret;                                              \
-} while (0)                            
+#define        __sysc_reg(n)   __arg_##n\
+       ("o0", "o1", "o2", "o3", "o4", "o5")
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
+#ifdef __arch64__
+#define        __sysc_cmd_sys  "ta     0x6d"
+#else
+#define        __sysc_cmd_sys  "t      0x10"
+#endif
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
+#define        __sysc_cmd_fin  "addx   %%g0,%%g0,%%l1"
 
-#define __syscall_clobbers                                             \
-       "r9", "r10", "r11", "r12",                                      \
-       "cr0", "ctr", "memory"
 
+#define        __sysc_clobber  __sysc_regs,                                    \
+       "g2", "g3", "g4", "g5", "g6",                                   \
+       "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8",           \
+       "f9", "f10", "f11", "f12", "f13", "f14", "f15", "f16",          \
+       "f17", "f18", "f19", "f20", "f21", "f22", "f23", "f24",         \
+       "f25", "f26", "f27", "f28", "f29", "f30", "f31", "f32",         \
+       "f34", "f36", "f38", "f40", "f42", "f44", "f46", "f48",         \
+       "f50", "f52", "f54", "f56", "f58", "f60", "f62",                \
+       "cc", "memory"
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_ret, __sc_err;                                \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regdef(a1, "r3");                             \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0)                                    \
-                     : "r4", "r5", "r6", "r7", "r8",                   \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+#warning syscall arch sparc not tested yet
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1)                                    \
-                     : "r4", "r5", "r6", "r7", "r8",                   \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-               __syscall_regval(a2, "r4", arg2);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1), "r"(__sc_a2)                      \
-                     : "r5", "r6", "r7", "r8",                         \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-               __syscall_regval(a2, "r4", arg2);                       \
-               __syscall_regval(a3, "r5", arg3);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3)        \
-                     : "r6", "r7", "r8",                               \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-} 
+/*     *****************************************
+       V850    V850    V850    V850            *
+       v850 kernel interface                   */
 
+#elif  defined(__v850__)
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-               __syscall_regval(a2, "r4", arg2);                       \
-               __syscall_regval(a3, "r5", arg3);                       \
-               __syscall_regval(a4, "r6", arg4);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4)                                    \
-                     : "r7", "r8",                                     \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-} 
+/*     The V850 calling convention passes the first four arguments
+       in registers r6-r9, the rest is spilled onto the stack.
+       but the Linux kernel interface uses r6-r9 and r13/14.
 
-#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) \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-               __syscall_regval(a2, "r4", arg2);                       \
-               __syscall_regval(a3, "r5", arg3);                       \
-               __syscall_regval(a4, "r6", arg4);                       \
-               __syscall_regval(a5, "r7", arg5);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5)                      \
-                     : "r8",                                           \
-                       __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
+       scnr:   id(r12)
+       args:   a1(r6), a2(r7), a3(r8), a4(r9), a5(r13), a6(r14)
+       sret:   r0(r10)
+       serr:   (sret >= (unsigned)-EMAXERRNO)
+       call:   trap 0, trap 1
+       clob:   r1, r5, r11, r15-r19
+*/
+
+#define        __sysc_max_err  515
+#define        __sysc_reg_cid  "r12"
+#define        __sysc_reg_res  "r10"
+
+#define        __sysc_reg(n)   __arg_##n\
+       ("r6", "r7", "r8", "r9", "r13", "r14")
+
+#define        __sysc_cmd(n)   __casm(n,4,0,"trap 1","trap 0")
+
+#define        __sysc_clobber  __sysc_regs,                                    \
+       "r1", "r5", "r11", "r15", "r16", "r17", "r18", "r19", "memory"
+
+#warning syscall arch v850 not tested yet
 
-#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)                          \
-{                                                                      \
-       unsigned long __sc_ret, __sc_err;                               \
-       {                                                               \
-               __syscall_regval(r0, "r0", __NR_##name);                \
-               __syscall_regval(a1, "r3", arg1);                       \
-               __syscall_regval(a2, "r4", arg2);                       \
-               __syscall_regval(a3, "r5", arg3);                       \
-               __syscall_regval(a4, "r6", arg4);                       \
-               __syscall_regval(a5, "r7", arg5);                       \
-               __syscall_regval(a6, "r8", arg6);                       \
-                                                                       \
-               __asm__ __volatile__ (                                  \
-                       "sc" __comment(name) "\n\t"                     \
-                       "mfcr %0"                                       \
-                     : "=r"(__sc_r0), "=r"(__sc_a1)                    \
-                     : "0"(__sc_r0),                                   \
-                       "1"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5), "r"(__sc_a6)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_ret = __sc_a1;                                     \
-               __sc_err = __sc_r0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_ret, __sc_err);                     \
-}
 
 
 /*     *****************************************
-       S390X   S390X   S390X   S390X           *
-       s390x kernel interface                  */
+       X86_64  X86_64  X86_64  X86_64          *
+       x86_64 kernel interface                 */
 
-#elif defined(__s390x__)
+#elif  defined(__x86_64__)
 
-/*      The s390x calling convention passes the first five arguments
-       in r2-r6, the remainder is spilled onto the stack. However 
-       the Linux kernel passes the first six arguments in r2-r7.
+/*     The x86_64 calling convention uses rdi, rsi, rdx, rcx, r8, r9
+       but the Linux kernel interface uses rdi, rsi, rdx, r10, r8, r9.
        
-        scnr:   imm, r1 
-        args:   a1(r2), a2(r3), a3(r4), a4(r5), a5(r6), a6(r7)
-        sret:   r2
-        serr:   (err= sret > (unsigned)-EMAXERRNO)
-       call:   svc
-       clob:   memory
+       scnr:   id(rax)
+       args:   a1(rdi), a2(rsi), a3(rdx), a4(r10), a5(r8), a6(r9)
+       sret:   r0(rax)
+       serr:   (err= sret > (unsigned)-EMAXERRNO)
+       call:   syscall
+       clob:   rcx, r11
 */
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   4095
-#endif
+#define        __sysc_max_err  4095
+#define        __sysc_reg_cid  "rax"
+#define        __sysc_reg_res  "rax"
+#define        __sysc_cmd_sys  "syscall"
 
-#define __syscall_errcon(res)                                           \
-        ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
+#define        __sysc_reg(n)   __arg_##n\
+       ("rdi", "rsi", "rdx", "r10", "r8", "r9")
 
-#define __syscall_return(type, res) do {                                \
-        __syscall_retval(res);                                          \
-        if (__syscall_errcon(res)) {                                    \
-                int __err = -(res);                                     \
-                __syscall_error(__err);                                 \
-                res = -1;                                               \
-        }                                                               \
-        return (type) res;                                              \
-} while (0)                             
+#define        __sysc_clobber  __sysc_regs,                                    \
+       "cc", "r11", "rcx", "memory"
 
-#define __syscall_regdef(name, reg)                                    \
-       register unsigned long __sc_##name __asm__ (reg)
+#define        __sysc_aout     "=a"(__res)
 
-#define __syscall_regval(name, reg, val)                               \
-       register unsigned long __sc_##name __asm__ (reg) =              \
-               (unsigned long)(val)
+#else
+#error unknown kernel arch
+#endif
 
-#define __syscall_clobbers     "memory"
 
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regdef(a1, "r2");                             \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1", "%%r2%%r1")                             \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2", "%%r2%%r1%%r2")                       \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-               __syscall_regval(a2, "r3", arg2);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3", "%%r2%%r1%%r2%%r3")                 \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+       /* argument list */
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-               __syscall_regval(a2, "r3", arg2);                       \
-               __syscall_regval(a3, "r4", arg3);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4", "%%r2%%r1%%r2%%r3%%r4")           \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+#define        __lst_6(x,a1,a2,a3,a4,a5,a6)    __lst_5(x,a1,a2,a3,a4,a5),x(6,a6)
+#define        __lst_5(x,a1,a2,a3,a4,a5)       __lst_4(x,a1,a2,a3,a4),x(5,a5)
+#define        __lst_4(x,a1,a2,a3,a4)          __lst_3(x,a1,a2,a3),x(4,a4)
+#define        __lst_3(x,a1,a2,a3)             __lst_2(x,a1,a2),x(3,a3)
+#define        __lst_2(x,a1,a2)                __lst_1(x,a1),x(2,a2)
+#define        __lst_1(x,a1)                   __lst_0(x,*)x(1,a1)
+#define        __lst_0(x,a0)
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-               __syscall_regval(a2, "r3", arg2);                       \
-               __syscall_regval(a3, "r4", arg3);                       \
-               __syscall_regval(a4, "r5", arg4);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5", "%%r2%%r1%%r2%%r3%%r4%%r5")     \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+       /* argument concat */
 
-#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) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-               __syscall_regval(a2, "r3", arg2);                       \
-               __syscall_regval(a3, "r4", arg3);                       \
-               __syscall_regval(a4, "r5", arg4);                       \
-               __syscall_regval(a5, "r6", arg5);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5%6",                               \
-                       "%%r2%%r1%%r2%%r3%%r4%%r5%%r6")                 \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __con_6(x,a1,a2,a3,a4,a5,a6)    __con_5(x,a1,a2,a3,a4,a5)x(6,a6)
+#define        __con_5(x,a1,a2,a3,a4,a5)       __con_4(x,a1,a2,a3,a4)x(5,a5)
+#define        __con_4(x,a1,a2,a3,a4)          __con_3(x,a1,a2,a3)x(4,a4)
+#define        __con_3(x,a1,a2,a3)             __con_2(x,a1,a2)x(3,a3)
+#define        __con_2(x,a1,a2)                __con_1(x,a1)x(2,a2)
+#define        __con_1(x,a1)                   __con_0(x,*)x(1,a1)
+#define        __con_0(x,a0)
 
-#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)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(nr, "r1", __NR_##name);                \
-               __syscall_regval(a1, "r2", arg1);                       \
-               __syscall_regval(a2, "r3", arg2);                       \
-               __syscall_regval(a3, "r4", arg3);                       \
-               __syscall_regval(a4, "r5", arg4);                       \
-               __syscall_regval(a5, "r6", arg5);                       \
-               __syscall_regval(a6, "r7", arg6);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5%6%7",                             \
-                       "%%r2%%r1%%r2%%r3%%r4%%r5%%r6%%r7")             \
-                       "svc  0" __comment(name)                        \
-                     : "=r"(__sc_a1)                                   \
-                     : "r"(__sc_nr),                                   \
-                       "0"(__sc_a1), "r"(__sc_a2), "r"(__sc_a3),       \
-                       "r"(__sc_a4), "r"(__sc_a5), "r"(__sc_a6)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a1;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+       /* argument selection */
 
+#define        __arg_0(...)
+#define        __arg_1(a1,...)                 a1
+#define        __arg_2(a1,a2,...)              a2
+#define        __arg_3(a1,a2,a3,...)           a3
+#define        __arg_4(a1,a2,a3,a4,...)        a4
+#define        __arg_5(a1,a2,a3,a4,a5,...)     a5
+#define        __arg_6(a1,a2,a3,a4,a5,a6)      a6
 
 
-/*     *****************************************
-       S390    S390    S390    S390            *
-       s390 kernel interface                   */
 
-#elif defined(__s390__)
+#ifdef __PIC__
+#define        __pic(v)                v
+#define        __nopic(v)
+#else
+#define        __pic(v)
+#define        __nopic(v)              v
+#endif
 
-#warning syscall arch s390 not implemented yet
+#define        __casm_nl(v)            v "\n\t"
+
+#define        __casm(n,a,r,v,w)       __casm_##n##a(v,w,r)
+
+#define        __pasm(n,a,r,v,w)       __pic(__casm(n,a,r,v,w))
+#define        __Pasm(n,a,r,v,w)       __nopic(__casm(n,a,r,v,w))
+
+#define        __casm_use(q,r,v)       v __casm_use_##q##r(__casm_nl(""))
+
+#define        __casm_use_10(v)
+#define        __casm_use_11(v)        v
+#define        __casm_use_12(v)
+#define        __casm_use_13(v)        v
+
+#define        __casm_use_20(v)
+#define        __casm_use_21(v)
+#define        __casm_use_22(v)        v
+#define        __casm_use_23(v)        v
+
+
+#define        __casm_00(v,w,r)        __casm_use(1,r,v)
+#define        __casm_01(v,w,r)        __casm_use(2,r,w)
+#define        __casm_02(v,w,r)        __casm_use(2,r,w)
+#define        __casm_03(v,w,r)        __casm_use(2,r,w)
+#define        __casm_04(v,w,r)        __casm_use(2,r,w)
+#define        __casm_05(v,w,r)        __casm_use(2,r,w)
+#define        __casm_06(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_10(v,w,r)        __casm_use(1,r,v)
+#define        __casm_11(v,w,r)        __casm_use(1,r,v)
+#define        __casm_12(v,w,r)        __casm_use(2,r,w)
+#define        __casm_13(v,w,r)        __casm_use(2,r,w)
+#define        __casm_14(v,w,r)        __casm_use(2,r,w)
+#define        __casm_15(v,w,r)        __casm_use(2,r,w)
+#define        __casm_16(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_20(v,w,r)        __casm_use(1,r,v)
+#define        __casm_21(v,w,r)        __casm_use(1,r,v)
+#define        __casm_22(v,w,r)        __casm_use(1,r,v)
+#define        __casm_23(v,w,r)        __casm_use(2,r,w)
+#define        __casm_24(v,w,r)        __casm_use(2,r,w)
+#define        __casm_25(v,w,r)        __casm_use(2,r,w)
+#define        __casm_26(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_30(v,w,r)        __casm_use(1,r,v)
+#define        __casm_31(v,w,r)        __casm_use(1,r,v)
+#define        __casm_32(v,w,r)        __casm_use(1,r,v)
+#define        __casm_33(v,w,r)        __casm_use(1,r,v)
+#define        __casm_34(v,w,r)        __casm_use(2,r,w)
+#define        __casm_35(v,w,r)        __casm_use(2,r,w)
+#define        __casm_36(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_40(v,w,r)        __casm_use(1,r,v)
+#define        __casm_41(v,w,r)        __casm_use(1,r,v)
+#define        __casm_42(v,w,r)        __casm_use(1,r,v)
+#define        __casm_43(v,w,r)        __casm_use(1,r,v)
+#define        __casm_44(v,w,r)        __casm_use(1,r,v)
+#define        __casm_45(v,w,r)        __casm_use(2,r,w)
+#define        __casm_46(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_50(v,w,r)        __casm_use(1,r,v)
+#define        __casm_51(v,w,r)        __casm_use(1,r,v)
+#define        __casm_52(v,w,r)        __casm_use(1,r,v)
+#define        __casm_53(v,w,r)        __casm_use(1,r,v)
+#define        __casm_54(v,w,r)        __casm_use(1,r,v)
+#define        __casm_55(v,w,r)        __casm_use(1,r,v)
+#define        __casm_56(v,w,r)        __casm_use(2,r,w)
+
+#define        __casm_60(v,w,r)        __casm_use(1,r,v)
+#define        __casm_61(v,w,r)        __casm_use(1,r,v)
+#define        __casm_62(v,w,r)        __casm_use(1,r,v)
+#define        __casm_63(v,w,r)        __casm_use(1,r,v)
+#define        __casm_64(v,w,r)        __casm_use(1,r,v)
+#define        __casm_65(v,w,r)        __casm_use(1,r,v)
+#define        __casm_66(v,w,r)        __casm_use(1,r,v)
+
+#define        __casm_cn_0
+#define        __casm_cn_1             ,
+#define        __casm_cn_2             ,
+#define        __casm_cn_3             ,
+#define        __casm_cn_4             ,
+#define        __casm_cn_5             ,
+#define        __casm_cn_6             ,
+
+
+
+#define        __sc_asm                __asm__
+#define        __sc_asm_vol            __asm__ __volatile__
+
+#ifndef        __sysc_setret
+#define        __sysc_setret(v)        do { } while(0)
+#endif
 
+#ifndef        __sysc_seterr
+#define        __sysc_seterr(e)        do { errno = (e); } while(0)
+#endif
 
-/*     *****************************************
-       SH      SH      SH      SH              *
-       sh kernel interface                     */
+#ifndef        __stringify0
+#define        __stringify0(val)       #val
+#endif
 
-#elif defined(__sh__) && !defined(__SH5__)
+#ifndef        __stringify
+#define        __stringify(val)        __stringify0(val)
+#endif
 
-#warning syscall arch sh not implemented yet
 
+#if    !defined(__sysc_load) && !defined(__sysc_save)
+#if    !defined(__sysc_limm) && !defined(__sc_asmload)
+#define        __sc_trust
+#endif
+#endif
 
-/*     *****************************************
-       SH64    SH64    SH64    SH64            *
-       sh64 kernel interface                   */
+#if    defined(__sysc_reg_ret) && defined(__sysc_reg_err)
+#define        __sc_complex
+#endif
 
-#elif defined(__sh__) && defined(__SH5__)
 
-#warning syscall arch sh64 not implemented yet
+#ifndef        __sysc_type
+#define        __sysc_type             long
+#endif
 
+#define        __sc_cast(v)            (__sysc_type)(v)
 
-/*     *****************************************
-       SPARC64 SPARC64 SPARC64 SPARC64         *
-       sparc64 kernel interface                */
 
-#elif defined(__sparc__) && defined(__arch64__)
+#define        __sc_reg(n)             register __sysc_type n
+#define        __sc_asm_reg(n,r)       register __sysc_type n __sc_asm (r)
+#define        __sc_asm_val(n,r,v)     __sc_asm_reg(n,r) = __sc_cast(v)
 
-/*      The sparc64 calling convention uses o0-o5 to pass the first six
-       arguments (mapped via register windows).
-        
-        scnr:   g1
-        args:   o0, o1, o2, o3, o4, o5 
-        sret:   o0
-        serr:   (carry)
-       call:   t 0x10
-       clob:   g1-g6, g7?, o7?, f0-f31, cc
-*/
+#ifndef        __sysc_load
+#define        __sc_inp_def(n,v)       __sc_asm_val(__sc_a##n, __sysc_reg(n), v);
+#else
+#define        __sc_inp_def(n,value)
+#endif
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   515
+#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);
 #endif
 
-#define __syscall_errcon(res)                                           \
-        ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
-
-#define __syscall_return(type, res) do {                                \
-        __syscall_retval(res);                                          \
-        if (__syscall_errcon(res)) {                                    \
-                int __err = -(res);                                     \
-                __syscall_error(__err);                                 \
-                res = -1;                                               \
-        }                                                               \
-        return (type) res;                                              \
-} while (0)                             
-
-#define __syscall_clobbers                                             \
-       "g2", "g3", "g4", "g5", "g6",                                   \
-       "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8",           \
-       "f9", "f10", "f11", "f12", "f13", "f14", "f15", "f16",          \
-       "f17", "f18", "f19", "f20", "f21", "f22", "f23", "f24",         \
-       "f25", "f26", "f27", "f28", "f29", "f30", "f31", "f32",         \
-       "f34", "f36", "f38", "f40", "f42", "f44", "f46", "f48",         \
-       "f50", "f52", "f54", "f56", "f58", "f60", "f62",                \
-       "cc", "memory" 
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
+#define        __sc_rreg(n,v)          "r"(__sc_a##n)
+#define        __sc_creg(n,v)          __sysc_rcon(n)(__sc_cast(v))
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
+#ifdef __sc_trust
+#define        __sc_iregs(n,...)       __lst_##n(__sc_rreg,__VA_ARGS__)
+#define        __sc_input(n,...)       __con_##n(__sc_inp_def,__VA_ARGS__)
+#else
+#define        __sc_iregs(n,...)       __lst_##n(__sc_creg,__VA_ARGS__)
+#define        __sc_input(n,...)
+#endif
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regdef(o0, "o0");                             \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sc_list(x)            x(1), x(2), x(3), x(4), x(5), x(6)
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+#ifndef        __sysc_regs
+#define        __sysc_regs             __sc_list(__sysc_reg)
+#endif
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+#ifndef        __sysc_rcon
+#define        __sysc_rcon(n)          "g"
+#endif
 
-#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) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-               __syscall_regval(o4, "o4", arg5);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3), "r"(__sc_o4)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
 
-#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)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-               __syscall_regval(o4, "o4", arg5);                       \
-               __syscall_regval(o5, "o5", arg6);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "ta 0x6d" __comment(name) "\n\t"                \
-                       "bcs,a,pt %%xcc,1f\n\t"                         \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3), "r"(__sc_o4), "r"(__sc_o5)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
+#ifdef __sc_complex    /* complex result */
+
+#ifndef        __sysc_errc
+#define        __sysc_errc(ret, err) (err)
+#endif
+
+#ifndef        __sysc_retv
+#define        __sysc_retv(type, ret, err)                                     \
+       __sysc_setret(ret);                                             \
+       if (__sysc_errc(ret, err)) {                                    \
+               int __err = (ret);                                      \
+               __sysc_seterr(__err);                                   \
+               ret = -1;                                               \
        }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+       return (type)(ret)
+#endif
 
+#define        __sc_results                                                    \
+       __sc_res_def(__err, __sysc_reg_err)                             \
+       __sc_res_def(__ret, __sysc_reg_ret)
 
-/*     *****************************************
-       SPARC   SPARC   SPARC   SPARC           *
-       sparc kernel interface                  */
-
-#elif defined(__sparc__)
-
-/*      The sparc calling convention uses o0-o5 to pass the first six
-       arguments (mapped via register windows).
-        
-        scnr:   g1
-        args:   o0, o1, o2, o3, o4, o5 
-        sret:   o0
-        serr:   (carry)
-       call:   t 0x10
-       clob:   g1-g6, g7?, o7?, f0-f31, cc
-*/
+#define        __sc_oregs      "=r"(__ret), "=r"(__err)
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   515
+#if    defined(__sc_trust) || !defined(__sysc_save)
+#define        __sc_saveres    __sc_dummy_save(1)
+#else
+#define        __sc_saveres                                                    \
+       __casm_nl(__sysc_save(__sysc_reg_ret,"%0"))                     \
+       __casm_nl(__sysc_save(__sysc_reg_err,"%1"))
 #endif
 
-#define __syscall_errcon(res)                                           \
-        ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
-
-#define __syscall_return(type, res) do {                                \
-        __syscall_retval(res);                                          \
-        if (__syscall_errcon(res)) {                                    \
-                int __err = -(res);                                     \
-                __syscall_error(__err);                                 \
-                res = -1;                                               \
-        }                                                               \
-        return (type) res;                                              \
-} while (0)                             
-
-#define __syscall_clobbers                                             \
-       "g2", "g3", "g4", "g5", "g6",                                   \
-       "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8",           \
-       "f9", "f10", "f11", "f12", "f13", "f14", "f15", "f16",          \
-       "f17", "f18", "f19", "f20", "f21", "f22", "f23", "f24",         \
-       "f25", "f26", "f27", "f28", "f29", "f30", "f31",                \
-       "cc", "memory" 
-
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
-
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
-
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regdef(o0, "o0");                             \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sc_return(t)  __sysc_retv(t, __ret, __err)
 
-#define _syscall1(type, name, type1, arg1)                             \
-type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#else                  /* simple result  */
 
-#define _syscall2(type, name, type1, arg1, type2, arg2)                        \
-type name(type1 arg1, type2 arg2)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#ifndef        __sysc_errc
+#define        __sysc_errc(res)                                                \
+       ((unsigned __sysc_type)(res) >=                                 \
+               (unsigned __sysc_type)(-(__sysc_max_err)))
+#endif
 
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)   \
-type name(type1 arg1, type2 arg2, type3 arg3)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
+#ifndef        __sysc_retv
+#define        __sysc_retv(type, res)                                          \
+       __sysc_setret(res);                                             \
+       if (__sysc_errc(res)) {                                         \
+               int __err = -(res);                                     \
+               __sysc_seterr(__err);                                   \
+               res = -1;                                               \
        }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+       return (type)(res)
+#endif
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
 
-#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) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-               __syscall_regval(o4, "o4", arg5);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3), "r"(__sc_o4)                      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sc_results                                                    \
+       __sc_res_def(__res, __sysc_reg_res)
 
-#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)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(g1, "g1", __NR_##name);                \
-               __syscall_regval(o0, "o0", arg1);                       \
-               __syscall_regval(o1, "o1", arg2);                       \
-               __syscall_regval(o2, "o2", arg3);                       \
-               __syscall_regval(o3, "o3", arg4);                       \
-               __syscall_regval(o4, "o4", arg5);                       \
-               __syscall_regval(o5, "o5", arg6);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5", "$o0$g1$o0$o1$o2$o3$o4$o5$o6")  \
-                       "t 0x10" __comment(name) "\n\t"                 \
-                       "bcs,a 1f\n\t"                                  \
-                       "sub %%g0,%%o0,%%o0\n"                          \
-                       "1:"                                            \
-                     : "=r"(__sc_o0)                                   \
-                     : "r"(__sc_g1),                                   \
-                       "0"(__sc_o0), "r"(__sc_o1), "r"(__sc_o2),       \
-                       "r"(__sc_o3), "r"(__sc_o4), "r"(__sc_o5)        \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_o0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#define        __sc_oregs      "=r"(__res)
 
+#if    defined(__sc_trust) || !defined(__sysc_save)
+#define        __sc_saveres    __sc_dummy_save(0)
+#else
+#define        __sc_saveres    __casm_nl(__sysc_save(__sysc_reg_res,"%0"))
+#endif
 
-/*     *****************************************
-       V850    V850    V850    V850            *
-       v850 kernel interface                   */
+#define        __sc_return(t)  __sysc_retv(t, __res)
 
-#elif defined(__v850__)
+#endif                 /* simple/complex */
 
-#warning syscall arch v850 not implemented yet
 
+#define        __sc_dummy_load(n)      "/* gcc dummy load "                    \
+       __casm(n,0,0,"%0 ",) __casm(n,1,0,"%1 ",) __casm(n,2,0,"%2 ",)  \
+       __casm(n,3,0,"%3 ",) __casm(n,4,0,"%4 ",) __casm(n,5,0,"%5 ",)  \
+       __casm(n,6,0,"%6 ",) "*/"
 
-/*     *****************************************
-       X86_64  X86_64  X86_64  X86_64          *
-       x86_64 kernel interface                 */
+#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
 
-#elif defined(__x86_64__)
+#define        __comment(name)         "\t/* kernel sys_"                      \
+       #name "[" __stringify(__sc_id(name)) "] */"
 
-/*      The x86_64 calling convention uses rdi, rsi, rdx, rcx, r8, r9
-        but the Linux kernel interface uses rdi, rsi, rdx, r10, r8, r9.
-        
-        scnr:   a0(rax)
-        args:   a1(rdi), a2(rsi), a3(rdx), a4(r10), a5(r8), a6(r9) 
-        sret:   a0(rax)
-        serr:   (err= sret > (unsigned)-EMAXERRNO)
-       call:   syscall
-       clob:   rcx, r11
-*/
 
-#ifndef EMAXERRNO
-#define EMAXERRNO   4095
+#define        __sc_id(N)              __NR_##N
+
+#ifndef        __sysc_reg_cid
+#define        __sc_cid(N)             "i"(__sc_id(N))
+#define        __sc_load_cid           ""
+#define        __sc_callid(N)
+#else
+#define        __sc_cid(N)             "r"(__cid)
+#define        __sc_load_cid           __sysc_limm(__sysc_reg_cid,"%0")
+#define        __sc_callid(N)                                                  \
+       __sc_asm_val(__cid, __sysc_reg_cid, __sc_id(N));
 #endif
 
-#define __syscall_errcon(res)                                           \
-        ((unsigned long)(res) >= (unsigned long)(-EMAXERRNO))
+#ifndef        __sysc_cmd_pre
+#define        __sc_cmd_pre            ""
+#else
+#define        __sc_cmd_pre            __casm_nl(__sysc_cmd_pre)
+#endif
 
-#define __syscall_return(type, res) do {                                \
-        __syscall_retval(res);                                          \
-        if (__syscall_errcon(res)) {                                    \
-                int __err = -(res);                                     \
-                __syscall_error(__err);                                 \
-                res = -1;                                               \
-        }                                                               \
-        return (type) res;                                              \
-} while (0)                             
+#ifndef        __sysc_cmd_fin
+#define        __sc_cmd_fin            ""
+#else
+#define        __sc_cmd_fin            __sysc_cmd_fin
+#endif
 
-#define __syscall_clobbers                                             \
-       "cc", "r11", "rcx", "memory" 
+#ifndef        __sysc_pre
+#define        __sysc_pre(n)           __sc_cmd_pre
+#endif
 
-#define __syscall_regdef(name, reg)                                    \
-       register long __sc_##name __asm__ (reg)
+#ifndef        __sysc_cmd
+#define        __sysc_cmd(n)           __sysc_cmd_sys
+#endif
 
-#define __syscall_regval(name, reg, val)                               \
-       register long __sc_##name __asm__ (reg) = (long)(val)
+#ifndef        __sysc_fin
+#define        __sysc_fin(n)           __sc_cmd_fin
+#endif
 
+#define        __sc_cmds(n,name)                                               \
+       __sysc_pre(n)                                                   \
+       __casm_nl(__sysc_cmd(n) __comment(name))                        \
+       __sysc_fin(n)
+
+#ifndef        __sc_asmload
+#ifdef __sc_trust
+#define        __sc_asmload(n,N,...)   __sc_asm(                               \
+       __sc_dummy_load(n)                                              \
+       ::__sc_cid(N) __casm_cn_##n __sc_iregs(n,__VA_ARGS__))
+#else
+#define        __sc_asmload(n,N,...)   __sc_asm(                               \
+       __casm(n,1,1,   __sysc_load(__sysc_reg(1),"%1"),                )\
+       __casm(n,2,1,   __sysc_load(__sysc_reg(2),"%2"),                )\
+       __casm(n,3,1,   __sysc_load(__sysc_reg(3),"%3"),                )\
+       __casm(n,4,1,   __sysc_load(__sysc_reg(4),"%4"),                )\
+       __casm(n,5,1,   __sysc_load(__sysc_reg(5),"%5"),                )\
+       __casm(n,6,1,   __sysc_load(__sysc_reg(6),"%6"),                )\
+       __sc_load_cid   ::__sc_cid(N) __casm_cn_##n                     \
+       __sc_iregs(n,__VA_ARGS__):__sysc_regs)
+#endif
+#endif
 
-#define _syscall0(type, name)                                          \
-type name(void)                                                                \
+#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)          ,                       )\
+       :__sysc_aout:"i"(__sc_id(N)) : __sysc_clobber)
+#endif
+
+#ifndef        __sc_asmsave
+#define        __sc_asmsave(n)         __sc_asm(                               \
+       __sc_saveres            :__sc_oregs)
+#endif
+
+
+
+
+#define        __sc_body(n, type, name, ...)                                   \
 {                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1", "%%rax%%rax")                           \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0)                                    \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
+       __sc_results __sc_callid(name) __sc_input(n, __VA_ARGS__)       \
+       __sc_asmload(n, name, __VA_ARGS__);                             \
+       __sc_asmsysc(n, name);                                          \
+       __sc_asmsave(n);                                                \
+       __sc_return(type);                                              \
 }
 
-#define _syscall1(type, name, type1, arg1)                             \
+
+
+#define        _syscall0(type, name)                                           \
+type name(void)                                                                \
+__sc_body(0, type, name, *)
+
+#define        _syscall1(type, name, type1, arg1)                              \
 type name(type1 arg1)                                                  \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2", "%%rax%%rax%%rdi")                    \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1)                                   \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+__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)                                      \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-               __syscall_regval(a2, "rsi", arg2);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3", "%%rax%%rax%%rdi%%rsi")             \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2)                     \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+__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)                          \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-               __syscall_regval(a2, "rsi", arg2);                      \
-               __syscall_regval(a3, "rdx", arg3);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4", "%%rax%%rax%%rdi%%rsi%%rdx")      \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3)      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
-
+__sc_body(3, type, name, arg1, arg2, arg3)
 
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,   \
-                             type4, arg4)                              \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4)             \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-               __syscall_regval(a2, "rsi", arg2);                      \
-               __syscall_regval(a3, "rdx", arg3);                      \
-               __syscall_regval(a4, "r10", arg4);                      \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5",                                 \
-                       "%%rax%%rax%%rdi%%rsi%%rdx%%r10")               \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4)                                   \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-} 
+#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)                 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-               __syscall_regval(a2, "rsi", arg2);                      \
-               __syscall_regval(a3, "rdx", arg3);                      \
-               __syscall_regval(a4, "r10", arg4);                      \
-               __syscall_regval(a5, "r8", arg5);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5%6",                               \
-                       "%%rax%%rax%%rdi%%rsi%%rdx%%r10%%r8")           \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4), "r"(__sc_a5)                     \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
+#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)                         \
-{                                                                      \
-       long __sc_res;                                                  \
-       {                                                               \
-               __syscall_regval(a0, "rax", __NR_##name);               \
-               __syscall_regval(a1, "rdi", arg1);                      \
-               __syscall_regval(a2, "rsi", arg2);                      \
-               __syscall_regval(a3, "rdx", arg3);                      \
-               __syscall_regval(a4, "r10", arg4);                      \
-               __syscall_regval(a5, "r8", arg5);                       \
-               __syscall_regval(a6, "r9", arg6);                       \
-                                                                       \
-               __asm__ volatile (                                      \
-               __check("%0%1%2%3%4%5%6%7",                             \
-                       "%%rax%%rax%%rdi%%rsi%%rdx%%r10%%r8%%r9")       \
-                       "syscall" __comment(name)                       \
-                     : "=a"(__sc_a0)                                   \
-                     : "0"(__sc_a0),                                   \
-                       "r" (__sc_a1), "r"(__sc_a2), "r" (__sc_a3),     \
-                       "r" (__sc_a4), "r"(__sc_a5), "r" (__sc_a6)      \
-                     : __syscall_clobbers                              \
-               );                                                      \
-               __sc_res = __sc_a0;                                     \
-       }                                                               \
-       __syscall_return(type, __sc_res);                               \
-}
-
+type name(type1 arg1, type2 arg2, type3 arg3,                          \
+         type4 arg4, type5 arg5, type6 arg6)                           \
+__sc_body(6, type, name, arg1, arg2, arg3, arg4, arg5, arg6)
 
-#endif
 
+#endif /* __SYSCALL_NEW_H */
index 1590057..5f69384 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall-compat.hc,v 1.11 2004/04/14 23:21:23 ensc Exp $    --*- c++ -*--
+// $Id: syscall-compat.hc 1450 2004-04-14 23:21:23Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/lib/syscall-fallback.h b/lib/syscall-fallback.h
new file mode 100644 (file)
index 0000000..c4e01af
--- /dev/null
@@ -0,0 +1,65 @@
+// $Id: syscall-fallback.h 2231 2005-12-31 10:48:24Z ensc $    --*- c -*--
+
+// Copyright (C) 2005 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_UTIL_VSERVER_LIB_SYSCALL_FALLBACK_H
+#define H_ENSC_UTIL_VSERVER_LIB_SYSCALL_FALLBACK_H
+
+
+#if    defined(__alpha__)
+#define __NR_vserver   428
+#elif  defined(__arm__)
+#define __NR_vserver   313
+#elif  defined(__cris__)
+#define __NR_vserver   273
+#elif  defined(__frv__)
+#define __NR_vserver   273
+#elif  defined(__h8300__)
+#define __NR_vserver   273
+#elif  defined(__i386__)
+#define __NR_vserver   273
+#elif  defined(__ia64__)
+#define __NR_vserver   1269
+#elif  defined(__m32r__)
+#define __NR_vserver   273
+#elif  defined(__mc68000__)
+#define __NR_vserver   278
+#elif  defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_ABI32)
+#define __NR_vserver   277
+#elif  defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_ABI64)
+#define __NR_vserver   240
+#elif  defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_NABI32)
+#define __NR_vserver   236
+#elif  defined(__hppa__)
+#define __NR_vserver   263
+#elif  defined(__powerpc__)
+#define __NR_vserver   257
+#elif  defined(__s390__)
+#define __NR_vserver   263
+#elif  defined(__sh__)
+#define __NR_vserver   273
+#elif  defined(__sparc__)
+#define __NR_vserver   267
+#elif  defined(__v850__)
+#define __NR_vserver   *
+#elif  defined(__x86_64__)
+#define __NR_vserver   236
+#endif
+
+
+
+#endif //  H_ENSC_UTIL_VSERVER_LIB_SYSCALL_FALLBACK_H
index 5ac294a..26ecd39 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall-legacy.hc,v 1.10 2005/05/02 21:41:49 ensc Exp $ --*- c -*--
+// $Id: syscall-legacy.hc 2076 2005-05-02 21:42:05Z ensc $ --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on syscall.cc by Jacques Gelinas
index f085329..9673f81 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall-syscall.c,v 1.2 2004/08/19 13:57:53 ensc Exp $    --*- c -*--
+// $Id: syscall-syscall.c 1655 2004-08-19 13:57:53Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4487bae..6308301 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall-wrap.h,v 1.2 2005/05/02 21:42:05 ensc Exp $    --*- c -*--
+// $Id: syscall-wrap.h 2076 2005-05-02 21:42:05Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f099164..a18f787 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall.c,v 1.10 2004/04/08 06:04:41 ensc Exp $    --*- c++ -*--
+// $Id: syscall.c 2272 2006-01-22 18:19:06Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -25,7 +25,7 @@
 #include "internal.h"
 
 #define _LINUX_TYPES_H 1
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_COMPAT) && defined(VC_ENABLE_API_LEGACY)
 #  define VC_MULTIVERSION_SYSCALL      1
@@ -61,4 +61,6 @@ vc_set_ipv4root(uint32_t  bcast, size_t nb, struct vc_ip_mask_pair const *ips)
 }
 
 LINK_WARNING("vc_new_s_context", "warning: vc_new_s_context() is obsoleted; use vc_create_context() instead of");
+LINK_WARNING("vc_set_ipv4root",  "warning: vc_set_ipv4root() is obsoleted; use vc_net_create() instead of");
+
 #endif
index 7e44edc..b33d3b6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_adddlimit-v13.hc,v 1.3 2005/03/02 01:29:44 ensc Exp $    --*- c -*--
+// $Id: syscall_adddlimit-v13.hc 1881 2005-03-02 01:29:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 98f132d..af24493 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_adddlimit.c,v 1.2 2005/03/02 01:27:54 ensc Exp $    --*- c++ -*--
+// $Id: syscall_adddlimit.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #include "vserver-internal.h"
 
index 06ebfdd..2c3d464 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_cleanupnamespace-v13.hc,v 1.1 2004/02/27 04:39:09 ensc Exp $    --*- c -*--
+// $Id: syscall_cleanupnamespace-v13.hc 1023 2004-02-27 04:42:25Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7f8a4d0..1b22e67 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_cleanupnamespace.c,v 1.1 2004/02/27 04:39:09 ensc Exp $    --*- c++ -*--
+// $Id: syscall_cleanupnamespace.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #include "vserver-internal.h"
 
index f29b087..23c45d9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_ctxcreate-v13.hc,v 1.2 2004/04/22 20:45:50 ensc Exp $    --*- c -*--
+// $Id: syscall_ctxcreate-v13.hc 2193 2005-10-28 17:51:09Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,7 +23,7 @@
 static inline ALWAYSINLINE xid_t
 vc_ctx_create_v13(xid_t xid)
 {
-  xid_t                res = vserver(VCMD_ctx_create, CTX_USER2KERNEL(xid), 0);
+  xid_t                res = vserver(VCMD_ctx_create_v0, CTX_USER2KERNEL(xid), 0);
 
   return CTX_KERNEL2USER(res);
 }
index f367159..850e1cb 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_ctxcreate.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_ctxcreate.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_ctxcreate-v13.hc"
index 641ee3f..930a599 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_ctxmigrate-v13.hc,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_ctxmigrate-v13.hc 2339 2006-09-29 22:15:14Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,5 +23,5 @@
 static inline ALWAYSINLINE int
 vc_ctx_migrate_v13(xid_t xid)
 {
-  return vserver(VCMD_ctx_migrate, CTX_USER2KERNEL(xid), 0);
+  return vserver(VCMD_ctx_migrate_v0, CTX_USER2KERNEL(xid), NULL);
 }
diff --git a/lib/syscall_ctxmigrate-v21.hc b/lib/syscall_ctxmigrate-v21.hc
new file mode 100644 (file)
index 0000000..8ec68ae
--- /dev/null
@@ -0,0 +1,35 @@
+// $Id: syscall_ctxmigrate-v21.hc 2419 2006-12-08 15:35:24Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// 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
+
+static inline ALWAYSINLINE int
+vc_ctx_migrate_spaces(xid_t xid)
+{
+  int ret = vc_getXIDType(xid);
+  if (ret == vcTYPE_STATIC || ret == vcTYPE_DYNAMIC) {
+    ret = vc_enter_namespace(xid, vc_get_space_mask() & ~(CLONE_NEWNS|CLONE_FS));
+    if (ret)
+      return ret;
+  }
+
+  return vserver(VCMD_ctx_migrate_v0, CTX_USER2KERNEL(xid), NULL);
+}
index 29276c6..74a6b29 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_ctxmigrate.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_ctxmigrate.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V13) && defined(VC_ENABLE_API_V21)
+#  define VC_MULTIVERSION_SYSCALL 1
+#endif
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_ctxmigrate-v13.hc"
 #endif
 
-#if defined(VC_ENABLE_API_V13)
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_ctxmigrate-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V13) || defined(VC_ENABLE_API_V21)
 int
 vc_ctx_migrate(xid_t xid)
 {
-  CALL_VC(CALL_VC_V13A(vc_ctx_migrate, xid));
+  CALL_VC(CALL_VC_SPACES(vc_ctx_migrate, xid),
+         CALL_VC_V13A  (vc_ctx_migrate, xid));
 }
 #endif
diff --git a/lib/syscall_ctxstat-v21.hc b/lib/syscall_ctxstat-v21.hc
new file mode 100644 (file)
index 0000000..bbf8793
--- /dev/null
@@ -0,0 +1,36 @@
+// $Id: syscall_ctxstat-v21.hc 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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
+
+static inline ALWAYSINLINE int
+vc_ctx_stat_v21(xid_t ctx, struct vc_ctx_stat *stat)
+{
+  int ret;
+  struct vcmd_ctx_stat_v0 param;
+
+  ret = vserver(VCMD_ctx_stat, CTX_USER2KERNEL(ctx), &param);
+  if (ret)
+    return ret;
+
+  stat->usecnt = param.usecnt;
+  stat->tasks  = param.tasks;
+  return 0;
+}
diff --git a/lib/syscall_ctxstat.c b/lib/syscall_ctxstat.c
new file mode 100644 (file)
index 0000000..8da5f4d
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_ctxstat.c 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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 "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_ctxstat-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+
+int
+vc_ctx_stat(xid_t ctx, struct vc_ctx_stat *stat)
+{
+  CALL_VC(CALL_VC_V21(vc_ctx_stat, ctx, stat));
+}
+
+#endif
index b4d14f9..84042d3 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_enternamespace-v13.hc,v 1.1 2004/02/20 17:58:43 ensc Exp $    --*- c -*--
+// $Id: syscall_enternamespace-v13.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,7 +23,9 @@
 #include "vserver.h"
 
 static inline ALWAYSINLINE int
-vc_enter_namespace_v13(xid_t xid)
+vc_enter_namespace_v13(xid_t xid, uint_least64_t mask)
 {
-  return vserver(VCMD_enter_namespace, CTX_USER2KERNEL(xid), 0);
+  if ((mask & (CLONE_NEWNS|CLONE_FS)) == 0)
+    return 0;
+  return vserver(VCMD_enter_space_v0, CTX_USER2KERNEL(xid), 0);
 }
diff --git a/lib/syscall_enternamespace-v21.hc b/lib/syscall_enternamespace-v21.hc
new file mode 100644 (file)
index 0000000..fdc5d27
--- /dev/null
@@ -0,0 +1,31 @@
+// $Id: syscall_enternamespace-v21.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// 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 "vserver.h"
+
+static inline ALWAYSINLINE int
+vc_enter_namespace_spaces(xid_t xid, uint_least64_t mask)
+{
+  struct vcmd_space_mask data = { .mask = mask };
+  return vserver(VCMD_enter_space, CTX_USER2KERNEL(xid), &data);
+}
index 90be57a..9f20c39 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_enternamespace.c,v 1.1 2004/02/20 17:58:43 ensc Exp $    --*- c++ -*--
+// $Id: syscall_enternamespace.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
+#if defined(VC_ENABLE_API_V13) && defined(VC_ENABLE_API_V21)
+#  define VC_MULTIVERSION_SYSCALL 1
+#endif
 #include "vserver-internal.h"
 
 #ifdef VC_ENABLE_API_V13
 #  include "syscall_enternamespace-v13.hc"
 #endif
 
+#ifdef VC_ENABLE_API_V21
+#  include "syscall_enternamespace-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V13) || defined(VC_ENABLE_API_V21)
 int
-vc_enter_namespace(xid_t xid)
+vc_enter_namespace(xid_t xid, uint_least64_t mask)
 {
-  CALL_VC(CALL_VC_V13(vc_enter_namespace, xid));
+  CALL_VC(CALL_VC_SPACES(vc_enter_namespace, xid, mask),
+         CALL_VC_V13   (vc_enter_namespace, xid, mask));
 }
+#endif
index 3d0f09b..004849a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getccaps-v13.hc,v 1.2 2004/03/24 01:07:11 ensc Exp $    --*- c -*--
+// $Id: syscall_getccaps-v13.hc 1323 2004-03-24 01:07:11Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a4d002f..3084c10 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getccaps.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: syscall_getccaps.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_getccaps-v13.hc"
index 5cfc579..83a62a2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getcflags-v13.hc,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_getcflags-v13.hc 1449 2004-04-14 23:19:51Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 22fc982..22b1dc3 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getcflags.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_getcflags.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_getcflags-v13.hc"
index c6b66fd..408daba 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getdlimit-v13.hc,v 1.2 2005/03/02 01:29:44 ensc Exp $    --*- c -*--
+// $Id: syscall_getdlimit-v13.hc 1881 2005-03-02 01:29:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a807e52..0393921 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getdlimit.c,v 1.2 2005/03/02 01:27:54 ensc Exp $    --*- c++ -*--
+// $Id: syscall_getdlimit.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #include "vserver-internal.h"
 
index a0c5bc5..12c6c9e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getiattr-fscompat.hc,v 1.2 2005/07/15 18:06:27 ensc Exp $    --*- c -*--
+// $Id: syscall_getiattr-fscompat.hc 2151 2005-07-15 18:06:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9e8b17b..da5b623 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getiattr-v13.hc,v 1.7 2004/03/12 02:56:46 ensc Exp $    --*- c -*--
+// $Id: syscall_getiattr-v13.hc 1216 2004-03-12 02:57:01Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 063174c..36651ac 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getiattr.c,v 1.3 2004/03/05 04:40:59 ensc Exp $    --*- c++ -*--
+// $Id: syscall_getiattr.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_FSCOMPAT) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
index 91c9448..40ea3b4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getncaps-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getncaps-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 998594e..85bafae 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getncaps.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getncaps.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_getncaps-net.hc"
index 0cc5fd4..362f0f4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getnflags-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getnflags-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 596b374..23376c7 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getnflags.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getnflags.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_getnflags-net.hc"
index 5069f73..449035b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getnxinfo-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getnxinfo-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a7c517f..c5c0630 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getnxinfo.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_getnxinfo.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 #include "vserver-internal.h"
 
 #ifdef VC_ENABLE_API_NET
diff --git a/lib/syscall_getspacemask-v21.hc b/lib/syscall_getspacemask-v21.hc
new file mode 100644 (file)
index 0000000..34c5e35
--- /dev/null
@@ -0,0 +1,32 @@
+// $Id: syscall_getspacemask-v21.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// 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
+
+static inline ALWAYSINLINE uint_least64_t
+vc_get_space_mask_spaces(int UNUSED tmp)
+{
+  struct vcmd_space_mask data = { .mask = 0 };
+  int ret = vserver(VCMD_get_space_mask, 0, &data);
+  if (ret)
+    return ret;
+  return data.mask;
+}
diff --git a/lib/syscall_getspacemask.c b/lib/syscall_getspacemask.c
new file mode 100644 (file)
index 0000000..1ea083b
--- /dev/null
@@ -0,0 +1,38 @@
+// $Id: syscall_getspacemask.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// 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 "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_getspacemask-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+uint_least64_t
+vc_get_space_mask()
+{
+  CALL_VC(CALL_VC_SPACES(vc_get_space_mask, 0));
+}
+#endif
index ab0c63c..453eae6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_gettasknid-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_gettasknid-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 145e3ff..5d4ce76 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_gettasknid.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_gettasknid.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 #include "vserver-internal.h"
 
 #ifdef VC_ENABLE_API_NET
index b7f8239..95fdd94 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_gettaskxid-oldproc.hc,v 1.2 2004/02/02 18:58:00 ensc Exp $    --*- c -*--
+// $Id: syscall_gettaskxid-oldproc.hc 738 2004-02-02 18:58:00Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 80b5885..8405617 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_gettaskxid-v13.hc,v 1.4 2004/01/22 21:35:36 ensc Exp $    --*- c -*--
+// $Id: syscall_gettaskxid-v13.hc 701 2004-01-22 21:35:36Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ac797cd..cb40109 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_gettaskxid.c,v 1.1 2004/01/21 18:47:18 ensc Exp $    --*- c -*--
+// $Id: syscall_gettaskxid.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_OLDPROC) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
diff --git a/lib/syscall_getvci-v21.hc b/lib/syscall_getvci-v21.hc
new file mode 100644 (file)
index 0000000..f28db57
--- /dev/null
@@ -0,0 +1,27 @@
+// $Id: syscall_getvci-v21.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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
+
+static inline ALWAYSINLINE int
+vc_get_vci_v21(int UNUSED tmp)
+{
+  return vserver(VCMD_get_vci, 0, 0);
+}
diff --git a/lib/syscall_getvci.c b/lib/syscall_getvci.c
new file mode 100644 (file)
index 0000000..4978603
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_getvci.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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 "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_getvci-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+
+int
+vc_get_vci()
+{
+  CALL_VC(CALL_VC_V21(vc_get_vci, 0));
+}
+
+#endif
index c7ea54c..55ab457 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvhiname-olduts.hc,v 1.1 2004/02/02 18:32:53 ensc Exp $    --*- c -*--
+// $Id: syscall_getvhiname-olduts.hc 733 2004-02-02 18:32:53Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e244dcd..22d3947 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvhiname-v13.hc,v 1.3 2005/07/03 17:49:56 ensc Exp $    --*- c -*--
+// $Id: syscall_getvhiname-v13.hc 2242 2006-01-04 12:29:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -44,5 +44,6 @@ vc_get_vhi_name_v13(xid_t xid, vc_uts_type type, char *val, size_t len)
 
   l = l>len ? len : l;
   strncpy(val, cmd.name, l);
+    /* DO NOT terminate 'val' with '\0' explicitly */
   return 0;
 }
index 32180d6..1ade5bc 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvhiname.c,v 1.1 2004/02/02 18:32:53 ensc Exp $    --*- c -*--
+// $Id: syscall_getvhiname.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_OLDUTS) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
index e8dc582..0fddfdc 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvxinfo-oldproc.hc,v 1.3 2004/03/05 04:40:59 ensc Exp $    --*- c -*--
+// $Id: syscall_getvxinfo-oldproc.hc 1091 2004-03-05 04:40:59Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 7f0e456..8792a40 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvxinfo-v13.hc,v 1.4 2004/02/20 17:04:12 ensc Exp $    --*- c -*--
+// $Id: syscall_getvxinfo-v13.hc 970 2004-02-20 17:04:12Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index fc1a0a9..b75917e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_getvxinfo.c,v 1.2 2004/03/05 04:40:59 ensc Exp $    --*- c -*--
+// $Id: syscall_getvxinfo.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_OLDPROC) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
index e3e2f6c..de7357a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_kill-v11.hc,v 1.4 2004/02/02 18:55:52 ensc Exp $    --*- c++ -*--
+// $Id: syscall_kill-v11.hc 736 2004-02-02 18:55:52Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c5358c5..c530a0e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_kill.c,v 1.3 2004/01/21 18:55:12 ensc Exp $    --*- c++ -*--
+// $Id: syscall_kill.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V11) || defined(VC_ENABLE_API_V13)
 #  include "syscall_kill-v11.hc"
index faa4908..2e336e7 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netadd-net.hc,v 1.2 2005/07/15 18:07:24 ensc Exp $    --*- c -*--
+// $Id: syscall_netadd-net.hc 2249 2006-01-18 23:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -24,9 +24,14 @@ static inline ALWAYSINLINE int
 vc_net_add_net(nid_t nid, struct vc_net_nx const *info)
 {
   struct vcmd_net_addr_v0              k_info;
+  size_t                               i;
 
-  k_info.type  = NETTYPE_USER2KERNEL(info->type);
-  k_info.count = info->count;
+  k_info.type      = NETTYPE_USER2KERNEL(info->type);
+  k_info.count     = info->count;
+  for (i = 0; i < sizeof(k_info.ip) / sizeof(*k_info.ip); i++)
+    k_info.ip[i]   = info->ip[i];
+  for (i = 0; i < sizeof(k_info.mask) / sizeof(*k_info.mask); i++)
+    k_info.mask[i] = info->mask[i];
   
   return vserver(VCMD_net_add, NID_USER2KERNEL(nid), &k_info);
 }
index 0d13c32..b5aa93a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netadd.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netadd.c 2249 2006-01-18 23:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_netadd-net.hc"
 #endif
 
-#if defined(VC_ENABLE_API_NET) && 0
+#if defined(VC_ENABLE_API_NET)
 int
 vc_net_add(nid_t nid, struct vc_net_nx const *info)
 {
index 32da866..684f4e1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netcreate-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netcreate-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index fc80de4..d96f372 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netcreate.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netcreate.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_netcreate-net.hc"
index 1fb4738..2bc95e1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netmigrate-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netmigrate-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 42b2e04..490b83d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netmigrate.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netmigrate.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_netmigrate-net.hc"
index 4018011..173ed46 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netremove-net.hc,v 1.2 2005/07/15 18:07:24 ensc Exp $    --*- c -*--
+// $Id: syscall_netremove-net.hc 2249 2006-01-18 23:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -24,9 +24,14 @@ static inline ALWAYSINLINE int
 vc_net_remove_net(nid_t nid, struct vc_net_nx const *info)
 {
   struct vcmd_net_addr_v0              k_info;
+  size_t                               i;
 
-  k_info.type  = NETTYPE_USER2KERNEL(info->type);
-  k_info.count = info->count;
+  k_info.type      = NETTYPE_USER2KERNEL(info->type);
+  k_info.count     = info->count;
+  for (i = 0; i < sizeof(k_info.ip) / sizeof(*k_info.ip); i++)
+    k_info.ip[i]   = info->ip[i];
+  for (i = 0; i < sizeof(k_info.mask) / sizeof(*k_info.mask); i++)
+    k_info.mask[i] = info->mask[i];
   
   return vserver(VCMD_net_remove, NID_USER2KERNEL(nid), &k_info);
 }
index 77af245..1f6bc33 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_netremove.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_netremove.c 2249 2006-01-18 23:40:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_netremove-net.hc"
 #endif
 
-#if defined(VC_ENABLE_API_NET) && 0
+#if defined(VC_ENABLE_API_NET)
 int
 vc_net_remove(nid_t nid, struct vc_net_nx const *info)
 {
index e3de814..9b9fd26 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_remdlimit-v13.hc,v 1.3 2005/03/02 01:29:44 ensc Exp $    --*- c -*--
+// $Id: syscall_remdlimit-v13.hc 1881 2005-03-02 01:29:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 16f5b00..1cd385b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_remdlimit.c,v 1.2 2005/03/02 01:27:54 ensc Exp $   --*- c++ -*--
+// $Id: syscall_remdlimit.c 2207 2005-10-29 10:31:42Z ensc $   --*- c++ -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #include "vserver-internal.h"
 
diff --git a/lib/syscall_resetminmax-v21.hc b/lib/syscall_resetminmax-v21.hc
new file mode 100644 (file)
index 0000000..4b425b2
--- /dev/null
@@ -0,0 +1,27 @@
+// $Id: syscall_resetminmax-v21.hc 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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
+
+static inline ALWAYSINLINE int
+vc_reset_minmax_v21(xid_t ctx)
+{
+  return vserver(VCMD_reset_minmax, CTX_USER2KERNEL(ctx), 0);
+}
diff --git a/lib/syscall_resetminmax.c b/lib/syscall_resetminmax.c
new file mode 100644 (file)
index 0000000..c012b02
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_resetminmax.c 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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 "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_resetminmax-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+
+int
+vc_reset_minmax(xid_t ctx)
+{
+  CALL_VC(CALL_VC_V21(vc_reset_minmax, ctx));
+}
+
+#endif
index c463df5..e74da6f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_rlimit-v11.hc,v 1.5 2004/02/20 19:03:24 ensc Exp $    --*- c++ -*--
+// $Id: syscall_rlimit-v11.hc 976 2004-02-20 19:03:24Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9a468fb..61b3070 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_rlimit.c,v 1.4 2004/01/21 18:55:12 ensc Exp $    --*- c++ -*--
+// $Id: syscall_rlimit.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,7 +23,7 @@
 
 #include "vserver.h"
 #include "internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 
 #include "vserver-internal.h"
diff --git a/lib/syscall_rlimitstat-v21.hc b/lib/syscall_rlimitstat-v21.hc
new file mode 100644 (file)
index 0000000..601e6a3
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_rlimitstat-v21.hc 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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
+
+static inline ALWAYSINLINE int
+vc_rlimit_stat_v21(xid_t ctx, int resource, struct vc_rlimit_stat *stat)
+{
+  struct vcmd_rlimit_stat_v0   param = { .id = resource };
+  int ret;
+
+  ret = vserver(VCMD_rlimit_stat, CTX_USER2KERNEL(ctx), &param);
+  if (ret)
+    return ret;
+
+  stat->hits   = param.hits;
+  stat->value  = param.value;
+  stat->minimum        = param.minimum;
+  stat->maximum        = param.maximum;
+
+  return 0;
+}
diff --git a/lib/syscall_rlimitstat.c b/lib/syscall_rlimitstat.c
new file mode 100644 (file)
index 0000000..d2896ec
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_rlimitstat.c 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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 "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_rlimitstat-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+
+int
+vc_rlimit_stat(xid_t ctx, int resource, struct vc_rlimit_stat *stat)
+{
+  CALL_VC(CALL_VC_V21(vc_rlimit_stat, ctx, resource, stat));
+}
+
+#endif
index a2b082a..59c2d5e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setccaps-v13.hc,v 1.2 2004/03/24 01:07:11 ensc Exp $    --*- c -*--
+// $Id: syscall_setccaps-v13.hc 2367 2006-11-03 19:59:15Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -25,9 +25,9 @@ vc_set_ccaps_v13(xid_t xid, struct vc_ctx_caps const *caps)
 {
   struct vcmd_ctx_caps_v0      k_caps;
 
-  k_caps.bcaps = caps->bcaps & caps->bmask;
+  k_caps.bcaps = (caps->bcaps & caps->bmask) | ~caps->bmask;
   k_caps.ccaps = caps->ccaps;
   k_caps.cmask = caps->cmask;
   
-  return vserver(VCMD_set_ccaps, CTX_USER2KERNEL(xid), &k_caps);
+  return vserver(VCMD_set_ccaps_v0, CTX_USER2KERNEL(xid), &k_caps);
 }
diff --git a/lib/syscall_setccaps-v21.hc b/lib/syscall_setccaps-v21.hc
new file mode 100644 (file)
index 0000000..1e67ae1
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_setccaps-v21.hc 2372 2006-11-05 17:48:24Z dhozac $    --*- c -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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
+
+static inline ALWAYSINLINE int
+vc_set_ccaps_v21(xid_t xid, struct vc_ctx_caps const *caps)
+{
+  struct vcmd_ctx_caps_v1      k_ccaps;
+  struct vcmd_bcaps            k_bcaps;
+  int ret;
+
+  k_bcaps.bcaps = caps->bcaps;
+  k_bcaps.bmask = caps->bmask;
+  k_ccaps.ccaps = caps->ccaps;
+  k_ccaps.cmask = caps->cmask;
+  
+  ret = vserver(VCMD_set_ccaps, CTX_USER2KERNEL(xid), &k_ccaps);
+  if (ret)
+    return ret;
+  return vserver(VCMD_set_bcaps, CTX_USER2KERNEL(xid), &k_bcaps);
+}
index 354c6fa..fe38374 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setccaps.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: syscall_setccaps.c 2367 2006-11-03 19:59:15Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V13) && defined(VC_ENABLE_API_V21)
+#  define VC_MULTIVERSION_SYSCALL 1
+#endif
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_setccaps-v13.hc"
 #endif
 
-#if defined(VC_ENABLE_API_V13)
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_setccaps-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V13) || defined(VC_ENABLE_API_V21)
 int
 vc_set_ccaps(xid_t xid, struct vc_ctx_caps const *caps)
 {
@@ -37,6 +45,7 @@ vc_set_ccaps(xid_t xid, struct vc_ctx_caps const *caps)
     return -1;
   }
   
-  CALL_VC(CALL_VC_V13A(vc_set_ccaps, xid, caps));
+  CALL_VC(CALL_VC_V21(vc_set_ccaps, xid, caps),
+         CALL_VC_V13A(vc_set_ccaps, xid, caps));
 }
 #endif
index 45385cf..55811c2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setcflags-v13.hc,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_setcflags-v13.hc 1449 2004-04-14 23:19:51Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 05b3b14..966bea3 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setcflags.c,v 1.1 2004/04/14 23:19:51 ensc Exp $    --*- c -*--
+// $Id: syscall_setcflags.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_setcflags-v13.hc"
index f4df0b7..1b1966d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setdlimit-v13.hc,v 1.2 2005/03/02 01:29:44 ensc Exp $    --*- c -*--
+// $Id: syscall_setdlimit-v13.hc 1881 2005-03-02 01:29:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a08bc7b..ec8b972 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setdlimit.c,v 1.2 2005/03/02 01:27:54 ensc Exp $    --*- c++ -*--
+// $Id: syscall_setdlimit.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #include "vserver-internal.h"
 
index 422ec80..cf155ce 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setiattr-fscompat.hc,v 1.3 2005/07/15 18:06:27 ensc Exp $    --*- c -*--
+// $Id: syscall_setiattr-fscompat.hc 2151 2005-07-15 18:06:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 06ec42a..b992bab 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setiattr-v13.hc,v 1.7 2004/03/12 02:56:46 ensc Exp $    --*- c -*--
+// $Id: syscall_setiattr-v13.hc 1216 2004-03-12 02:57:01Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6fb32dd..1ba2fda 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setiattr.c,v 1.2 2004/02/19 22:22:43 ensc Exp $    --*- c++ -*--
+// $Id: syscall_setiattr.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_FSCOMPAT) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
index 1646eac..8613fc0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setnamespace-v13.hc,v 1.1 2004/02/27 04:39:09 ensc Exp $    --*- c -*--
+// $Id: syscall_setnamespace-v13.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,7 +23,9 @@
 #include "vserver.h"
 
 static inline ALWAYSINLINE int
-vc_set_namespace_v13(int UNUSED tmp)
+vc_set_namespace_v13(xid_t xid, uint_least64_t mask)
 {
-  return vserver(VCMD_set_namespace, 0, 0);
+  if ((mask & (CLONE_NEWNS|CLONE_FS)) == 0)
+    return 0;
+  return vserver(VCMD_set_space_v0, CTX_USER2KERNEL(xid), 0);
 }
diff --git a/lib/syscall_setnamespace-v21.hc b/lib/syscall_setnamespace-v21.hc
new file mode 100644 (file)
index 0000000..7f3e81c
--- /dev/null
@@ -0,0 +1,31 @@
+// $Id: syscall_setnamespace-v21.hc 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// 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 "vserver.h"
+
+static inline ALWAYSINLINE int
+vc_set_namespace_spaces(xid_t xid, uint_least64_t mask)
+{
+  struct vcmd_space_mask data = { .mask = mask };
+  return vserver(VCMD_set_space, CTX_USER2KERNEL(xid), &data);
+}
index fef66d0..b3d0d65 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setnamespace.c,v 1.1 2004/02/27 04:39:09 ensc Exp $    --*- c++ -*--
+// $Id: syscall_setnamespace.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
+#if defined(VC_ENABLE_API_V13) && defined(VC_ENABLE_API_V21)
+#  define VC_MULTIVERSION_SYSCALL 1
+#endif
 #include "vserver-internal.h"
 
 #ifdef VC_ENABLE_API_V13
 #  include "syscall_setnamespace-v13.hc"
 #endif
 
+#ifdef VC_ENABLE_API_V21
+#  include "syscall_setnamespace-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V13) || defined(VC_ENABLE_API_V21)
 int
-vc_set_namespace()
+vc_set_namespace(xid_t xid, uint_least64_t mask)
 {
-  CALL_VC(CALL_VC_V13(vc_set_namespace,0));
+  CALL_VC(CALL_VC_SPACES(vc_set_namespace, xid, mask),
+         CALL_VC_V13   (vc_set_namespace, xid, mask));
 }
+#endif
index 12a4af8..812e244 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setncaps-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_setncaps-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c3ac419..a1bf0a6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setncaps.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_setncaps.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_setncaps-net.hc"
index e327c5e..1e63989 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setnflags-net.hc,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_setnflags-net.hc 1501 2004-04-22 20:46:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index cdceb51..0dbcb7e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setnflags.c,v 1.1 2004/04/22 20:46:43 ensc Exp $    --*- c -*--
+// $Id: syscall_setnflags.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_NET)
 #  include "syscall_setnflags-net.hc"
diff --git a/lib/syscall_setsched-v13obs.hc b/lib/syscall_setsched-v13obs.hc
new file mode 100644 (file)
index 0000000..98baac0
--- /dev/null
@@ -0,0 +1,43 @@
+// $Id: syscall_setsched-v13obs.hc 2271 2006-01-22 18:18:28Z ensc $    --*- c -*--
+
+// Copyright (C) 2004 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.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "vserver.h"
+#include <lib_internal/util.h>
+
+#define VCGET(MASK,VAL)                ((data->set_mask & (MASK)) ? (VAL) : SCHED_KEEP);
+
+static inline ALWAYSINLINE int
+vc_set_sched_v13obs(xid_t xid, struct vc_set_sched const *data)
+{
+#warning vc_set_sched_v13() uses an obsolete interface; remove it in the final version
+  struct vcmd_set_sched_v2     k_data;
+
+  
+  k_data.cpu_mask    = 0;
+  k_data.fill_rate   = VCGET(VC_VXSM_FILL_RATE,  data->fill_rate);
+  k_data.interval    = VCGET(VC_VXSM_INTERVAL,   data->interval);
+  k_data.tokens      = VCGET(VC_VXSM_TOKENS,     data->tokens);
+  k_data.tokens_min  = VCGET(VC_VXSM_TOKENS_MIN, data->tokens_min);
+  k_data.tokens_max  = VCGET(VC_VXSM_TOKENS_MAX, data->tokens_max);
+
+  return vserver(VCMD_set_sched_v2, CTX_USER2KERNEL(xid), &k_data);
+}
diff --git a/lib/syscall_setsched-v21.hc b/lib/syscall_setsched-v21.hc
new file mode 100644 (file)
index 0000000..0280f15
--- /dev/null
@@ -0,0 +1,57 @@
+// $Id: syscall_setsched-v21.hc 2372 2006-11-05 17:48:24Z dhozac $    --*- c -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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 "vserver.h"
+
+static inline ALWAYSINLINE int
+vc_set_sched_v21(xid_t xid, struct vc_set_sched const *data)
+{
+  struct vcmd_set_sched_v4     k_data;
+  int ret;
+
+  k_data.fill_rate  = data->fill_rate;
+  k_data.interval   = data->interval;
+  k_data.tokens     = data->tokens;
+  k_data.tokens_min = data->tokens_min;
+  k_data.tokens_max = data->tokens_max;
+  k_data.prio_bias  = data->priority_bias;
+  k_data.cpu_id            = data->cpu_id;
+  k_data.bucket_id  = data->bucket_id;
+
+  if ((data->set_mask & VC_VXSM_FILL_RATE2 && data->fill_rate != data->fill_rate2) ||
+      (data->set_mask & VC_VXSM_INTERVAL2 && data->interval != data->interval2)) {
+    /* first set the regular values */
+    k_data.set_mask = data->set_mask & ~(VC_VXSM_FILL_RATE2|VC_VXSM_INTERVAL2|VC_VXSM_FORCE);
+    ret = vserver(VCMD_set_sched, CTX_USER2KERNEL(xid), &k_data);
+    if (ret)
+      return ret;
+    /* then set idle time */
+    k_data.set_mask  = data->set_mask & (VC_VXSM_FILL_RATE2|VC_VXSM_INTERVAL2|VC_VXSM_FORCE|VC_VXSM_IDLE_TIME|VC_VXSM_CPU_ID|VC_VXSM_BUCKET_ID);
+    k_data.fill_rate = data->fill_rate2;
+    k_data.interval  = data->interval2;
+    return vserver(VCMD_set_sched, CTX_USER2KERNEL(xid), &k_data);
+  }
+  else {
+    k_data.set_mask = data->set_mask;
+    return vserver(VCMD_set_sched, CTX_USER2KERNEL(xid), &k_data);
+  }
+}
index 6b67011..31d2970 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setvhiname-olduts.hc,v 1.1 2004/02/02 18:32:53 ensc Exp $    --*- c -*--
+// $Id: syscall_setvhiname-olduts.hc 733 2004-02-02 18:32:53Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b493e54..3e6f6f1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setvhiname-v13.hc,v 1.4 2005/07/03 17:49:57 ensc Exp $    --*- c -*--
+// $Id: syscall_setvhiname-v13.hc 2133 2005-07-03 17:49:57Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a5ab1f7..eaeb84c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_setvhiname.c,v 1.1 2004/02/02 18:32:53 ensc Exp $    --*- c -*--
+// $Id: syscall_setvhiname.c 2207 2005-10-29 10:31:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -21,7 +21,7 @@
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_OLDUTS) && defined(VC_ENABLE_API_V13)
 #  define VC_MULTIVERSION_SYSCALL      1
diff --git a/lib/syscall_virtstat-v21.hc b/lib/syscall_virtstat-v21.hc
new file mode 100644 (file)
index 0000000..a4d0362
--- /dev/null
@@ -0,0 +1,45 @@
+// $Id: syscall_virtstat-v21.hc 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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
+
+static inline ALWAYSINLINE int
+vc_virt_stat_v21(xid_t ctx, struct vc_virt_stat *stat)
+{
+  int ret;
+  struct vcmd_virt_stat_v0 param;
+
+  ret = vserver(VCMD_virt_stat, CTX_USER2KERNEL(ctx), &param);
+  if (ret)
+    return ret;
+
+#define G(ATTR)        stat->ATTR = param.ATTR
+  G(offset);
+  G(uptime);
+  G(nr_threads);
+  G(nr_running);
+  G(nr_uninterruptible);
+  G(nr_onhold);
+  G(nr_forks);
+  G(load[0]);
+  G(load[1]);
+  G(load[2]);
+  return 0;
+}
diff --git a/lib/syscall_virtstat.c b/lib/syscall_virtstat.c
new file mode 100644 (file)
index 0000000..727b508
--- /dev/null
@@ -0,0 +1,39 @@
+// $Id: syscall_virtstat.c 2380 2006-11-15 20:14:00Z dhozac $    --*- c++ -*--
+
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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 "vserver.h"
+#include "vserver-internal.h"
+#include "virtual.h"
+
+#if defined(VC_ENABLE_API_V21)
+#  include "syscall_virtstat-v21.hc"
+#endif
+
+#if defined(VC_ENABLE_API_V21)
+
+int
+vc_virt_stat(xid_t ctx, struct vc_virt_stat *stat)
+{
+  CALL_VC(CALL_VC_V21(vc_virt_stat, ctx, stat));
+}
+
+#endif
index f772c6b..6da85ba 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_waitexit-v13.hc,v 1.1 2005/05/05 09:17:25 ensc Exp $    --*- c++ -*--
+// $Id: syscall_waitexit-v13.hc 2317 2006-09-15 21:18:21Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -23,7 +23,7 @@
 static inline ALWAYSINLINE int
 vc_wait_exit_v13b(xid_t ctx)
 {
-  struct vcmd_wait_exit_v0     param = { .a = 0, .b = 0 };
+  struct vcmd_wait_exit_v0     param = { .reboot_cmd = 0, .exit_code = 0 };
 
   return vserver(VCMD_wait_exit, CTX_USER2KERNEL(ctx), &param);
 }
index e23df1b..cf666a0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: syscall_waitexit.c,v 1.1 2005/05/05 09:17:25 ensc Exp $    --*- c++ -*--
+// $Id: syscall_waitexit.c 2207 2005-10-29 10:31:42Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,7 @@
 
 #include "vserver.h"
 #include "vserver-internal.h"
-#include "linuxvirtual.h"
+#include "virtual.h"
 
 #if defined(VC_ENABLE_API_V13)
 #  include "syscall_waitexit-v13.hc"
index ee8b213..5eee70f 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.9 2005/04/28 17:54:57 ensc Exp $            --*- makefile -*--
+## $Id: Makefile-files 2060 2005-04-28 17:54:57Z ensc $                --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 9e5dcc0..d2370ed 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: cflags.c,v 1.6 2005/03/02 01:24:25 ensc Exp $    --*- c -*--
+// $Id: cflags.c 1879 2005-03-02 01:24:25Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <ensc@delenn.intern.sigma-chemnitz.de>
 //  
index bb800bd..d749508 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fmt.c,v 1.4 2004/04/28 18:07:41 ensc Exp $    --*- c -*--
+// $Id: fmt.c 2185 2005-10-25 16:23:45Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #define TEST(VAL, EXP) {                       \
     char       buf[512];                       \
     size_t     l;                              \
-    memset(buf, '\23', sizeof buf);            \
+    memset(buf+1, '\23', sizeof(buf)-2);       \
+    buf[0] = buf[sizeof(EXP)] = '\42';         \
     l = FUNC(buf+1, VAL);                      \
     assert(l==sizeof(EXP)-1);                  \
     assert(memcmp(buf+1, EXP, l)==0);          \
-    assert(buf[l+1]=='\23');                   \
+    assert(buf[0]  =='\42');                   \
+    assert(buf[l+1]=='\42');                   \
+    assert(buf[l+2]=='\23');                   \
   }
 
 int main()
index 399f84d..e25e80e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: parselimit.c,v 1.2 2004/04/28 18:07:41 ensc Exp $    --*- c -*--
+// $Id: parselimit.c 1521 2004-04-28 18:07:41Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index aa84772..ff33518 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: personality.c,v 1.1 2005/04/28 17:54:57 ensc Exp $    --*- c -*--
+// $Id: personality.c 2060 2005-04-28 17:54:57Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 79bf768..d8faff0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: utils-legacy.h,v 1.1 2003/10/16 14:02:54 ensc Exp $    --*- c++ -*--
+// $Id: utils-legacy.h 177 2003-10-16 14:02:54Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e83a702..d89d584 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: val2text-t2v-uint32.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: val2text-t2v-uint32.c 1132 2004-03-07 19:35:59Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 47d9e1b..9362126 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: val2text-t2v-uint64.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: val2text-t2v-uint64.c 1132 2004-03-07 19:35:59Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b9ec84f..e04ee52 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: val2text-v2t-uint32.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: val2text-v2t-uint32.c 1132 2004-03-07 19:35:59Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 42c7bba..f4ab530 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: val2text-v2t-uint64.c,v 1.1 2004/03/07 19:35:59 ensc Exp $    --*- c -*--
+// $Id: val2text-v2t-uint64.c 1132 2004-03-07 19:35:59Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 0b4c299..d723d6b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: val2text.hc,v 1.3 2004/05/08 01:27:48 ensc Exp $    --*- c -*--
+// $Id: val2text.hc 1544 2004-05-08 01:27:48Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5724ba9..f87bc1c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: xidopt2xid.c,v 1.2 2004/08/19 13:58:40 ensc Exp $    --*- c -*--
+// $Id: xidopt2xid.c 1656 2004-08-19 13:58:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e6bb64b..ee43f19 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.18 2005/07/04 22:35:47 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 2255 2006-01-22 11:23:47Z ensc $  -*- makefile -*-
 
 ## Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -96,7 +96,9 @@ lib_internal_libinternal_common_SRCS = \
                                lib_internal/unify-isiunlinkable.c \
                                lib_internal/util-canonify.c \
                                lib_internal/util-exitlikeprocess.c \
+                               lib_internal/util-isnumber.hc \
                                lib_internal/util-isnumber.c \
+                               lib_internal/util-isnumberunsigned.c \
                                lib_internal/util-lockfile.c \
                                lib_internal/util-safechdir.c \
                                $(command_SRCS) \
index 9ee1ec8..15c3de2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-appendparameter.c,v 1.2 2004/08/19 14:09:02 ensc Exp $    --*- c -*--
+// $Id: command-appendparameter.c 1665 2004-08-19 14:09:34Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9669f67..727faaf 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-exec.c,v 1.3 2005/03/22 15:25:54 ensc Exp $    --*- c -*--
+// $Id: command-exec.c 1957 2005-03-22 15:25:54Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 70f16d0..88459c9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-free.c,v 1.2 2004/08/19 14:09:22 ensc Exp $    --*- c -*--
+// $Id: command-free.c 1665 2004-08-19 14:09:34Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 8b2265d..4ef8644 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-init.c,v 1.2 2004/08/19 14:09:34 ensc Exp $    --*- c -*--
+// $Id: command-init.c 1665 2004-08-19 14:09:34Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ec6f8ad..72c8bfe 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-reset.c,v 1.1 2004/06/27 14:38:06 ensc Exp $    --*- c -*--
+// $Id: command-reset.c 1605 2004-06-27 14:40:17Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 732c975..79de5ac 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-setparams.c,v 1.1 2004/08/19 14:08:17 ensc Exp $    --*- c -*--
+// $Id: command-setparams.c 1664 2004-08-19 14:08:17Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 44cf611..5158203 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command-wait.c,v 1.2 2004/07/02 23:44:33 ensc Exp $    --*- c -*--
+// $Id: command-wait.c 1618 2004-07-02 23:44:33Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ea0c9ed..124802d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command.h,v 1.2 2004/08/19 14:09:49 ensc Exp $    --*- c -*--
+// $Id: command.h 1666 2004-08-19 14:09:49Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index d52ac9b..0b079ff 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: coreassert.h,v 1.2 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: coreassert.h 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 37d6bca..1a8c16a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: errinfo-writeerrno.c,v 1.1 2004/07/02 23:34:51 ensc Exp $    --*- c -*--
+// $Id: errinfo-writeerrno.c 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 651bbba..4ed87b6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: errinfo.h,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: errinfo.h 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 84cc8a8..d454b0e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filecfg-iteratemultiline.c,v 1.2 2004/12/07 11:13:29 ensc Exp $    --*- c -*--
+// $Id: filecfg-iteratemultiline.c 1763 2004-12-07 11:13:29Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e73edd5..ea131dc 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filecfg-readentryflag.c,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: filecfg-readentryflag.c 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f79b876..ee1909b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filecfg-readentrystr.c,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: filecfg-readentrystr.c 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ee86a6f..db09ca2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filecfg.h,v 1.2 2004/10/19 21:05:15 ensc Exp $    --*- c -*--
+// $Id: filecfg.h 1736 2004-10-19 21:05:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5c6f582..a08dacb 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: jail.h,v 1.2 2004/03/15 21:37:06 ensc Exp $    --*- c -*--
+// $Id: jail.h 1250 2004-03-15 21:37:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ef21118..fdb2b4e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: jailintotempdir.c,v 1.2 2004/03/15 21:37:06 ensc Exp $    --*- c -*--
+// $Id: jailintotempdir.c 1250 2004-03-15 21:37:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9e36a11..d0e20ee 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-appendfiles.c,v 1.2 2004/04/06 08:42:46 ensc Exp $    --*- c -*--
+// $Id: matchlist-appendfiles.c 1423 2004-04-06 08:43:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 516af60..d15e82a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-compare.c,v 1.2 2004/04/06 08:43:02 ensc Exp $    --*- c -*--
+// $Id: matchlist-compare.c 1423 2004-04-06 08:43:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5187f8d..57ca5f4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-destroy.c,v 1.2 2005/03/18 00:18:38 ensc Exp $    --*- c -*--
+// $Id: matchlist-destroy.c 1911 2005-03-18 00:18:38Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 44f96e3..e9b0116 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-init.c,v 1.1 2004/02/17 02:33:20 ensc Exp $    --*- c -*--
+// $Id: matchlist-init.c 910 2004-02-17 02:33:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index dc08d9c..d050714 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-initbyvserver.c,v 1.3 2005/03/18 00:20:02 ensc Exp $    --*- c -*--
+// $Id: matchlist-initbyvserver.c 1912 2005-03-18 00:20:02Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 199a96e..71ec191 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-initmanually.c,v 1.5 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: matchlist-initmanually.c 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 90058c6..4310292 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-initrefserverlist.c,v 1.4 2005/03/23 02:05:23 ensc Exp $    --*- c -*--
+// $Id: matchlist-initrefserverlist.c 1962 2005-03-23 02:05:23Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 179b88e..42fe28b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist-printid.c,v 1.2 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: matchlist-printid.c 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 66cca26..ea01702 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchlist.h,v 1.5 2005/03/18 00:20:02 ensc Exp $    --*- c -*--
+// $Id: matchlist.h 1912 2005-03-18 00:20:02Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 1c05133..ddc7962 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchvserverinfo-free.c,v 1.1 2005/03/18 00:17:53 ensc Exp $    --*- c -*--
+// $Id: matchvserverinfo-free.c 1909 2005-03-18 00:17:53Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index d874274..81b72b2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: matchvserverinfo-init.c,v 1.2 2005/03/24 00:09:58 ensc Exp $    --*- c -*--
+// $Id: matchvserverinfo-init.c 1970 2005-03-24 00:09:58Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 24cee47..bef46e2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: pathinfo-append.c,v 1.1 2004/02/17 02:33:20 ensc Exp $    --*- c -*--
+// $Id: pathinfo-append.c 910 2004-02-17 02:33:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 217f00f..37db555 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: pathinfo-test.c,v 1.1 2004/02/17 02:33:20 ensc Exp $    --*- c -*--
+// $Id: pathinfo-test.c 910 2004-02-17 02:33:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e9ba207..a867935 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: pathinfo.h,v 1.2 2004/07/02 23:44:53 ensc Exp $    --*- c -*--
+// $Id: pathinfo.h 1619 2004-07-02 23:44:53Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e4ece42..bb54c0b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: string.h,v 1.3 2005/03/18 00:20:30 ensc Exp $    --*- c -*--
+// $Id: string.h 1914 2005-03-18 00:20:30Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4ae6e7b..aa85fb0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: string.hc,v 1.3 2005/03/18 00:20:42 ensc Exp $    --*- c -*--
+// $Id: string.hc 1915 2005-03-18 00:20:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b49305b..4f543f2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: switchtowatchxid.c,v 1.4 2005/03/25 02:37:41 ensc Exp $    --*- c -*--
+// $Id: switchtowatchxid.c 1988 2005-03-25 02:37:41Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e31b8da..20ebb04 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: sys_clone.h,v 1.3 2005/04/28 18:01:37 ensc Exp $    --*- c -*--
+// $Id: sys_clone.h 2421 2006-12-09 16:12:18Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #ifndef H_UTIL_VSERVER_SRC_SYS_CLONE_H
 #define H_UTIL_VSERVER_SRC_SYS_CLONE_H
 
+#include <unistd.h>
 #include "lib/syscall-wrap.h"
-#define __NR_sys_clone         __NR_clone
+#define __NR__sys_clone                __NR_clone
 
-#ifndef CLONE_NEWNS
-#  define CLONE_NEWNS 0x00020000
-#endif
+#ifndef ENSC_SYSCALL_TRADITIONAL
+#  include <errno.h>
 
-#ifdef ENSC_SYSCALL_TRADITIONAL
-#include <unistd.h>
+#  if defined(__s390__)
+inline static UNUSED ALWAYSINLINE
+_syscall2(int, _sys_clone, void *, child_stack, int, flags)
+#  else
+inline static UNUSED ALWAYSINLINE
+_syscall2(int, _sys_clone, int, flags, void *, child_stack)
+#  endif
+#endif
 
 inline static UNUSED ALWAYSINLINE
-int sys_clone(int flags, void *stack)
+int sys_clone(int flags, void *child_stack)
 {
-#if defined __dietlibc__
+  int ret;
+#ifdef __sparc__
+  int parent = getpid();
+#endif
+#if defined(__dietlibc__) && defined(ENSC_SYSCALL_TRADITIONAL)
   extern long int syscall (long int __sysno, ...);
 #endif
-  return syscall(__NR_sys_clone, flags, stack);
-}
-#else
-#include <errno.h>
 
-inline static UNUSED ALWAYSINLINE
-_syscall2(int, sys_clone, int, flags, void *, child_stack)
+#if   defined(__s390__) && defined(ENSC_SYSCALL_TRADITIONAL)
+  ret = syscall(__NR__sys_clone, child_stack, flags);
+#elif defined(__s390__)
+  ret = _sys_clone(child_stack, flags);
+#elif defined(ENSC_SYSCALL_TRADITIONAL)
+  ret = syscall(__NR__sys_clone, flags, child_stack);
+#else
+  ret = _sys_clone(flags, child_stack);
+#endif
+#ifdef __sparc__
+  if (ret == parent)
+    ret = 0;
 #endif
+  return ret;
+}
 
-#undef __NR_sys_clone
+#undef __NR__sys_clone
 
 #define ENSC_HAVE_SYSCLONE             1
   
index 8dd2ed2..33dcd74 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: sys_personality.h,v 1.1 2005/04/28 18:01:16 ensc Exp $    --*- c -*--
+// $Id: sys_personality.h 2062 2005-04-28 18:01:16Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f9d0291..26296e2 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.6 2005/03/24 00:09:18 ensc Exp $    --*- makefile -*--
+## $Id: Makefile-files 2276 2006-01-22 18:24:22Z ensc $        --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -20,12 +20,21 @@ check_PROGRAMS +=           lib_internal/testsuite/command
 if ENSC_HAVE_C99_COMPILER
 check_PROGRAMS +=              lib_internal/testsuite/filecfg-ml \
                                lib_internal/testsuite/copy \
-                               lib_internal/testsuite/sigbus
+                               lib_internal/testsuite/isnumber \
+                               lib_internal/testsuite/isnumber-gnu \
+                               lib_internal/testsuite/sigbus \
+                               lib_internal/testsuite/sigbus-gnu
 TESTS +=                       lib_internal/testsuite/filecfg-ml \
                                lib_internal/testsuite/copy-check \
-                               lib_internal/testsuite/sigbus
+                               lib_internal/testsuite/isnumber \
+                               lib_internal/testsuite/isnumber-gnu \
+                               lib_internal/testsuite/sigbus \
+                               lib_internal/testsuite/sigbus-gnu
 endif
 
+DIETPROGS +=                   lib_internal/testsuite/isnumber \
+                               lib_internal/testsuite/sigbus
+
 EXTRA_DIST +=                  lib_internal/testsuite/copy-check
 
 TESTS_ENVIRONMENT +=           libinternaltestsuitedir=$(top_builddir)/lib_internal/testsuite
@@ -41,4 +50,11 @@ lib_internal_testsuite_filecfg_ml_LDADD =    $(LIBINTERNAL_GLIBC)
 lib_internal_testsuite_copy_SOURCES =          lib_internal/testsuite/copy.c
 lib_internal_testsuite_copy_LDADD =            $(LIBINTERNAL_GLIBC)
 
+lib_internal_testsuite_isnumber_SOURCES =      lib_internal/testsuite/isnumber.c
+lib_internal_testsuite_isnumber_LDADD =                $(LIBINTERNAL)
+
+lib_internal_testsuite_isnumber_gnu_SOURCES =  lib_internal/testsuite/isnumber.c
+lib_internal_testsuite_isnumber_gnu_LDADD =    $(LIBINTERNAL_GLIBC)
+
 lib_internal_testsuite_sigbus_SOURCES =                lib_internal/testsuite/sigbus.c
+lib_internal_testsuite_sigbus_gnu_SOURCES =    lib_internal/testsuite/sigbus.c
index e15a6c2..7db946e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: command.c,v 1.2 2004/08/19 14:10:06 ensc Exp $    --*- c -*--
+// $Id: command.c 1667 2004-08-19 14:10:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 229a2e8..7d316eb 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-## $Id: copy-check,v 1.4 2005/03/25 02:38:13 ensc Exp $
+## $Id: copy-check 1989 2005-03-25 02:38:13Z ensc $
 
 # Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 36e3db5..96e5064 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: copy.c,v 1.1 2005/03/18 03:33:34 ensc Exp $    --*- c -*--
+// $Id: copy.c 1924 2005-03-18 03:33:34Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 968dd22..3fd6e34 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filecfg-ml.c,v 1.2 2005/01/26 15:32:35 ensc Exp $    --*- c -*--
+// $Id: filecfg-ml.c 1796 2005-01-26 15:32:35Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/lib_internal/testsuite/isnumber.c b/lib_internal/testsuite/isnumber.c
new file mode 100644 (file)
index 0000000..05026e9
--- /dev/null
@@ -0,0 +1,80 @@
+// $Id: isnumber.c 2254 2006-01-22 11:19:47Z ensc $    --*- 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.
+
+#define ENSC_TESTSUITE
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "lib_internal/util.h"
+#include "lib_internal/coreassert.h"
+
+#define TEST_TMPL(FUNC, TYPE, STR, VAL, STRICT)                        \
+  do {                                                         \
+    TYPE       exp = (TYPE)(VAL)!=(TYPE)BAD ? (VAL) : 0;       \
+    bool       val = (TYPE)(VAL)==(TYPE)BAD ? false : true;    \
+    TYPE       tmp;                                            \
+    bool       rc = FUNC((STR), &tmp, (STRICT));               \
+    char const * const UNUSED STR_FUNC    = #FUNC;             \
+    char const * const UNUSED STR_VAL     = #VAL;              \
+    char const * const UNUSED STR_STRICT  = #STRICT;           \
+    assert(rc == val);                                         \
+    rc = FUNC((STR), 0, (STRICT));                             \
+    assert(val == rc);                                         \
+    if (val) assert(tmp == exp);                               \
+  } while (0)
+
+#define TESTS(STR, VAL, STRICT)                        \
+  TEST_TMPL(isNumber, signed long, STR, VAL, STRICT)
+
+#define TESTU(STR, VAL, STRICT)                                        \
+  TEST_TMPL(isNumberUnsigned, unsigned long, STR, VAL, STRICT)
+
+#define TEST(STR, VALS0, VALS1, VALU0, VALU1)  \
+  TESTS(STR, VALS0, true);                     \
+  TESTS(STR, VALS1, false);                    \
+  TESTU(STR, VALU0, true);                     \
+  TESTU(STR, VALU1, false);
+
+
+#define BAD    0xdeadbeaf
+
+int main()
+{
+  TEST( "0",        0,        0,    0,       0);
+  TEST( "1",        1,        1,    1,       1);
+  TEST("-1",       -1,       -1,  BAD,     BAD);
+  TEST( "1k",     BAD,     1000,  BAD,    1000);
+//TEST("-1k",     BAD,    -1000,  BAD,     BAD);
+  TEST( "1K",     BAD,     1024,  BAD,    1024);
+//TEST("-1K",     BAD,    -1024,  BAD,     BAD);
+  TEST( "1m",     BAD,  1000000,  BAD, 1000000);
+//TEST("-1m",     BAD, -1000000,  BAD,     BAD);
+  TEST( "1M",     BAD,  1048576,  BAD, 1048576);
+//TEST("-1M",     BAD, -1048576,  BAD,     BAD);
+  
+  TEST( "010",      8,        8,    8,       8);
+  TEST( "010k",   BAD,     8000,  BAD,    8000);
+  TEST("-010",     -8,       -8,  BAD,     BAD);
+//TEST("-010k",   BAD,     8000,  BAD,     BAD);
+
+  TEST( "0x10",    16,       16,   16,      16);
+  TEST( "0x10k",  BAD,    16000,  BAD,   16000);
+  TEST("-0x10",   -16,      -16,  BAD,     BAD);
+//TEST("-0x10k",  BAD,   -16000,  BAD,     BAD);
+}
index fea5ddc..dce0f1d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: sigbus.c,v 1.3 2005/03/24 12:42:56 ensc Exp $    --*- c -*--
+// $Id: sigbus.c 1979 2005-03-24 12:42:56Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a789915..1eae081 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify-copy.c,v 1.6 2005/03/24 12:42:16 ensc Exp $    --*- c -*--
+// $Id: unify-copy.c 1977 2005-03-24 12:42:16Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 3d03249..96b76a6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify-deunify.c,v 1.2 2004/02/18 04:48:24 ensc Exp $    --*- c -*--
+// $Id: unify-deunify.c 942 2004-02-18 04:48:24Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f66fc59..b221e61 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify-isiunlinkable.c,v 1.2 2005/03/18 00:22:06 ensc Exp $    --*- c -*--
+// $Id: unify-isiunlinkable.c 1917 2005-03-18 00:22:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 21ccc10..de5d87f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify-settime.c,v 1.2 2004/06/27 13:03:58 ensc Exp $    --*- c -*--
+// $Id: unify-settime.c 1595 2004-06-27 13:03:58Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e17b2fb..55e84f0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify-unify.c,v 1.9 2005/03/24 00:12:23 ensc Exp $    --*- c -*--
+// $Id: unify-unify.c 1973 2005-03-24 00:12:23Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 77ac6bd..ab22941 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: unify.h,v 1.5 2005/03/18 03:55:03 ensc Exp $    --*- c -*--
+// $Id: unify.h 1926 2005-03-18 03:56:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 48c9a7c..49fdaf7 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-canonify.c,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: util-canonify.c 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5d0ad97..ca8793e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-cast.h,v 1.1 2004/02/26 13:03:00 ensc Exp $    --*- c -*--
+// $Id: util-cast.h 1009 2004-02-26 13:07:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index acdcd56..f82da67 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-commonstrings.h,v 1.1 2004/02/26 13:03:00 ensc Exp $    --*- c -*--
+// $Id: util-commonstrings.h 1009 2004-02-26 13:07:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b7fc843..9d145b0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-debug.h,v 1.1 2004/04/14 23:22:13 ensc Exp $    --*- c -*--
+// $Id: util-debug.h 1452 2004-04-14 23:22:13Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f9d9af1..949ea7b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-declarecmd.h,v 1.1 2004/02/26 13:03:00 ensc Exp $    --*- c -*--
+// $Id: util-declarecmd.h 1009 2004-02-26 13:07:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 93f353f..cb01d83 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-dimof.h,v 1.1 2004/02/26 13:03:00 ensc Exp $    --*- c -*--
+// $Id: util-dimof.h 1009 2004-02-26 13:07:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 806a2a8..0344a98 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-dotfile.h,v 1.2 2004/03/18 06:06:07 ensc Exp $    --*- c -*--
+// $Id: util-dotfile.h 1307 2004-03-18 06:06:07Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c0c6944..120e638 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-exitlikeprocess.c,v 1.4 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: util-exitlikeprocess.c 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c4d93d0..da9a694 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-exitlikeprocess.h,v 1.3 2004/05/11 18:25:14 ensc Exp $    --*- c -*--
+// $Id: util-exitlikeprocess.h 1557 2004-05-11 18:25:14Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e1df657..061ba3d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-io.h,v 1.2 2005/03/22 14:59:46 ensc Exp $    --*- c -*--
+// $Id: util-io.h 1954 2005-03-22 14:59:46Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2fea0e4..66e01fe 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-isnumber.c,v 1.1 2005/07/04 22:35:47 ensc Exp $    --*- c -*--
+// $Id: util-isnumber.c 2255 2006-01-22 11:23:47Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "util.h"
+#include "util-isnumber.hc"
+#include <limits.h>
 
-bool
-isNumber(char const *str, signed long *result)
+static inline bool
+checkConstraints(signed long val, unsigned int fac)
 {
-  char *       errptr;
-  signed long  val;
-
-  val = strtol(str, &errptr, 0);
-  if (*errptr!='\0' || errptr==str)
-    return false;
-  else {
-    if (result) *result = val;
-    return true;
-  }
+  if (val>0 && (signed long)(LONG_MAX/fac) <= val) return false;
+  if (val<0 && (signed long)(LONG_MIN/fac) >= val) return false;
+  return true;
 }
+
+ENSC_DECL_UTIL_ISNUMBER(isNumber, signed long, strtol)
diff --git a/lib_internal/util-isnumber.hc b/lib_internal/util-isnumber.hc
new file mode 100644 (file)
index 0000000..102e02d
--- /dev/null
@@ -0,0 +1,52 @@
+// $Id: util-isnumber.hc 2255 2006-01-22 11:23:47Z ensc $    --*- 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.
+
+#include <stdbool.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#define ENSC_DECL_UTIL_ISNUMBER(NAME,TYPE,FUNC)                        \
+  bool                                                         \
+  NAME(char const *str, TYPE *result, bool is_strict)          \
+  {                                                            \
+    char *             errptr;                                 \
+    TYPE               val;                                    \
+    unsigned int       fac = 1;                                \
+                                                               \
+    errno = 0;                                                 \
+    val   = FUNC(str, &errptr, 0);                             \
+    if (errno==ERANGE)                                         \
+      return false;                                            \
+    if (errptr!=str && !is_strict) {                           \
+      switch (*errptr) {                                       \
+       case 'M'        :  fac *= 1024; /* fallthrough */       \
+       case 'K'        :  fac *= 1024; ++errptr; break;        \
+       case 'm'        :  fac *= 1000; /* fallthrough */       \
+       case 'k'        :  fac *= 1000; ++errptr; break;        \
+       default :  break;                                       \
+      }                                                                \
+    }                                                          \
+    if (!checkConstraints(val,fac))                            \
+      return false;                                            \
+                                                               \
+    if (*errptr!='\0' || errptr==str)                          \
+      return false;                                            \
+    else {                                                     \
+      if (result) *result = val*fac;                           \
+      return true;                                             \
+    }                                                          \
+  }
diff --git a/lib_internal/util-isnumberunsigned.c b/lib_internal/util-isnumberunsigned.c
new file mode 100644 (file)
index 0000000..bdc034f
--- /dev/null
@@ -0,0 +1,35 @@
+// $Id: util-isnumberunsigned.c 2255 2006-01-22 11:23:47Z ensc $    --*- c -*--
+
+// Copyright (C) 2005 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.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "util.h"
+#include "util-isnumber.hc"
+#include <limits.h>
+
+static inline bool
+checkConstraints(unsigned long val, unsigned int fac)
+{
+  if ((long)(val)   <    0) return false;
+  if (ULONG_MAX/fac <= val) return false;
+  return true;
+}
+
+ENSC_DECL_UTIL_ISNUMBER(isNumberUnsigned, unsigned long, strtoul)
index be07329..963c3b8 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-lockfile.c,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: util-lockfile.c 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2431fac..d828dec 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-lockfile.h,v 1.1 2004/07/02 23:34:52 ensc Exp $    --*- c -*--
+// $Id: util-lockfile.h 1616 2004-07-02 23:34:52Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index fc8a682..8b30d58 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-mem.h,v 1.3 2004/07/02 23:45:09 ensc Exp $    --*- c -*--
+// $Id: util-mem.h 1620 2004-07-02 23:45:09Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6704fc5..cd1be79 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-perror.h,v 1.2 2004/03/24 01:07:53 ensc Exp $    --*- c -*--
+// $Id: util-perror.h 1324 2004-03-24 01:07:53Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f7c4d97..a0c1991 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-safechdir.c,v 1.2 2004/02/19 22:25:50 ensc Exp $    --*- c -*--
+// $Id: util-safechdir.c 956 2004-02-19 22:25:50Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e30bbfa..541cc9d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-safechdir.h,v 1.1 2004/02/18 04:42:38 ensc Exp $    --*- c -*--
+// $Id: util-safechdir.h 934 2004-02-18 04:42:38Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9e4083c..a458a05 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util-unixsock.h,v 1.1 2004/03/05 03:17:39 ensc Exp $    --*- c -*--
+// $Id: util-unixsock.h 2241 2006-01-04 12:27:02Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -19,9 +19,9 @@
 #ifndef H_UTIL_VSERVER_LIB_INTERNAL_UTIL_UNIXSOCK_H
 #define H_UTIL_VSERVER_LIB_INTERNAL_UTIL_UNIXSOCK_H
 
-#define ENSC_INIT_UNIX_SOCK(ADDR, FILENAME)                    \
-  (ADDR).sun_family = AF_UNIX;                                 \
-  strncpy((ADDR).sun_path, FILENAME, sizeof((ADDR).sun_path)); \
+#define ENSC_INIT_UNIX_SOCK(ADDR, FILENAME)                            \
+  (ADDR).sun_family = AF_UNIX;                                         \
+  strncpy((ADDR).sun_path, FILENAME, sizeof((ADDR).sun_path)-1);       \
   (ADDR).sun_path[sizeof((ADDR).sun_path)-1] = '\0';
 
 #endif //  H_UTIL_VSERVER_LIB_INTERNAL_UTIL_UNIXSOCK_H
index c49d1e2..0e49784 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util.h,v 1.6 2005/07/04 22:35:47 ensc Exp $    --*- c -*--
+// $Id: util.h 2255 2006-01-22 11:23:47Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -35,6 +35,7 @@
 
 bool           switchToWatchXid(char const **);
 size_t         canonifyVserverName(char *);
-bool           isNumber(char const *, signed long *result);
+bool           isNumber(char const *, signed long *result, bool is_strict);
+bool           isNumberUnsigned(char const *, unsigned long *result, bool is_strict);
 
 #endif //  H_UTILVSERVER_LIB_INTERNAL_UTIL_H
index 9be0eb1..06823e0 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -43,8 +43,8 @@ EXIT_FAILURE=1
 
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION=1.5.16
-TIMESTAMP=" (1.1220.2.235 2005/04/25 18:13:26)"
+VERSION=1.5.22
+TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
 
 # See if we are running on zsh, and set the options which allow our
 # commands through without removal of \ escapes.
@@ -88,14 +88,15 @@ rm="rm -f"
 Xsed="${SED}"' -e 1s/^X//'
 sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
 # test EBCDIC or ASCII
-case `echo A|tr A '\301'` in
- A) # EBCDIC based system
-  SP2NL="tr '\100' '\n'"
-  NL2SP="tr '\r\n' '\100\100'"
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  SP2NL='tr \040 \012'
+  NL2SP='tr \015\012 \040\040'
   ;;
- *) # Assume ASCII based system
-  SP2NL="tr '\040' '\012'"
-  NL2SP="tr '\015\012' '\040\040'"
+ *) # EBCDIC based system
+  SP2NL='tr \100 \n'
+  NL2SP='tr \r\n \100\100'
   ;;
 esac
 
@@ -131,14 +132,52 @@ run=
 show="$echo"
 show_help=
 execute_dlfiles=
+duplicate_deps=no
+preserve_args=
 lo2o="s/\\.lo\$/.${objext}/"
 o2lo="s/\\.${objext}\$/.lo/"
-quote_scanset='[[~#^*{};<>?'"'"'       ]'
 
 #####################################
 # Shell function definitions:
 # This seems to be the best place for them
 
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+       # Failing that, at least try and use $RANDOM to avoid a race
+       my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+       save_mktempdir_umask=`umask`
+       umask 0077
+       $mkdir "$my_tmpdir"
+       umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || {
+        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
+       exit $EXIT_FAILURE
+      }
+    fi
+
+    $echo "X$my_tmpdir" | $Xsed
+}
+
+
 # func_win32_libid arg
 # return the library type of file 'arg'
 #
@@ -157,12 +196,11 @@ func_win32_libid ()
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
       $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
       win32_nmres=`eval $NM -f posix -A $1 | \
-       sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'`
-      if test "X$win32_nmres" = "Ximport" ; then
-        win32_libid_type="x86 archive import"
-      else
-        win32_libid_type="x86 archive static"
-      fi
+       $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
     fi
     ;;
   *DLL*)
@@ -192,7 +230,7 @@ func_infer_tag ()
       CC_quoted=
       for arg in $CC; do
        case $arg in
-         *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
@@ -213,7 +251,7 @@ func_infer_tag ()
            for arg in $CC; do
            # Double-quote args containing other shell metacharacters.
            case $arg in
-             *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
              arg="\"$arg\""
              ;;
            esac
@@ -295,9 +333,9 @@ func_extract_archives ()
       $run ${rm}r "$my_xdir"
       $show "$mkdir $my_xdir"
       $run $mkdir "$my_xdir"
-      status=$?
-      if test "$status" -ne 0 && test ! -d "$my_xdir"; then
-       exit $status
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
+       exit $exit_status
       fi
       case $host in
       *-darwin*)
@@ -337,7 +375,7 @@ func_extract_archives ()
            func_extract_an_archive "$my_xdir" "$my_xabs"
          fi # $darwin_arches
        fi # $run
-      ;;
+       ;;
       *)
         func_extract_an_archive "$my_xdir" "$my_xabs"
         ;;
@@ -352,6 +390,8 @@ func_extract_archives ()
 # Darwin sucks
 eval std_shrext=\"$shrext_cmds\"
 
+disable_libs=no
+
 # Parse our command line options once, thoroughly.
 while test "$#" -gt 0
 do
@@ -468,7 +508,11 @@ do
     preserve_args="$preserve_args $arg"
     ;;
 
-  --tag) prevopt="--tag" prev=tag ;;
+  --tag)
+    prevopt="--tag"
+    prev=tag
+    preserve_args="$preserve_args --tag"
+    ;;
   --tag=*)
     set tag "$optarg" ${1+"$@"}
     shift
@@ -500,6 +544,18 @@ if test -n "$prevopt"; then
   exit $EXIT_FAILURE
 fi
 
+case $disable_libs in
+no) 
+  ;;
+shared)
+  build_libtool_libs=no
+  build_old_libs=yes
+  ;;
+static)
+  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+  ;;
+esac
+
 # If this variable is set in any of the actions, the command in it
 # will be execed at the end.  This prevents here-documents from being
 # left over by shells.
@@ -576,7 +632,7 @@ if test -z "$show_help"; then
 
     for arg
     do
-      case "$arg_mode" in
+      case $arg_mode in
       arg  )
        # do not "continue".  Instead, add this to base_compile
        lastarg="$arg"
@@ -627,7 +683,7 @@ if test -z "$show_help"; then
            # Many Bourne shells cannot handle close brackets correctly
            # in scan sets, so we specify it separately.
            case $arg in
-             *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
              arg="\"$arg\""
              ;;
            esac
@@ -662,7 +718,7 @@ if test -z "$show_help"; then
       # in scan sets (worked around with variable expansion),
       # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
       # at all, so we specify them separately.
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        lastarg="\"$lastarg\""
        ;;
       esac
@@ -737,13 +793,12 @@ if test -z "$show_help"; then
 
     qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
     case $qlibobj in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        qlibobj="\"$qlibobj\"" ;;
     esac
-    if test "X$libobj" != "X$qlibobj"; then
-       $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
-       exit $EXIT_FAILURE
-    fi
+    test "X$libobj" != "X$qlibobj" \
+       && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"'  &()|`$[]' \
+       && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
     objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
     xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
     if test "X$xdir" = "X$obj"; then
@@ -824,7 +879,7 @@ compiler."
     fi
     qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
     case $qsrcfile in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
       qsrcfile="\"$qsrcfile\"" ;;
     esac
 
@@ -857,9 +912,9 @@ EOF
       if test ! -d "${xdir}$objdir"; then
        $show "$mkdir ${xdir}$objdir"
        $run $mkdir ${xdir}$objdir
-       status=$?
-       if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then
-         exit $status
+       exit_status=$?
+       if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
+         exit $exit_status
        fi
       fi
 
@@ -1062,6 +1117,7 @@ EOF
     no_install=no
     objs=
     non_pic_objects=
+    notinst_path= # paths that contain not-installed libtool libraries
     precious_files_regex=
     prefer_static_libs=no
     preload=no
@@ -1090,14 +1146,15 @@ EOF
          if test -n "$link_static_flag"; then
            dlopen_self=$dlopen_self_static
          fi
+         prefer_static_libs=yes
        else
          if test -z "$pic_flag" && test -n "$link_static_flag"; then
            dlopen_self=$dlopen_self_static
          fi
+         prefer_static_libs=built
        fi
        build_libtool_libs=no
        build_old_libs=yes
-       prefer_static_libs=yes
        break
        ;;
       esac
@@ -1111,7 +1168,7 @@ EOF
       arg="$1"
       shift
       case $arg in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
        ;;
       *) qarg=$arg ;;
@@ -1272,6 +1329,11 @@ EOF
                  if test -z "$pic_object" || test "$pic_object" = none ; then
                    arg="$non_pic_object"
                  fi
+               else
+                 # If the PIC object exists, use it instead.
+                 # $xdir was prepended to $pic_object above.
+                 non_pic_object="$pic_object"
+                 non_pic_objects="$non_pic_objects $non_pic_object"
                fi
              else
                # Only an error if not doing a dry-run.
@@ -1355,8 +1417,10 @@ EOF
          prev=
          continue
          ;;
-        darwin_framework)
-         compiler_flags="$compiler_flags $arg"
+       darwin_framework|darwin_framework_skip)
+         test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
+         compile_command="$compile_command $arg"
+         finalize_command="$finalize_command $arg"
          prev=
          continue
          ;;
@@ -1418,11 +1482,17 @@ EOF
        continue
        ;;
 
-      -framework)
-        prev=darwin_framework
-        compiler_flags="$compiler_flags $arg"
-        continue
-        ;;
+      -framework|-arch|-isysroot)
+       case " $CC " in
+         *" ${arg} ${1} "* | *" ${arg} ${1} "*) 
+               prev=darwin_framework_skip ;;
+         *) compiler_flags="$compiler_flags $arg"
+            prev=darwin_framework ;;
+       esac
+       compile_command="$compile_command $arg"
+       finalize_command="$finalize_command $arg"
+       continue
+       ;;
 
       -inst-prefix-dir)
        prev=inst_prefix
@@ -1450,7 +1520,8 @@ EOF
          absdir=`cd "$dir" && pwd`
          if test -z "$absdir"; then
            $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
-           exit $EXIT_FAILURE
+           absdir="$dir"
+           notinst_path="$notinst_path $dir"
          fi
          dir="$absdir"
          ;;
@@ -1464,10 +1535,15 @@ EOF
        esac
        case $host in
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+         testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
          case :$dllsearchpath: in
          *":$dir:"*) ;;
          *) dllsearchpath="$dllsearchpath:$dir";;
          esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         *) dllsearchpath="$dllsearchpath:$testbindir";;
+         esac
          ;;
        esac
        continue
@@ -1476,11 +1552,11 @@ EOF
       -l*)
        if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
          case $host in
-         *-*-cygwin* | *-*-pw32* | *-*-beos*)
+         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
            # These systems don't actually have a C or math library (as such)
            continue
            ;;
-         *-*-mingw* | *-*-os2*)
+         *-*-os2*)
            # These systems don't actually have a C library (as such)
            test "X$arg" = "X-lc" && continue
            ;;
@@ -1492,6 +1568,15 @@ EOF
            # Rhapsody C and math libraries are in the System framework
            deplibs="$deplibs -framework System"
            continue
+           ;;
+         *-*-sco3.2v5* | *-*-sco5v6*)
+           # Causes problems with __ctype
+           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+           # Compiler inserts libc in the correct place for threads to work
+           test "X$arg" = "X-lc" && continue
+           ;;
          esac
        elif test "X$arg" = "X-lc_r"; then
         case $host in
@@ -1533,21 +1618,24 @@ EOF
       # +DA*, +DD* enable 64-bit mode on the HP compiler
       # -q* pass through compiler args for the IBM compiler
       # -m* pass through architecture-specific compiler args for GCC
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*)
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -pg pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
+      -t[45]*|-txscale*|@*)
 
        # Unknown arguments in both finalize_command and compile_command need
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
         compile_command="$compile_command $arg"
         finalize_command="$finalize_command $arg"
-        if test "$with_gcc" = "yes" ; then
-          compiler_flags="$compiler_flags $arg"
-        fi
+        compiler_flags="$compiler_flags $arg"
         continue
         ;;
 
@@ -1655,7 +1743,7 @@ EOF
        for flag in $args; do
          IFS="$save_ifs"
          case $flag in
-           *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
            flag="\"$flag\""
            ;;
          esac
@@ -1673,7 +1761,7 @@ EOF
        for flag in $args; do
          IFS="$save_ifs"
          case $flag in
-           *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
            flag="\"$flag\""
            ;;
          esac
@@ -1706,7 +1794,7 @@ EOF
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
@@ -1785,6 +1873,11 @@ EOF
            if test -z "$pic_object" || test "$pic_object" = none ; then
              arg="$non_pic_object"
            fi
+         else
+           # If the PIC object exists, use it instead.
+           # $xdir was prepended to $pic_object above.
+           non_pic_object="$pic_object"
+           non_pic_objects="$non_pic_objects $non_pic_object"
          fi
        else
          # Only an error if not doing a dry-run.
@@ -1840,7 +1933,7 @@ EOF
        # to be aesthetically quoted because they are evaled later.
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case $arg in
-       *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
          arg="\"$arg\""
          ;;
        esac
@@ -1890,9 +1983,9 @@ EOF
     if test ! -d "$output_objdir"; then
       $show "$mkdir $output_objdir"
       $run $mkdir $output_objdir
-      status=$?
-      if test "$status" -ne 0 && test ! -d "$output_objdir"; then
-       exit $status
+      exit_status=$?
+      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
+       exit $exit_status
       fi
     fi
 
@@ -1955,7 +2048,6 @@ EOF
     newlib_search_path=
     need_relink=no # whether we're linking any uninstalled libtool libraries
     notinst_deplibs= # not-installed libtool libraries
-    notinst_path= # paths that contain not-installed libtool libraries
     case $linkmode in
     lib)
        passes="conv link"
@@ -2191,7 +2283,7 @@ EOF
        esac # case $deplib
        if test "$found" = yes || test -f "$lib"; then :
        else
-         $echo "$modename: cannot find the library \`$lib'" 1>&2
+         $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
          exit $EXIT_FAILURE
        fi
 
@@ -2405,7 +2497,7 @@ EOF
              case "$temp_rpath " in
              *" $dir "*) ;;
              *" $absdir "*) ;;
-             *) temp_rpath="$temp_rpath $dir" ;;
+             *) temp_rpath="$temp_rpath $absdir" ;;
              esac
            fi
 
@@ -2442,8 +2534,12 @@ EOF
        fi
 
        link_static=no # Whether the deplib will be linked statically
+       use_static_libs=$prefer_static_libs
+       if test "$use_static_libs" = built && test "$installed" = yes ; then
+         use_static_libs=no
+       fi
        if test -n "$library_names" &&
-          { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+          { test "$use_static_libs" = no || test -z "$old_library"; }; then
          if test "$installed" = no; then
            notinst_deplibs="$notinst_deplibs $lib"
            need_relink=yes
@@ -2556,11 +2652,15 @@ EOF
              if test "$hardcode_direct" = no; then
                add="$dir/$linklib"
                case $host in
-                 *-*-sco3.2v5* ) add_dir="-L$dir" ;;
+                 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+                 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+                 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+                   *-*-unixware7*) add_dir="-L$dir" ;;
                  *-*-darwin* )
                    # if the lib is a module then we can not link against
                    # it, someone is ignoring the new warnings I added
-                   if /usr/bin/file -L $add 2> /dev/null | $EGREP "bundle" >/dev/null ; then
+                   if /usr/bin/file -L $add 2> /dev/null |
+                      $EGREP ": [^:]* bundle" >/dev/null ; then
                      $echo "** Warning, lib $linklib is a module, not a shared library"
                      if test -z "$old_library" ; then
                        $echo
@@ -2591,7 +2691,7 @@ EOF
                add_dir="-L$dir"
                # Try looking first in the location we're being installed to.
                if test -n "$inst_prefix_dir"; then
-                 case "$libdir" in
+                 case $libdir in
                    [\\/]*)
                      add_dir="$add_dir -L$inst_prefix_dir$libdir"
                      ;;
@@ -2664,7 +2764,7 @@ EOF
              add_dir="-L$libdir"
              # Try looking first in the location we're being installed to.
              if test -n "$inst_prefix_dir"; then
-               case "$libdir" in
+               case $libdir in
                  [\\/]*)
                    add_dir="$add_dir -L$inst_prefix_dir$libdir"
                    ;;
@@ -2725,8 +2825,6 @@ EOF
              fi
            fi
          else
-           convenience="$convenience $dir/$old_library"
-           old_convenience="$old_convenience $dir/$old_library"
            deplibs="$dir/$old_library $deplibs"
            link_static=yes
          fi
@@ -3313,9 +3411,9 @@ EOF
 
       # Eliminate all temporary directories.
       for path in $notinst_path; do
-       lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
-       deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
-       dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
+       lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+       deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+       dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
       done
 
       if test -n "$xrpath"; then
@@ -3368,7 +3466,12 @@ EOF
            ;;
          *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
            # Do not include libc due to us having libc/libc_r.
-           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-sco3.2v5* | *-*-sco5v6*)
+           # Causes problems with __ctype
+           ;;
+         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+           # Compiler inserts libc in the correct place for threads to work
            ;;
          *)
            # Add libc to deplibs on all other systems if necessary.
@@ -3412,11 +3515,11 @@ EOF
          int main() { return 0; }
 EOF
          $rm conftest
-         $LTCC -o conftest conftest.c $deplibs
+         $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
          if test "$?" -eq 0 ; then
            ldd_output=`ldd conftest`
            for i in $deplibs; do
-             name="`expr $i : '-l\(.*\)'`"
+             name=`expr $i : '-l\(.*\)'`
              # If $name is empty we are operating on a -L argument.
               if test "$name" != "" && test "$name" -ne "0"; then
                if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@ -3453,11 +3556,11 @@ EOF
            # Error occurred in the first compile.  Let's try to salvage
            # the situation: Compile a separate program for each library.
            for i in $deplibs; do
-             name="`expr $i : '-l\(.*\)'`"
+             name=`expr $i : '-l\(.*\)'`
              # If $name is empty we are operating on a -L argument.
               if test "$name" != "" && test "$name" != "0"; then
                $rm conftest
-               $LTCC -o conftest conftest.c $i
+               $LTCC $LTCFLAGS -o conftest conftest.c $i
                # Did it work?
                if test "$?" -eq 0 ; then
                  ldd_output=`ldd conftest`
@@ -3505,7 +3608,7 @@ EOF
          set dummy $deplibs_check_method
          file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
          for a_deplib in $deplibs; do
-           name="`expr $a_deplib : '-l\(.*\)'`"
+           name=`expr $a_deplib : '-l\(.*\)'`
            # If $name is empty we are operating on a -L argument.
             if test "$name" != "" && test  "$name" != "0"; then
              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@ -3574,7 +3677,7 @@ EOF
          set dummy $deplibs_check_method
          match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
          for a_deplib in $deplibs; do
-           name="`expr $a_deplib : '-l\(.*\)'`"
+           name=`expr $a_deplib : '-l\(.*\)'`
            # If $name is empty we are operating on a -L argument.
            if test -n "$name" && test "$name" != "0"; then
              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@ -3704,6 +3807,35 @@ EOF
        deplibs=$newdeplibs
       fi
 
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+       case " $new_libs " in
+       *" -L$path/$objdir "*) ;;
+       *)
+         case " $deplibs " in
+         *" -L$path/$objdir "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$new_libs $deplib" ;;
+       esac
+      done
+      deplibs="$new_libs"
+
+
       # All the library-specific variables (install_libdir is set above).
       library_names=
       old_library=
@@ -3787,6 +3919,7 @@ EOF
        fi
 
        lib="$output_objdir/$realname"
+       linknames=
        for link
        do
          linknames="$linknames $link"
@@ -3815,6 +3948,9 @@ EOF
                # The command line is too long to execute in one step.
                $show "using reloadable object file for export list..."
                skipped_export=:
+               # Break out early, otherwise skipped_export may be
+               # set to false by a later but shorter cmd.
+               break
              fi
            done
            IFS="$save_ifs"
@@ -3884,7 +4020,8 @@ EOF
          fi
        fi
 
-       if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*"` &&
+       if test "X$skipped_export" != "X:" &&
+          len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
           test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
          :
        else
@@ -3919,7 +4056,7 @@ EOF
          do
            eval test_cmds=\"$reload_cmds $objlist $last_robj\"
            if test "X$objlist" = X ||
-              { len=`expr "X$test_cmds" : ".*"` &&
+              { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
                 test "$len" -le "$max_cmd_len"; }; then
              objlist="$objlist $obj"
            else
@@ -4009,13 +4146,30 @@ EOF
          IFS="$save_ifs"
          eval cmd=\"$cmd\"
          $show "$cmd"
-         $run eval "$cmd" || exit $?
+         $run eval "$cmd" || {
+           lt_exit=$?
+
+           # Restore the uninstalled library and exit
+           if test "$mode" = relink; then
+             $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+           fi
+
+           exit $lt_exit
+         }
        done
        IFS="$save_ifs"
 
        # Restore the uninstalled library and exit
        if test "$mode" = relink; then
          $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+
+         if test -n "$convenience"; then
+           if test -z "$whole_archive_flag_spec"; then
+             $show "${rm}r $gentop"
+             $run ${rm}r "$gentop"
+           fi
+         fi
+
          exit $EXIT_SUCCESS
        fi
 
@@ -4197,6 +4351,35 @@ EOF
         ;;
       esac
 
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+       case " $new_libs " in
+       *" -L$path/$objdir "*) ;;
+       *)
+         case " $compile_deplibs " in
+         *" -L$path/$objdir "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $compile_deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$new_libs $deplib" ;;
+       esac
+      done
+      compile_deplibs="$new_libs"
+
+
       compile_command="$compile_command $compile_deplibs"
       finalize_command="$finalize_command $finalize_deplibs"
 
@@ -4241,10 +4424,15 @@ EOF
        fi
        case $host in
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+         testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
          case :$dllsearchpath: in
          *":$libdir:"*) ;;
          *) dllsearchpath="$dllsearchpath:$libdir";;
          esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         *) dllsearchpath="$dllsearchpath:$testbindir";;
+         esac
          ;;
        esac
       done
@@ -4360,11 +4548,23 @@ extern \"C\" {
            if test -z "$export_symbols"; then
              export_symbols="$output_objdir/$outputname.exp"
              $run $rm $export_symbols
-             $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+             $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+              case $host in
+              *cygwin* | *mingw* )
+               $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+               $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
            else
-             $run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+             $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
              $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
              $run eval 'mv "$nlist"T "$nlist"'
+              case $host in
+              *cygwin* | *mingw* )
+               $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+               $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                ;;
+              esac
            fi
          fi
 
@@ -4481,16 +4681,29 @@ static const void *lt_preloaded_setup() {
          esac
 
          # Now compile the dynamic symbol file.
-         $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
-         $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+         $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+         $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
 
          # Clean up the generated files.
          $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
          $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
 
          # Transform the symbol file into the correct name.
-         compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-         finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+          case $host in
+          *cygwin* | *mingw* )
+            if test -f "$output_objdir/${outputname}.def" ; then
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+            else
+              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+             fi
+            ;;
+          * )
+            compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            ;;
+          esac
          ;;
        *)
          $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
@@ -4515,7 +4728,7 @@ static const void *lt_preloaded_setup() {
        # We have no uninstalled library dependencies, so finalize right now.
        $show "$link_command"
        $run eval "$link_command"
-       status=$?
+       exit_status=$?
 
        # Delete the generated files.
        if test -n "$dlsyms"; then
@@ -4523,7 +4736,7 @@ static const void *lt_preloaded_setup() {
          $run $rm "$output_objdir/${outputname}S.${objext}"
        fi
 
-       exit $status
+       exit $exit_status
       fi
 
       if test -n "$shlibpath_var"; then
@@ -4663,10 +4876,12 @@ static const void *lt_preloaded_setup() {
        esac
        case $host in
          *cygwin* | *mingw* )
-           cwrappersource=`$echo ${objdir}/lt-${outputname}.c`
-           cwrapper=`$echo ${output}.exe`
-           $rm $cwrappersource $cwrapper
-           trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+            output_name=`basename $output`
+            output_path=`dirname $output`
+            cwrappersource="$output_path/$objdir/lt-$output_name.c"
+            cwrapper="$output_path/$output_name.exe"
+            $rm $cwrappersource $cwrapper
+            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
 
            cat > $cwrappersource <<EOF
 
@@ -4691,6 +4906,9 @@ EOF
 #include <malloc.h>
 #include <stdarg.h>
 #include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
 
 #if defined(PATH_MAX)
 # define LT_PATHMAX PATH_MAX
@@ -4701,15 +4919,19 @@ EOF
 #endif
 
 #ifndef DIR_SEPARATOR
-#define DIR_SEPARATOR '/'
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
 #endif
 
 #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
   defined (__OS2__)
-#define HAVE_DOS_BASED_FILE_SYSTEM
-#ifndef DIR_SEPARATOR_2
-#define DIR_SEPARATOR_2 '\\'
-#endif
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
 #endif
 
 #ifndef DIR_SEPARATOR_2
@@ -4719,17 +4941,32 @@ EOF
         (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
 #endif /* DIR_SEPARATOR_2 */
 
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
 #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
 #define XFREE(stale) do { \
   if (stale) { free ((void *) stale); stale = 0; } \
 } while (0)
 
+/* -DDEBUG is fairly common in CFLAGS.  */
+#undef DEBUG
+#if defined DEBUGWRAPPER
+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
+#else
+# define DEBUG(format, ...)
+#endif
+
 const char *program_name = NULL;
 
 void * xmalloc (size_t num);
 char * xstrdup (const char *string);
-char * basename (const char *name);
-char * fnqualify(const char *path);
+const char * base_name (const char *name);
+char * find_executable(const char *wrapper);
+int    check_executable(const char *path);
 char * strendzap(char *str, const char *pat);
 void lt_fatal (const char *message, ...);
 
@@ -4739,29 +4976,51 @@ main (int argc, char *argv[])
   char **newargz;
   int i;
 
-  program_name = (char *) xstrdup ((char *) basename (argv[0]));
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  DEBUG("(main) argv[0]      : %s\n",argv[0]);
+  DEBUG("(main) program_name : %s\n",program_name);
   newargz = XMALLOC(char *, argc+2);
 EOF
 
-           cat >> $cwrappersource <<EOF
-  newargz[0] = "$SHELL";
+            cat >> $cwrappersource <<EOF
+  newargz[0] = (char *) xstrdup("$SHELL");
 EOF
 
-           cat >> $cwrappersource <<"EOF"
-  newargz[1] = fnqualify(argv[0]);
+            cat >> $cwrappersource <<"EOF"
+  newargz[1] = find_executable(argv[0]);
+  if (newargz[1] == NULL)
+    lt_fatal("Couldn't find %s", argv[0]);
+  DEBUG("(main) found exe at : %s\n",newargz[1]);
   /* we know the script has the same name, without the .exe */
   /* so make sure newargz[1] doesn't end in .exe */
   strendzap(newargz[1],".exe");
   for (i = 1; i < argc; i++)
     newargz[i+1] = xstrdup(argv[i]);
   newargz[argc+1] = NULL;
+
+  for (i=0; i<argc+1; i++)
+  {
+    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
+    ;
+  }
+
 EOF
 
-           cat >> $cwrappersource <<EOF
+            case $host_os in
+              mingw*)
+                cat >> $cwrappersource <<EOF
+  execv("$SHELL",(char const **)newargz);
+EOF
+              ;;
+              *)
+                cat >> $cwrappersource <<EOF
   execv("$SHELL",newargz);
 EOF
+              ;;
+            esac
 
-           cat >> $cwrappersource <<"EOF"
+            cat >> $cwrappersource <<"EOF"
+  return 127;
 }
 
 void *
@@ -4781,48 +5040,148 @@ xstrdup (const char *string)
 ;
 }
 
-char *
-basename (const char *name)
+const char *
+base_name (const char *name)
 {
   const char *base;
 
 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
   /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha (name[0]) && name[1] == ':')
+  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
     name += 2;
 #endif
 
   for (base = name; *name; name++)
     if (IS_DIR_SEPARATOR (*name))
       base = name + 1;
-  return (char *) base;
+  return base;
 }
 
+int
+check_executable(const char * path)
+{
+  struct stat st;
+
+  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0) &&
+      (
+        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
+#if defined (S_IXOTH)
+       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
+#endif
+#if defined (S_IXGRP)
+       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
+#endif
+       ((st.st_mode & S_IXUSR) == S_IXUSR))
+      )
+    return 1;
+  else
+    return 0;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise */
 char *
-fnqualify(const char *path)
+find_executable (const char* wrapper)
 {
-  size_t size;
-  char *p;
+  int has_slash = 0;
+  const char* p;
+  const char* p_next;
+  /* static buffer for getcwd */
   char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char* concat_name;
 
-  assert(path != NULL);
+  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
 
-  /* Is it qualified already? */
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
+  {
+    concat_name = xstrdup (wrapper);
+    if (check_executable(concat_name))
+      return concat_name;
+    XFREE(concat_name);
+  }
+  else
+  {
+#endif
+    if (IS_DIR_SEPARATOR (wrapper[0]))
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable(concat_name))
+        return concat_name;
+      XFREE(concat_name);
+    }
 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  if (isalpha (path[0]) && path[1] == ':')
-    return xstrdup (path);
+  }
 #endif
-  if (IS_DIR_SEPARATOR (path[0]))
-    return xstrdup (path);
 
-  /* prepend the current directory */
-  /* doesn't handle '~' */
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+    {
+      has_slash = 1;
+      break;
+    }
+  if (!has_slash)
+  {
+    /* no slashes; search PATH */
+    const char* path = getenv ("PATH");
+    if (path != NULL)
+    {
+      for (p = path; *p; p = p_next)
+      {
+        const char* q;
+        size_t p_len;
+        for (q = p; *q; q++)
+          if (IS_PATH_SEPARATOR(*q))
+            break;
+        p_len = q - p;
+        p_next = (*q == '\0' ? q : q + 1);
+        if (p_len == 0)
+        {
+          /* empty path: current directory */
+          if (getcwd (tmp, LT_PATHMAX) == NULL)
+            lt_fatal ("getcwd failed");
+          tmp_len = strlen(tmp);
+          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, tmp, tmp_len);
+          concat_name[tmp_len] = '/';
+          strcpy (concat_name + tmp_len + 1, wrapper);
+        }
+        else
+        {
+          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
+          memcpy (concat_name, p, p_len);
+          concat_name[p_len] = '/';
+          strcpy (concat_name + p_len + 1, wrapper);
+        }
+        if (check_executable(concat_name))
+          return concat_name;
+        XFREE(concat_name);
+      }
+    }
+    /* not found in PATH; assume curdir */
+  }
+  /* Relative path | not found in path: prepend cwd */
   if (getcwd (tmp, LT_PATHMAX) == NULL)
     lt_fatal ("getcwd failed");
-  size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */
-  p = XMALLOC(char, size);
-  sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path);
-  return p;
+  tmp_len = strlen(tmp);
+  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable(concat_name))
+    return concat_name;
+  XFREE(concat_name);
+  return NULL;
 }
 
 char *
@@ -4866,16 +5225,16 @@ lt_fatal (const char *message, ...)
   va_end (ap);
 }
 EOF
-         # we should really use a build-platform specific compiler
-         # here, but OTOH, the wrappers (shell script and this C one)
-         # are only useful if you want to execute the "real" binary.
-         # Since the "real" binary is built for $host, then this
-         # wrapper might as well be built for $host, too.
-         $run $LTCC -s -o $cwrapper $cwrappersource
-         ;;
-       esac
-       $rm $output
-       trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+          # we should really use a build-platform specific compiler
+          # here, but OTOH, the wrappers (shell script and this C one)
+          # are only useful if you want to execute the "real" binary.
+          # Since the "real" binary is built for $host, then this
+          # wrapper might as well be built for $host, too.
+          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
+          ;;
+        esac
+        $rm $output
+        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
 
        $echo > $output "\
 #! $SHELL
@@ -5025,13 +5384,13 @@ else
        # Backslashes separate directories on plain windows
        *-*-mingw | *-*-os2*)
          $echo >> $output "\
-      exec \$progdir\\\\\$program \${1+\"\$@\"}
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
 "
          ;;
 
        *)
          $echo >> $output "\
-      exec \$progdir/\$program \${1+\"\$@\"}
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
 "
          ;;
        esac
@@ -5041,7 +5400,7 @@ else
     fi
   else
     # The program doesn't exist.
-    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
+    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
     \$echo \"This script is just a wrapper for \$program.\" 1>&2
     $echo \"See the $PACKAGE documentation for more information.\" 1>&2
     exit $EXIT_FAILURE
@@ -5105,9 +5464,9 @@ fi\
            $run ${rm}r "$gentop"
            $show "$mkdir $gentop"
            $run $mkdir "$gentop"
-           status=$?
-           if test "$status" -ne 0 && test ! -d "$gentop"; then
-             exit $status
+           exit_status=$?
+           if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
+             exit $exit_status
            fi
          fi
 
@@ -5164,7 +5523,7 @@ fi\
            oldobjs="$objlist $obj"
            objlist="$objlist $obj"
            eval test_cmds=\"$old_archive_cmds\"
-           if len=`expr "X$test_cmds" : ".*"` &&
+           if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
               test "$len" -le "$max_cmd_len"; then
              :
            else
@@ -5361,11 +5720,11 @@ relink_command=\"$relink_command\""
     # install_prog (especially on Windows NT).
     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
        # Allow the use of GNU shtool's install command.
-       $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
+       $echo "X$nonopt" | grep shtool > /dev/null; then
       # Aesthetically quote it.
       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
       case $arg in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        arg="\"$arg\""
        ;;
       esac
@@ -5374,14 +5733,14 @@ relink_command=\"$relink_command\""
       shift
     else
       install_prog=
-      arg="$nonopt"
+      arg=$nonopt
     fi
 
     # The real first argument should be the name of the installation program.
     # Aesthetically quote it.
     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
     case $arg in
-    *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \      ]*|*]*|"")
       arg="\"$arg\""
       ;;
     esac
@@ -5399,28 +5758,31 @@ relink_command=\"$relink_command\""
     do
       if test -n "$dest"; then
        files="$files $dest"
-       dest="$arg"
+       dest=$arg
        continue
       fi
 
       case $arg in
       -d) isdir=yes ;;
-      -f) prev="-f" ;;
-      -g) prev="-g" ;;
-      -m) prev="-m" ;;
-      -o) prev="-o" ;;
+      -f) 
+       case " $install_prog " in
+       *[\\\ /]cp\ *) ;;
+       *) prev=$arg ;;
+       esac
+       ;;
+      -g | -m | -o) prev=$arg ;;
       -s)
        stripme=" -s"
        continue
        ;;
-      -*) ;;
-
+      -*)
+       ;;
       *)
        # If the previous option needed an argument, then skip it.
        if test -n "$prev"; then
          prev=
        else
-         dest="$arg"
+         dest=$arg
          continue
        fi
        ;;
@@ -5429,7 +5791,7 @@ relink_command=\"$relink_command\""
       # Aesthetically quote the argument.
       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
       case $arg in
-      *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
        arg="\"$arg\""
        ;;
       esac
@@ -5598,11 +5960,14 @@ relink_command=\"$relink_command\""
 
          if test "$#" -gt 0; then
            # Delete the old symlinks, and create new ones.
+           # Try `ln -sf' first, because the `ln' binary might depend on
+           # the symlink we replace!  Solaris /bin/ln does not understand -f,
+           # so we also need to try rm && ln -s.
            for linkname
            do
              if test "$linkname" != "$realname"; then
-               $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
-               $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
+                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
              fi
            done
          fi
@@ -5615,7 +5980,16 @@ relink_command=\"$relink_command\""
            IFS="$save_ifs"
            eval cmd=\"$cmd\"
            $show "$cmd"
-           $run eval "$cmd" || exit $?
+           $run eval "$cmd" || {
+             lt_exit=$?
+
+             # Restore the uninstalled library and exit
+             if test "$mode" = relink; then
+               $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+             fi
+
+             exit $lt_exit
+           }
          done
          IFS="$save_ifs"
        fi
@@ -5709,17 +6083,15 @@ relink_command=\"$relink_command\""
          notinst_deplibs=
          relink_command=
 
-         # To insure that "foo" is sourced, and not "foo.exe",
-         # finese the cygwin/MSYS system by explicitly sourcing "foo."
-         # which disallows the automatic-append-.exe behavior.
-         case $build in
-         *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
-         *) wrapperdot=${wrapper} ;;
-         esac
+         # Note that it is not necessary on cygwin/mingw to append a dot to
+         # foo even if both foo and FILE.exe exist: automatic-append-.exe
+         # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+         # `FILE.' does not work on cygwin managed mounts.
+         #
          # If there is no directory component, then add one.
-         case $file in
-         */* | *\\*) . ${wrapperdot} ;;
-         *) . ./${wrapperdot} ;;
+         case $wrapper in
+         */* | *\\*) . ${wrapper} ;;
+         *) . ./${wrapper} ;;
          esac
 
          # Check the variables that should have been set.
@@ -5747,34 +6119,21 @@ relink_command=\"$relink_command\""
          done
 
          relink_command=
-         # To insure that "foo" is sourced, and not "foo.exe",
-         # finese the cygwin/MSYS system by explicitly sourcing "foo."
-         # which disallows the automatic-append-.exe behavior.
-         case $build in
-         *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
-         *) wrapperdot=${wrapper} ;;
-         esac
+         # Note that it is not necessary on cygwin/mingw to append a dot to
+         # foo even if both foo and FILE.exe exist: automatic-append-.exe
+         # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+         # `FILE.' does not work on cygwin managed mounts.
+         #
          # If there is no directory component, then add one.
-         case $file in
-         */* | *\\*) . ${wrapperdot} ;;
-         *) . ./${wrapperdot} ;;
+         case $wrapper in
+         */* | *\\*) . ${wrapper} ;;
+         *) . ./${wrapper} ;;
          esac
 
          outputname=
          if test "$fast_install" = no && test -n "$relink_command"; then
            if test "$finalize" = yes && test -z "$run"; then
-             tmpdir="/tmp"
-             test -n "$TMPDIR" && tmpdir="$TMPDIR"
-             tmpdir="$tmpdir/libtool-$$"
-             save_umask=`umask`
-             umask 0077
-             if $mkdir "$tmpdir"; then
-               umask $save_umask
-             else
-               umask $save_umask
-               $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
-               continue
-             fi
+             tmpdir=`func_mktempdir`
              file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
              outputname="$tmpdir/$file"
              # Replace the output file specification.
@@ -5798,7 +6157,7 @@ relink_command=\"$relink_command\""
        fi
 
        # remove .exe since cygwin /usr/bin/install will append another
-       # one anyways
+       # one anyway 
        case $install_prog,$host in
        */usr/bin/install*,*cygwin*)
          case $file:$destfile in
@@ -5898,7 +6257,7 @@ relink_command=\"$relink_command\""
     # Exit here if they wanted silent mode.
     test "$show" = : && exit $EXIT_SUCCESS
 
-    $echo "----------------------------------------------------------------------"
+    $echo "X----------------------------------------------------------------------" | $Xsed
     $echo "Libraries have been installed in:"
     for libdir in $libdirs; do
       $echo "   $libdir"
@@ -5931,7 +6290,7 @@ relink_command=\"$relink_command\""
     $echo
     $echo "See any operating system documentation about shared libraries for"
     $echo "more information, such as the ld(1) and ld.so(8) manual pages."
-    $echo "----------------------------------------------------------------------"
+    $echo "X----------------------------------------------------------------------" | $Xsed
     exit $EXIT_SUCCESS
     ;;
 
@@ -6148,9 +6507,17 @@ relink_command=\"$relink_command\""
            rmfiles="$rmfiles $objdir/$n"
          done
          test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-         test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
 
-         if test "$mode" = uninstall; then
+         case "$mode" in
+         clean)
+           case "  $library_names " in
+           # "  " in the beginning catches empty $dlname
+           *" $dlname "*) ;;
+           *) rmfiles="$rmfiles $objdir/$dlname" ;;
+           esac
+            test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+           ;;
+         uninstall)
            if test -n "$library_names"; then
              # Do each command in the postuninstall commands.
              cmds=$postuninstall_cmds
@@ -6183,7 +6550,8 @@ relink_command=\"$relink_command\""
              IFS="$save_ifs"
            fi
            # FIXME: should reinstall the best remaining shared library.
-         fi
+           ;;
+         esac
        fi
        ;;
 
@@ -6482,12 +6850,11 @@ exit $?
 # configuration.  But we'll never go from static-only to shared-only.
 
 # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
+disable_libs=shared
 # ### END LIBTOOL TAG CONFIG: disable-shared
 
 # ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
+disable_libs=static
 # ### END LIBTOOL TAG CONFIG: disable-static
 
 # Local Variables:
index 8ca6cbd..310de84 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: changelog.am,v 1.3 2003/10/13 19:50:09 ensc Exp $      ---*- makefile -*---
+## $Id: changelog.am 2333 2006-09-28 15:06:59Z dhozac $        ---*- makefile -*---
 
 ## Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
 ChangeLog.sed:
                                test "$(srcdir)" != "."
 
-if HAVE_CVS2CL
+if HAVE_SVN2CL
 ChangeLog:                     Makefile
-                               if test "$(srcdir)" = "." -a -d CVS; then       \
-                                       $(CVS2CL) $(CVS2CL_ALLFLAGS) -f $@;     \
+                               if test "$(srcdir)" = "." -a -d .svn; then      \
+                                       $(SVN2CL) $(SVN2CL_ALLFLAGS) -o $@;     \
                                fi
-else
-if HAVE_RCS2LOG
-ChangeLog:                     ChangeLog.sed Makefile
-                               if test "$(srcdir)" = "." -a -d CVS; then       \
-                                       $(RCS2LOG) -l 0 -c /dev/stdout | sed -f $< >$@; \
-                               fi
-endif
 endif
 
 .PHONY:        ChangeLog
index e1a8cab..926de9f 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_cflags.m4,v 1.3 2004/03/04 03:00:42 ensc Exp $
+dnl $Id: ensc_cflags.m4 1052 2004-03-04 03:00:42Z ensc $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 190b6cd..4269788 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_changelog.m4,v 1.2 2003/11/04 01:31:56 ensc Exp $
+dnl $Id: ensc_changelog.m4 2313 2006-09-15 08:31:53Z hollow $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -15,17 +15,10 @@ dnl You should have received a copy of the GNU General Public License
 dnl along with this program; if not, write to the Free Software
 dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-dnl Usage: ENSC_CHANGELOG(<CVS_TAG>)
+dnl Usage: ENSC_CHANGELOG()
 
 AC_DEFUN([ENSC_CHANGELOG],
 [
-       if test x"$1" != x; then
-               AC_SUBST(CVS2CL_TAG, ['-F $1'])
-       fi
-
-       AC_CHECK_PROGS(CVS2CL, [cvs2cl])
-       AM_CONDITIONAL(HAVE_CVS2CL,  [test x"$CVS2CL" != x])
-
-       AC_CHECK_PROGS(RCS2LOG, [rcs2log])
-       AM_CONDITIONAL(HAVE_RCS2LOG,  [test x"$RCS2LOG" != x])
+       AC_CHECK_PROGS(SVN2CL, [svn2cl])
+       AM_CONDITIONAL(HAVE_SVN2CL,  [test x"$SVN2CL" != x])
 ])
index 910bf4f..51c7a78 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_cxxcompiler.m4,v 1.3 2005/04/10 00:52:57 ensc Exp $
+dnl $Id: ensc_cxxcompiler.m4 2007 2005-04-10 00:52:57Z ensc $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 02d1647..f594db7 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_dietlibc.m4,v 1.15 2005/05/05 19:13:52 ensc Exp $
+dnl $Id: ensc_dietlibc.m4 2091 2005-05-05 19:13:52Z ensc $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 30de1c2..e33d464 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_dietlibc_compat.m4,v 1.4 2005/04/24 20:28:23 ensc Exp $
+dnl $Id: ensc_dietlibc_compat.m4 2042 2005-04-24 20:28:23Z ensc $
 
 dnl Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 8d18bc9..7fe2f5f 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_e2fscheck.m4,v 1.3 2004/02/19 22:31:04 ensc Exp $
+dnl $Id: ensc_e2fscheck.m4 2411 2006-12-01 18:41:01Z dhozac $
 
 dnl Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -48,7 +48,7 @@ the following reasons:
 * kernel headers are broken (e.g. these of linux 2.6 are known to be)
   and you do not have e2fsprogs headers installed; please try to install
   - e2fsprogs-devel (for Red Hat), or
-  - libext2fs2-devel (for Mandrake), or
+  - lib*ext2fs2-devel (for Mandriva), or
   - e2fslibs-dev (for Debian)
   in this case.
 
index 8d1606b..909b9b1 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_initrddir.m4,v 1.2 2005/03/09 14:42:39 ensc Exp $
+dnl $Id: ensc_initrddir.m4 1887 2005-03-09 14:42:39Z ensc $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 96d345b..15150c2 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_pathprog.m4,v 1.2 2005/02/02 14:09:28 ensc Exp $
+dnl $Id: ensc_pathprog.m4 2324 2006-09-19 17:29:52Z dhozac $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -75,7 +75,10 @@ AC_DEFUN([ENSC_PATHPROG_STANDARD_TOOLS],
        ENSC_PATHPROG(CP,        cp)
        ENSC_PATHPROG(DIRNAME,   dirname)
        ENSC_PATHPROG(EGREP,     egrep)
+       env_old_searchpath="${ensc_searchpath}"
+       ensc_searchpath="/bin:${ensc_searchpath:-$PATH}"
        ENSC_PATHPROG(ENV,       env)
+       ensc_searchpath="${env_old_searchpath}"
        ENSC_PATHPROG(GREP,      grep)
        ENSC_PATHPROG(LN,        ln)
        ENSC_PATHPROG(MKDIR,     mkdir)
index 69340e4..dd4528f 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_personality.m4,v 1.1 2005/07/15 19:40:15 ensc Exp $
+dnl $Id: ensc_personality.m4 2159 2005-07-15 19:40:15Z ensc $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 387e111..e42c1bf 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_release.m4,v 1.2 2003/12/26 00:22:49 uid68581 Exp $
+dnl $Id: ensc_release.m4 476 2003-12-26 00:22:49Z uid68581 $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 641812d..66d9912 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_syscall.m4,v 1.6 2005/05/19 18:04:12 ensc Exp $
+dnl $Id: ensc_syscall.m4 2194 2005-10-28 17:51:48Z ensc $
 
 dnl Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -39,7 +39,6 @@ AC_DEFUN([ENSC_SYSCALL_ALTERNATIVE],
 
 AC_DEFUN([ENSC_SYSCALL],
 [
-       AC_REQUIRE([ENSC_KERNEL_HEADERS])
        AC_REQUIRE([ENSC_SYSCALL_ALTERNATIVE])
 
         AC_MSG_CHECKING([for syscall(2) invocation method])
@@ -104,7 +103,7 @@ int main() {
         fi
         
         AH_BOTTOM([
-#if defined(__pic__) && defined(__i386) && !defined(ENSC_SYSCALL_TRADITIONAL)
+#if defined(__pic__) && defined(__i386) && !defined(ENSC_SYSCALL_TRADITIONAL) && !defined(ENSC_USE_ALTERNATIVE_SYSCALL_MACROS)
 #  define ENSC_SYSCALL_TRADITIONAL     1
 #endif])
 ])
index 868ca38..db6efb3 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_syscallnr.m4,v 1.6 2004/03/08 19:55:28 ensc Exp $
+dnl $Id: ensc_syscallnr.m4 2187 2005-10-28 16:01:19Z ensc $
 
 dnl Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
@@ -15,19 +15,22 @@ dnl You should have received a copy of the GNU General Public License
 dnl along with this program; if not, write to the Free Software
 dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-dnl Usage: ENSC_SYSCALLNR(<syscall>,<default>)
+dnl Usage: ENSC_SYSCALLNR(<syscall>,<default>[,<fallback>])
 
 AC_DEFUN([ENSC_SYSCALLNR],
 [
        AC_REQUIRE([AC_PROG_CPP])
        AC_REQUIRE([AC_PROG_EGREP])
-       AC_REQUIRE([ENSC_KERNEL_HEADERS])
 
        AC_CACHE_CHECK([for number of syscall '$1'], [ensc_cv_value_syscall_$1],
        [
                AC_LANG_PUSH(C)
                AC_LANG_CONFTEST([
-#include <asm/unistd.h>
+#ifdef ENSC_SYSCALL_FALLBACK
+#  include ENSC_SYSCALL_FALLBACK
+#else
+#  include <asm/unistd.h>
+#endif
 #ifdef __NR_$1
 ensc_syscall_tmp_nr=__NR_$1;
 ensc_syscall_tmp_src=ENSC_MARK
@@ -35,10 +38,10 @@ ensc_syscall_tmp_src=ENSC_MARK
 ])
                ensc_syscall_tmp_nr=
                ensc_syscall_tmp_src=
-               test "$ensc_syscall_tmp_nr" || \
-                       eval $($CPP $CPPFLAGS -D ENSC_MARK='glibc'                                 conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[[1-9]][[0-9]]*;|src=.*)$')
-               test "$ensc_syscall_tmp_nr" || \
-                       eval $($CPP $CPPFLAGS -D ENSC_MARK='kernel' -I $ensc_cv_path_kernelheaders conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[[1-9]][[0-9]]*;|src=.*)$')
+               test x"$ensc_syscall_tmp_nr" != x || \
+                       eval $($CPP $CPPFLAGS -D ENSC_MARK='glibc'                                    conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[[1-9]][[0-9]]*;|src=.*)$')
+               test x"$ensc_syscall_tmp_nr" != x -o x'$3' = x || \
+                       eval $($CPP $CPPFLAGS -D ENSC_MARK='fallback' -D ENSC_SYSCALL_FALLBACK='"$3"' conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[[1-9]][[0-9]]*;|src=.*)$')
                test "$ensc_syscall_tmp_nr" || {
                        ensc_syscall_tmp_nr=$2
                        ensc_syscall_tmp_src=default
index cbf365c..f452ea5 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: ensc_uv_vrootdir.m4,v 1.2 2003/12/26 00:22:49 uid68581 Exp $
+dnl $Id: ensc_uv_vrootdir.m4 476 2003-12-26 00:22:49Z uid68581 $
 
 dnl Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 dnl  
index 76ab2de..15de828 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: gpgsig.am,v 1.2 2004/05/21 15:46:40 ensc Exp $
+## $Id: gpgsig.am 1572 2004-05-21 15:46:40Z ensc $
 
 ## Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 41ae8b9..8cd426e 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: install-notify.am,v 1.2 2005/05/05 09:17:41 ensc Exp $
+## $Id: install-notify.am 2083 2005-05-05 09:17:41Z ensc $
 
 ## Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 7028752..697516d 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: libsel.am,v 1.1 2005/04/10 00:53:56 ensc Exp $
+## $Id: libsel.am 2009 2005-04-10 00:53:56Z ensc $
 
 ## Copyright (C) 2002,2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index e17d2af..8e96fdf 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: pkgconfig.am,v 1.1 2003/10/13 19:50:29 ensc Exp $      ---*- makefile -*---
+## $Id: pkgconfig.am 2188 2005-10-28 16:03:28Z ensc $  ---*- makefile -*---
 
 ## Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
@@ -25,6 +25,17 @@ pkgconf_DATA            =  $(addsuffix .pc, $(PKGCONFIG_FILES))
 CLEANFILES             += $(addsuffix .pc,       $(PKGCONFIG_FILES))
 EXTRA_DIST             += $(addsuffix .pc.subst, $(PKGCONFIG_FILES))
 
+pkgconf_SUBST =                s!@'PACKAGE'@!$(PACKAGE)!g;                                     \
+                       s!@'VERSION'@!$(VERSION)!g;                                     \
+                       s!@'prefix'@!$(prefix)!g;                                       \
+                       s!@'exec_prefix'@!$(exec_prefix)!g;                             \
+                       s!@'libdir'@!$(libdir)!g;                                       \
+                       s!@'includedir'@!$(includedir)!g;                               \
+                       s!@'libflags"@!$${libflags}$(pkgconf_LIBFLAGS)!g;"'             \
+                       s!@'incflags"@!$${incflags}$(pkgconf_INCFLAGS)!g;"'             \
+                       s!@'pkgincflags"@!$${pkgincflags}$(pkgconf_PKGINCFLAGS)!g;"'    \
+                       s!@'pkgincludedir'@!$(pkgincludedir)!g
+
 
 %.pc:                  %.pc.subst Makefile
                        rm -f $@
@@ -40,16 +51,6 @@ EXTRA_DIST           += $(addsuffix .pc.subst, $(PKGCONFIG_FILES))
                                $(BAD_INC_PATHS))       incflags=;;                             \
                                *)                      incflags='-I$${includedir} ';;          \
                        esac;                                                                   \
-                       sed -e 's!@'PACKAGE'@!$(PACKAGE)!g;                                     \
-                               s!@'VERSION'@!$(VERSION)!g;                                     \
-                               s!@'prefix'@!$(prefix)!g;                                       \
-                               s!@'exec_prefix'@!$(exec_prefix)!g;                             \
-                               s!@'libdir'@!$(libdir)!g;                                       \
-                               s!@'includedir'@!$(includedir)!g;                               \
-                               s!@'libflags"@!$${libflags}$(pkgconf_LIBFLAGS)!g;"'             \
-                               s!@'incflags"@!$${incflags}$(pkgconf_INCFLAGS)!g;"'             \
-                               s!@'pkgincflags"@!$${pkgincflags}$(pkgconf_PKGINCFLAGS)!g;"'    \
-                               s!@'pkgincludedir'@!$(pkgincludedir)!g'                         \
-                        $< >$@
+                       sed -e '$(pkgconf_SUBST)' $< >$@
                        test -z "$(CHMOD_REFERENCE)" || $(CHMOD_REFERENCE) '$<' '$@'
                        chmod a-w $@
index 6373194..fd9fe3e 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: validate.am,v 1.3 2004/01/14 00:01:15 ensc Exp $       ---*- makefile -*---
+## $Id: validate.am 592 2004-01-14 00:01:15Z ensc $    ---*- makefile -*---
 
 ## Copyright (C) 2002 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index ddcca29..12996ca 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.4 2004/03/10 02:30:34 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 1192 2004-03-10 02:30:34Z ensc $  -*- makefile -*-
 
 ## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 63bd721..190542a 100644 (file)
@@ -1,4 +1,4 @@
-.TH "chcontext" "1" "0.1.0" "Klavs Klavsen <kl@vsen.dk>" "System Administration"
+.TH "chcontext" "8" "0.1.0" "Klavs Klavsen <kl@vsen.dk>" "System Administration"
 .SH "NAME"
 .LP 
 chcontext \- chcontext allocates a new security context and executes a command in that context.
index 48e3cf2..9481c49 100644 (file)
@@ -1,93 +1,93 @@
-.TH "vserver-copy" "8" "0.3" "Mark Lawrence <nomad@null.net>" "System Administration"\r
-.SH "NAME"\r
-.LP \r
-vserver-copy \- copy/move a virtual server.\r
-.SH "SYNTAX"\r
-.LP \r
-vserver-copy [\fIoptions\fP] \fIvserver\fP \fInewname\fP \r
-.LP \r
-vserver-copy [\fIoptions\fP] \fIvserver\fP \fIhost\fP:[\fInewname\fP]\r
-.SH "DESCRIPTION"\r
-.LP \r
-vserver-copy makes a copy of a virtual server using rsync. It will\r
-rewrite the vserver.conf configuration file with the new hostname and\r
-IP information when given. If the destination name contains a host\r
-specification then ssh/rsh will be used for the data transfer.\r
-\r
-vserver-copy can used on a running vserver, although naturally the\r
-consistency of open database files and the like cannot be guaranteed.\r
-A running vserver can however be safely moved from one root host to another\r
-using the \-s flag.\r
-\r
-If downtime is an issue when moving a virtual server across hosts you\r
-should first run vserver without the \-s flag. This will pre\-populate the\r
-destination filesystem requiring only updates to be made on the next\r
-invocation.\r
-.SH "OPTIONS"\r
-.LP \r
-.TP \r
-\fB\-h\fR,\fB-\-help\fR\r
-output usage information and exit\r
-.TP \r
-\fB\-V\fR,\fB-\-version\fR\r
-output version information and exit\r
-.TP \r
-\fB\-v\fR,\fB-\-verbose\fR\r
-show all output (normally only informational messages and warnings)\r
-.TP \r
-\fB\-q\fR,\fB-\-quiet\fR\r
-suppress all output\r
-.TP \r
-\fB\-d\fR,\fB-\-domain\fR domain\r
-the new DNS domain when changing name. Overwrites /etc/hosts. Must be\r
-used with \-i\r
-.TP \r
-\fB\-i\fR,\fB-\-ip\fR address\r
-the new IP address when changing name. Overwrites /etc/hosts. Must be\r
-used with \-d\r
-.TP \r
-\fB\-r\fR,\fB-\-vsroot\fR\r
-directory containing virtual servers. Defaults to "/vserver"\r
-.TP \r
-\fB\-R\fR,\fB-\-rsh\fR\r
-use rsh instead of the default ssh for network transfer\r
-.TP\r
-\fB\-s\fR,\fB-\-stopstart\fR\r
-stop the virtual server before copying and start the new vserver afterwards.\r
-This really only makes sense if you are copying across root hosts and not\r
-changing names or IP addresses.\r
-.SH "FILES"\r
-.LP \r
-\fI/etc/vservers/vserver.conf\fP \r
-.SH "EXAMPLES"\r
-.LP \r
-# Copy a template vserver (same IP addresses etc)\r
-\r
-/usr/sbin/vserver-copy template web01\r
-\r
-# Copy webserver with change in configuration\r
-\r
-/usr/sbin/vserver-copy -i 192.168.5.62 -d example.com template web62\r
-\r
-# Move a running vserver to another roothost\r
-\r
-/usr/sbin/vserver-copy -s web62 roothost02:\r
-\r
-.SH "BUGS"\r
-.LP \r
-If a virtual server is moved from one root host to another a gratuitious\r
-ping should be sent to inform other devices on the local area network\r
-of the change in MAC address.\r
-\r
-Without this ping the devices will continue to attempt to reach the old\r
-MAC address for the length of their arp-cache timeout (10 minute default\r
-on Suns!).\r
-\r
-This functionality should probably be implmemented during the \r
-"vserver <name> start" process.\r
-.SH "AUTHOR"\r
-.LP \r
-Mark Lawrence <nomad@null.net>\r
-.SH "SEE ALSO"\r
-.LP \r
-vserver(8)\r
+.TH "vserver-copy" "8" "0.3" "Mark Lawrence <nomad@null.net>" "System Administration"
+.SH "NAME"
+.LP 
+vserver-copy \- copy/move a virtual server.
+.SH "SYNTAX"
+.LP 
+vserver-copy [\fIoptions\fP] \fIvserver\fP \fInewname\fP 
+.LP 
+vserver-copy [\fIoptions\fP] \fIvserver\fP \fIhost\fP:[\fInewname\fP]
+.SH "DESCRIPTION"
+.LP 
+vserver-copy makes a copy of a virtual server using rsync. It will
+rewrite the vserver.conf configuration file with the new hostname and
+IP information when given. If the destination name contains a host
+specification then ssh/rsh will be used for the data transfer.
+
+vserver-copy can used on a running vserver, although naturally the
+consistency of open database files and the like cannot be guaranteed.
+A running vserver can however be safely moved from one root host to another
+using the \-s flag.
+
+If downtime is an issue when moving a virtual server across hosts you
+should first run vserver without the \-s flag. This will pre\-populate the
+destination filesystem requiring only updates to be made on the next
+invocation.
+.SH "OPTIONS"
+.LP 
+.TP 
+\fB\-h\fR,\fB-\-help\fR
+output usage information and exit
+.TP 
+\fB\-V\fR,\fB-\-version\fR
+output version information and exit
+.TP 
+\fB\-v\fR,\fB-\-verbose\fR
+show all output (normally only informational messages and warnings)
+.TP 
+\fB\-q\fR,\fB-\-quiet\fR
+suppress all output
+.TP 
+\fB\-d\fR,\fB-\-domain\fR domain
+the new DNS domain when changing name. Overwrites /etc/hosts. Must be
+used with \-i
+.TP 
+\fB\-i\fR,\fB-\-ip\fR address
+the new IP address when changing name. Overwrites /etc/hosts. Must be
+used with \-d
+.TP 
+\fB\-r\fR,\fB-\-vsroot\fR
+directory containing virtual servers. Defaults to "/vserver"
+.TP 
+\fB\-R\fR,\fB-\-rsh\fR
+use rsh instead of the default ssh for network transfer
+.TP
+\fB\-s\fR,\fB-\-stopstart\fR
+stop the virtual server before copying and start the new vserver afterwards.
+This really only makes sense if you are copying across root hosts and not
+changing names or IP addresses.
+.SH "FILES"
+.LP 
+\fI/etc/vservers/vserver.conf\fP 
+.SH "EXAMPLES"
+.LP 
+# Copy a template vserver (same IP addresses etc)
+
+/usr/sbin/vserver-copy template web01
+
+# Copy webserver with change in configuration
+
+/usr/sbin/vserver-copy -i 192.168.5.62 -d example.com template web62
+
+# Move a running vserver to another roothost
+
+/usr/sbin/vserver-copy -s web62 roothost02:
+
+.SH "BUGS"
+.LP 
+If a virtual server is moved from one root host to another a gratuitious
+ping should be sent to inform other devices on the local area network
+of the change in MAC address.
+
+Without this ping the devices will continue to attempt to reach the old
+MAC address for the length of their arp-cache timeout (10 minute default
+on Suns!).
+
+This functionality should probably be implmemented during the 
+"vserver <name> start" process.
+.SH "AUTHOR"
+.LP 
+Mark Lawrence <nomad@null.net>
+.SH "SEE ALSO"
+.LP 
+vserver(8)
diff --git a/missing b/missing
index 09edd88..894e786 100755 (executable)
--- a/missing
+++ b/missing
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2005-02-08.22
+scriptversion=2005-06-08.21
 
 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
 #   Free Software Foundation, Inc.
@@ -19,8 +19,8 @@ scriptversion=2005-02-08.22
 
 # 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.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -297,6 +297,9 @@ WARNING: \`$1' is $msg.  You should only need it if
       # ... or it is derived from the source name (dir/f.texi becomes f.info)
       test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
     fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
     touch $file
     ;;
 
index 8e0f72b..8c953aa 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: pathconfig.h.pathsubst,v 1.11 2004/08/19 14:06:59 ensc Exp $    --*- c++ -*--
+// $Id: pathconfig.h.pathsubst 2283 2006-09-10 17:07:57Z hollow $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/scripts/chbind b/scripts/chbind
new file mode 100755 (executable)
index 0000000..ae82ed0
--- /dev/null
@@ -0,0 +1,132 @@
+#! /bin/bash
+# $Id: chbind 2394 2006-11-23 21:12:26Z dhozac $
+
+# Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+# Copyright (C) 2006 Daniel Hokka Zakrisson
+#  
+# 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.
+
+: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+    echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
+    exit 1
+}
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+function showHelp()
+{
+    echo \
+$"Usage: $1  [--silent] [--nid <nid>] [--ip <ip_num>[/<mask>]]
+             [--bcast <broadcast>] [--] <commands> <args>*
+
+--silent
+    Do not print the addresses assigned.
+--nid <nid>
+    Network context id to use.
+--ip <ip_num>[/<mask>]
+    IP address to bind to.
+--bcast <broadcast>
+    Broadcast address for the network context.
+
+Report bugs to <$PACKAGE_BUGREPORT>."
+    exit $2
+}
+
+function showVersion()
+{
+    echo \
+$"chbind $PACKAGE_VERSION -- bind to IP addresses and execute a program
+This program is part of $PACKAGE_STRING
+
+Copyright (C) 2004 Enrico Scholz
+Copyright (C) 2006 Daniel Hokka Zakrisson
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License.  This program has absolutely no warranty."
+    exit $1
+}
+
+tmp=$(getopt -o + --long ncap:,nid:,ip:,bcast:,disconnect,flag:,secure,silent,help,version -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+OPT_CAPS=()
+OPT_NID=
+OPT_DISCONNECT=
+OPT_FLAGS=()
+OPT_SECURE=
+OPT_SILENT=
+OPT_BCAST=
+OPT_IPS=()
+
+while true; do
+    case "$1" in
+       --help)         showHelp $0 0;;
+       --version)      showVersion 0;;
+       --ncap)         OPT_CAPS=( "${OPT_CAPS[@]}" "$2" ); shift;;
+       --nid)          OPT_NID=$2; shift;;
+       --disconnect)   OPT_DISCONNECT=1;;
+       --flag)         OPT_FLAGS=( "${OPT_FLAGS[@]}" "$2" ); shift;;
+       --secure)       OPT_SECURE=1;;
+       --silent)       OPT_SILENT=1;;
+       --ip)           OPT_IPS=( "${OPT_IPS[@]}" --ip "$2" ); shift;;
+       --bcast)        OPT_BCAST=$2; shift;;
+       --)             shift; break;;
+       *)              echo $"chbind: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
+done
+
+$_VSERVER_INFO - FEATURE vnet || exec $_CHBIND_COMPAT \
+       ${OPT_NID:+--nid "$OPT_NID"} \
+       ${OPT_SILENT:+--silent} \
+       ${OPT_BCAST:+--bcast "$OPT_BCAST"} \
+       "${OPT_IPS[@]}" \
+       -- "$@"
+
+create_cmd=( $_NCONTEXT --create --silentexist
+            ${OPT_SILENT:+--silent}
+            ${OPT_NID:+--nid "$OPT_NID"} )
+
+chain_cmd=()
+
+old_IFS=$IFS
+IFS=,$IFS
+
+chain_cmd=( "${chain_cmd[@]}"
+               --
+               $_NATTRIBUTE --set
+               ${OPT_SECURE:+--secure}
+               ${OPT_CAPS:+--ncap "${OPT_CAPS[*]}"}
+               ${OPT_FLAGS:+--flag "${OPT_FLAGS[*]}"}
+               --
+               $_NADDRESS --add
+               ${OPT_SILENT:+--silent}
+               ${OPT_BCAST:+--bcast "$OPT_BCAST"}
+               "${OPT_IPS[@]}" )
+
+migrate_cmd=( $_NCONTEXT
+             ${OPT_SILENT:+--silent}
+             ${OPT_DISCONNECT:+--disconnect} )
+
+IFS=$old_IFS
+
+if test -z "$OPT_NID" || $_VSERVER_INFO -q "$OPT_NID" XIDTYPE static; then
+    "${create_cmd[@]}" "${chain_cmd[@]}" -- "$@"
+    rc=$?
+else
+    rc=254
+fi
+
+test "$rc" -ne 254 || exec "${migrate_cmd[@]}" --nid "$OPT_NID" --migrate -- "$@"
+exit $rc
index bfe2d51..905d7e3 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: chcontext,v 1.19 2005/04/08 19:14:47 ensc Exp $
+# $Id: chcontext 2383 2006-11-17 18:48:33Z dhozac $
 
 # Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -27,7 +27,7 @@ test -e "$UTIL_VSERVER_VARS" || {
 function showHelp()
 {
     echo \
-$"Usage: /usr/sbin/chcontext [--cap [!]<cap_name>] [--secure] [--xid <num>] [--disconnect]
+$"Usage: $1 [--cap [!]<cap_name>] [--secure] [--xid <num>] [--disconnect]
        [--domainname <name>] [--hostname <name>] [--flag <flags>+]
        [--silent] [--] command arguments ...
 
@@ -84,7 +84,7 @@ By default, a new/unused context is allocated
     Do not print the allocated context number.
 
 Report bugs to <$PACKAGE_BUGREPORT>."
-    exit $1
+    exit $2
 }
 
 function showVersion()
@@ -114,8 +114,8 @@ OPT_INITPID=
 
 while true; do
     case "$1" in
-       --help)         showHelp $0 ;;
-       --version)      showVersion ;;
+       --help)         showHelp $0 0;;
+       --version)      showVersion 0;;
        --cap)          OPT_CAPS=( "${OPT_CAPS[@]}" "$2" ); shift;;
        --ctx|--xid)    OPT_CTX=$2; shift;;
        --disconnect)   OPT_DISCONNECT=1;;
@@ -153,9 +153,9 @@ test -z "$OPT_DOMAINNAME$OPT_HOSTNAME" || \
 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}
index a8f451d..d2e00d3 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: functions,v 1.62 2005/07/03 17:42:49 ensc Exp $ --*- sh -*--
+# $Id: functions 2420 2006-12-09 16:02:03Z dhozac $    --*- sh -*--
 
-# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+# Copyright (C) 2003,2004,2005,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
@@ -84,6 +84,29 @@ function getPhysicalDir
     ( set -P && cd "$1" && pwd )
 }
 
+## Usage:: isDirectoryEmpty <dir> [<ignore-lost+found>]
+function isDirectoryEmpty
+{
+    (
+       shopt -s dotglob  || *
+       shopt -s nullglob || *
+
+       ignore_lostfound=1
+       test -z "$2" -o "$2" = 0 || ignore_lostfound=
+       
+       for i in "$1"/*; do
+           case "$i" in
+               ($1/lost+found)
+                   test "$ignore_lostfound" || exit 1
+                   ;;
+               (*)     echo "$i"; exit 1
+           esac
+        done
+
+       exit 0
+    )
+}
+
 ## Usage: logging <message>
 function logging
 {
@@ -180,11 +203,34 @@ function colorize
          esac
        fi
            
-       "$@"
+       ( "$@" )
        echo -ne "\e[m"
     fi
 }
 
+function colpanic
+{
+    if test -n "$_VS_ERRFILE"; then
+       echo "$@" >>"$_VS_ERRFILE"
+    else
+       colorize error echo -n "$@" >&2
+    fi
+    echo
+
+    exit 1
+}
+
+function colwarning
+{
+    colorize warning warning "$@"
+}
+
+function colinfo
+{
+    colorize info    echo "$@"
+}
+
+
 ## Usage: xtermTitle <title>
 function xtermTitle
 {
@@ -196,7 +242,7 @@ _VS_LOCKS=''
 ## Usage: lock <lockfile> [<timeout>]
 function lock
 {
-    local tmp=$($_MKTEMP /tmp/vserver-lock.XXXXXX)
+    local tmp=$($_MKTEMP vserver-lock.XXXXXX)
     $_RM -f $tmp
     $_MKFIFO -m600 $tmp
 
@@ -222,6 +268,30 @@ function unlock
     _VS_LOCKS="$@"
 }
 
+function get_init_cwd
+{
+    if test -n "$INIT_CWD"; then
+       echo "$INIT_CWD"
+    else
+       pwd
+    fi
+}
+function set_init_cwd
+{
+    INIT_CWD="`pwd`"
+    export INIT_CWD
+}
+
+function _getVserverDir
+{
+    local vserver="$1"
+    case "$vserver" in
+       ./*) VSERVER_DIR="`get_init_cwd`/$vserver";;
+       /*)  VSERVER_DIR="$vserver"               ;;
+       *)   VSERVER_DIR="$__CONFDIR/$vserver"    ;;
+    esac
+}
+
 function _pkgMountBindDir()
 {
     test "$1" != "$2" || return 0
@@ -434,6 +504,18 @@ function isAvoidNamespace
          -e "$cfgdir"/nonamespace
 }
 
+function isNamespaceCleanup
+{
+    local cfgdir
+
+    $_VSERVER_INFO - FEATURE namespace   || return 1
+    cfgdir=$($_VSERVER_INFO "$1" CFGDIR) || return 1
+    test -e "$cfgdir"/namespace-cleanup  && return 0
+    test -e "$cfgdir"/nonamespace-cleanup -o \
+         -e "$__CONFDIR"/.defaults/nonamespace-cleanup && return 1
+    return 0
+}
+
 ## Usage: getAllVservers <var> [<KIND>*]
 function getAllVservers
 {
@@ -554,13 +636,17 @@ function getFileValue
     eval read "$_gfv_var" <"$_gfv_file"
 }
 
-## Called as 'getFileArray <varname> <filename>'
+## Called as 'getFileArray <varname> <filename>+'
 function getFileArray
 {
-    test -r "$2" || return 1
-    
+    local _gfa_var=$1
+    local _gfa_file
+    shift
+
+    findFile _gfa_file "$@" ''
+    test -n "$_gfa_file" -a -r "$_gfa_file" || return 0
     local IFS=$_VS_NEWLINE
-    eval "$1"='( $(< "$2") )'
+    eval "$_gfa_var"='( $(< "$_gfa_file") )'
 }
 
 function checkComponents
@@ -643,6 +729,11 @@ function killContext
     #$_VKILL -s CONT   --xid "$1" 1 &>/dev/null || :
 }
 
+function useVlogin
+{
+    test ! -e "$__CONFDIR/.defaults/apps/vlogin/disable"
+}
+
 ## Usage: pkgmgmt.guessStyle <vserver> <resultvar>
 function pkgmgmt.guessStyle()
 {
@@ -923,7 +1014,7 @@ function vshelper.doDestroy
 function vshelper.initSync
 {
     local _vis_tmpdir
-    _vis_tmpdir=$($_MKTEMPDIR /tmp/vserver-stop.XXXXXX) || {
+    _vis_tmpdir=$($_MKTEMPDIR vserver-stop.XXXXXX) || {
        warning $"Failed to generate temporary directory for vshelper sync"
        return 1
     }
@@ -946,6 +1037,30 @@ function vshelper.getSyncTimeout
     eval $2=\$_vgst_tmp
 }
 
+function vshelper.initStopSync
+{
+       local _iss_sync_dir=$($_MKTEMPDIR vshelper-stop-sync.XXXXXX) || {
+               warning $"Failed to generate directory for vshelper sync"
+               exit 1
+       }
+       $_MKFIFO -m700 "$_iss_sync_dir/pipe"
+
+       eval "$1"=\$_iss_sync_dir
+       VSHELPER_STOP_SYNC="$_iss_sync_dir/pipe"
+       export VSHELPER_STOP_SYNC
+}
+
+function vshelper.waitForStopSync
+{
+       local sync_dir=$1
+       cat "$sync_dir/pipe" &> /dev/null
+       rm -fr "$sync_dir"
+}
+
+function vshelper.doStopSync
+{
+       test ! -p "$VSHELPER_STOP_SYNC" || echo stopped > "$VSHELPER_STOP_SYNC"
+}
 
 function _rpmFake.getCapFlags
 {
index d7b968f..792d563 100755 (executable)
@@ -295,7 +295,7 @@ fi
 
 info "Syncing directories"
 # trailing slashes very important in the rsync!
-if ! rsync -avxz $rsflag $shcmd $vroot/ $dhost$colon$target/; then
+if ! rsync -Havxz --numeric-ids $rsflag $shcmd $vroot/ $dhost$colon$target/; then
        error 1 "rsync failed"
 fi
 
diff --git a/scripts/magic.mime b/scripts/magic.mime
new file mode 100644 (file)
index 0000000..0e10d84
--- /dev/null
@@ -0,0 +1,19 @@
+# Borrowed from file(1)
+# gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver)
+0      string          \037\213                application/x-gzip
+# tar posix
+257    string          ustar\0                 application/x-tar
+# tar gnu
+257    string          ustar\040\040\0         application/x-tar
+# cpio
+0      short           070707                  application/x-cpio
+# cpio swapped
+0      short           0143561                 application/x-cpio
+# bzip2
+0      string          BZh                     application/x-bzip2
+# dump/restore new-fs big and little endian
+24     belong          60012                   application/x-dump
+24     lelong          60012                   application/x-dump
+# dump/restore old-fs big and little endian
+24     belong          60011                   application/x-dump
+24     lelong          60011                   application/x-dump
index 99cc96c..7d07458 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# $Id: pkgmgmt,v 1.13 2005/07/03 17:43:34 ensc Exp $
+# $Id: pkgmgmt 2291 2006-09-12 10:47:38Z dhozac $
 
 # Copyright (C) 2004,2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -94,7 +94,7 @@ function _substFile()
     
     $_CHROOT_SH testfile "$file" || return 0
 
-    local tmp=$($_MKTEMP /tmp/pkgmgmt_subst.XXXXXX)
+    local tmp=$($_MKTEMP pkgmgmt_subst.XXXXXX)
     trap "$_RM -f $tmp" EXIT
 
     $_CHROOT_SH cat "$file" | \
@@ -113,7 +113,7 @@ function _hashAuto()
 
     $_CHROOT_SH testfile "$file" || return 0
     
-    local tmp=$($_MKTEMP /tmp/apt.conf.XXXXXX)
+    local tmp=$($_MKTEMP apt.conf.XXXXXX)
     trap "$_RM -f $tmp" EXIT
 
     $_CHROOT_SH cat "$file" | \
@@ -130,7 +130,7 @@ function _unhashAuto()
     test -e "$1" || return 0
 
     local hash=$2
-    local tmp=$($_MKTEMP /tmp/apt.conf.XXXXXX)
+    local tmp=$($_MKTEMP apt.conf.XXXXXX)
     trap "$_RM -f $tmp" EXIT
 
     $_SED -e "s|^$hash$hash\(.*@autogenerated@\)|\1|" "$1" >$tmp
@@ -160,8 +160,9 @@ function _mountFilesystems()
     }
     test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1"
     
-    _mountFilesystemsInternal "$cfgdir"/fstab       $_CHBIND "${CHBIND_OPTS[@]}" || return 1
-    _mountFilesystemsInternal "$cfgdir"/fstab.local $_CHBIND "${CHBIND_OPTS[@]}" || return 1
+    _mountFilesystemsInternal "$cfgdir"/fstab                                     || return 1
+    _mountFilesystemsInternal "$cfgdir"/fstab.local                               || return 1
+    _mountFilesystemsInternal "$cfgdir"/fstab.remote $_CHBIND "${CHBIND_OPTS[@]}" || return 1
 }
 
 function _umountFilesystems()
@@ -176,8 +177,9 @@ function _umountFilesystems()
     test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1"
 
     pushd "$vdir/" >/dev/null || return 1
-       _umountVserverInternal  "$cfgdir"/fstab.local                              || is_ok=
-       _umountVserverInternal  "$cfgdir"/fstab       $_CHBIND "${CHBIND_OPTS[@]}" || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab.remote $_CHBIND "${CHBIND_OPTS[@]}" || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab.local                               || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab                                     || is_ok=
     popd >/dev/null           || return 1
     
     test -n "$is_ok"
@@ -350,7 +352,7 @@ Can not continue; use '--force' to override this check"
     if test -n "$is_internalize"; then
        :
     else
-       tmpdir=$($_MKTEMPDIR /var/tmp/pgmgmt.XXXXXX)
+       tmpdir=$($_MKTEMPDIR -p /var/tmp pkgmgmt.XXXXXX)
        trap "$_RM -rf $tmpdir" EXIT
        pushd "$vdir" >/dev/null
        $_EXEC_CD /var/lib $_MV rpm $tmpdir/
index f35bf13..f02d3a3 100755 (executable)
@@ -52,7 +52,27 @@ the GNU General Public License.  This program has absolutely no warranty."
 
 function verifyVserver()
 {
-    true
+    local xtra="${2:+ mentioned in '$2'}"
+    case x$1 in
+       (x\#*|x)
+               return 1;;      # skip empty and comment lines
+       ($__CONFDIR/*)
+               warning "This version of 'start-vservers' supports only short vserver names; try to remove the '$__CONFDIR' from '$1'$xtra"
+               return 1
+               ;;
+       (/*)
+               warning "This version of 'start-vservers' supports only short vserver names; '$1'$xtra is not possible"
+               return 1
+               ;;
+       (*)
+               $_VSERVER_INFO -q "$__CONFDIR/$1" VDIR || {
+                       warning "Vserver '$1'$xtra does not exist; skipping it..."
+                       return 1;
+               }
+               ;;
+    esac
+
+    return 0
 }
 
 ###
@@ -68,6 +88,7 @@ eval set -- "$tmp"
 declare -a tmp_vservers=()
 declare -r TAB=$(echo -en "\t")
 OPTION_MARK=
+OPTION_MARK_ANY=1
 OPTION_PARALLEL=99
 OPTION_DEBUG=
 NOOPTION_DEBUG=1
@@ -84,7 +105,7 @@ while true; do
        (--help)        showHelp    $0 ;;
        (--version)     showVersion $0 ;;
        (-c)            CONFDIR=$2;     shift;;
-       (-m)            OPTION_MARK=$2; shift;;
+       (-m)            OPTION_MARK=$2; OPTION_MARK_ANY=; shift;;
        (-j)            OPTION_PARALLEL=$2; shift;;
        (--start)       OPTION_FLAVOR=start;;
        (--stop)        OPTION_FLAVOR=stop;;
@@ -109,15 +130,16 @@ while test $i -gt 0; do
     let --i
     d=$__CONFDIR/${vservers[$i]}/apps/init
     f=$d/mark
+    { test -n "$OPTION_MARK_ANY"; } || \
     { test -n "$OPTION_MARK" -a -r "$f" && grep -qx "$OPTION_MARK" "$f"; } || \
     { test -z "$OPTION_MARK" && test ! -e "$f"; } || \
     unset vservers[$i]
 done
 
-makedir=$($_MKTEMPDIR /tmp/vserver-init.XXXXXX)
-okfile=$($_MKTEMP     /tmp/vserver-init.XXXXXX)
-passedfile=$($_MKTEMP /tmp/vserver-init.XXXXXX)
-trap "$_RM -rf $makedir $resultfile $passedfile" EXIT
+makedir=$($_MKTEMPDIR vserver-init.XXXXXX)
+okfile=$($_MKTEMP     vserver-init.XXXXXX)
+passedfile=$($_MKTEMP vserver-init.XXXXXX)
+trap "$_RM -rf $makedir $okfile $passedfile" EXIT
 
 test_cmd=false
 case "$OPTION_FLAVOR" in
@@ -137,6 +159,8 @@ EOF
 
     echo -ne "all:\t"
     for i in "${vservers[@]}"; do
+       verifyVserver "$i" || continue
+
        echo -n ".$i.stamp "
     done
     echo
@@ -148,24 +172,25 @@ for i in "${vservers[@]}"; do
     test -e "$d"/depends || continue
     cat "$d"/depends
 done | sort -u | while read vserver; do
+    verifyVserver "$vserver" || continue
     d="$__CONFDIR/$vserver"/apps/init
 
     case "$OPTION_FLAVOR" in
-       start)
+       (start)
            if test -e "$d"/depends; then
                echo -ne ".$vserver.stamp:\t"
                cat "$d"/depends | while read dep; do
-                   verifyVserver "$dep"
+                   verifyVserver "$dep" "$d"/depends || continue
                    echo -n ".$dep.stamp "
                done
                echo
            fi >>$makedir/Makefile
            ;;
-       stop)
+       (stop)
            if test -e "$d"/depends; then
                cat "$d"/depends | while read dep; do
-                   verifyVserver "$dep"
-                   echo -ne ".$dep.stamp:\t.$vserver.stamp"
+                   verifyVserver "$dep" "$d"/depends || continue
+                   echo -e ".$dep.stamp:\t.$vserver.stamp"
                done
                echo
            fi >>$makedir/Makefile
index 324d1f1..1a8daf2 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vapt-get,v 1.14 2005/01/27 21:24:44 ensc Exp $
+# $Id: vapt-get 2335 2006-09-28 15:10:29Z dhozac $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -31,7 +31,7 @@ function showHelp()
 $"Usage: $0 <vserver-name>* [--all] -- <params>+
 
 Report bugs to <$PACKAGE_BUGREPORT>."
-    exit $1
+    exit 0
 }
 
 function showVersion()
@@ -40,60 +40,35 @@ function showVersion()
 $"vapt-get $PACKAGE_VERSION -- apt-get for vservers
 This program is part of $PACKAGE_STRING
 
-Copyright (C) 2003 Enrico Scholz
+Copyright (C) 2006 Enrico Scholz
 This program is free software; you may redistribute it under the terms of
 the GNU General Public License.  This program has absolutely no warranty."
-    exit $1
+    exit 0
 }
 
-is_quiet=
-declare -a vservers=()
+tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
 
-while test "$#" -ge 1; do
+declare -a send_through vsomething_opts
+
+while true; do
     case "$1" in
-       --)             shift; break;;
-       --help)         showHelp 0;;
-       --quiet|-q)     is_quiet=1 ;;
-       --all)
-           getAllVservers tmp
-           vservers=( "${vservers[@]}" "${tmp[@]}" )
-           ;;
-       --version)
-           showVersion 0;;
-       *)  vservers=( "${vservers[@]}" "$1" )
-     esac
-     shift
+       (--help)        showHelp $0 ;;
+       (--version)     showVersion ;;
+       (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
+       (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--)            shift; break;;
+       (*)             echo $"vapt-get: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
 done
 
-test "$#" -ge 1 || showHelp 1 >&2
-test "${#vservers[@]}" -ne 1 || is_quiet=1
-
-cnt=0
-res=255
-for i in "${vservers[@]}"; do
-    cnt=$[ cnt + 1 ]
+VSOMETHING_TITLE=vapt-get
+VSOMETHING_WORKER=$_VAPT_GET_WORKER
+VSOMETHING_PKGMGMT=1
 
-    test -n "$is_quiet" || {
-       colorize bold echo -n "vaptget: operating on vserver "
-       colorize bold colorize emph echo "$i"
-       xtermTitle "vaptget: operating on vserver '$i'  [$cnt/${#vservers[@]}]"
-    }
-    
-    if pkgmgmt.isInternal "$i"; then
-       $_VSERVER "$i" exec apt-get "$@"
-    else
-       callInNamespace "$i" \
-           "$_VNAMESPACE" --new -- "$_VAPT_GET_WORKER" "$i" "$@"
-    fi
-    res=$?
-
-    test $res -eq 0 -o -n "$is_quiet" || {
-       colorize error echo -n $"vapt-get failed on vserver '$i' with errorcode $res"
-       echo
-    }
-       
-    test -n "$is_quiet" || echo
-done
+export VSOMETHING_TITLE VSOMETHING_WORKER VSOMETHING_PKGMGMT
 
-test "$cnt" -ge 0 || echo "No vservers specified" >&2
-exit $res
+test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- )
+exec $_VSOMETHING "${send_through[@]}" ${APT_GET:-apt-get} "${vsomething_opts[@]}" "$@"
index 1ffeebb..7ff5815 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vapt-get-worker,v 1.8 2005/02/25 21:51:02 ensc Exp $
+# $Id: vapt-get-worker 1870 2005-02-25 21:51:02Z ensc $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
diff --git a/scripts/vdispatch-conf b/scripts/vdispatch-conf
new file mode 100755 (executable)
index 0000000..7f6614c
--- /dev/null
@@ -0,0 +1,72 @@
+#!/bin/bash
+# $Id: vdispatch-conf 2363 2006-11-03 14:36:23Z hollow $
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# 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.
+
+: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+    echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
+    exit 1
+}
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+
+function showHelp()
+{
+    echo \
+$"Usage: $0 <vserver-name>* [--all] -- <params>+
+
+Report bugs to <$PACKAGE_BUGREPORT>."
+    exit 0
+}
+
+function showVersion()
+{
+    echo \
+$"vdispatch-conf $PACKAGE_VERSION -- dispatch-conf for vservers
+This program is part of $PACKAGE_STRING
+
+Copyright (C) 2006 Benedikt Boehm
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License.  This program has absolutely no warranty."
+    exit 0
+}
+
+tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+declare -a send_through vsomething_opts
+
+while true; do
+    case "$1" in
+       (--help)        showHelp $0 ;;
+       (--version)     showVersion ;;
+       (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
+       (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--)            shift; break;;
+       (*)             echo $"vdispatch-conf: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
+done
+
+VSOMETHING_TITLE=vemerge
+VSOMETHING_PKGMGMT=1
+
+export VSOMETHING_TITLE VSOMETHING_PKGMGMT
+
+exec $_VSOMETHING "${send_through[@]}" dispatch-conf "${vsomething_opts[@]}"
diff --git a/scripts/vemerge b/scripts/vemerge
new file mode 100755 (executable)
index 0000000..639fdd1
--- /dev/null
@@ -0,0 +1,73 @@
+#!/bin/bash
+# $Id: vemerge 2363 2006-11-03 14:36:23Z hollow $
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# 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.
+
+: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+    echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
+    exit 1
+}
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+
+function showHelp()
+{
+    echo \
+$"Usage: $0 <vserver-name>* [--all] -- <params>+
+
+Report bugs to <$PACKAGE_BUGREPORT>."
+    exit 0
+}
+
+function showVersion()
+{
+    echo \
+$"vemerge $PACKAGE_VERSION -- emerge for vservers
+This program is part of $PACKAGE_STRING
+
+Copyright (C) 2006 Benedikt Boehm
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License.  This program has absolutely no warranty."
+    exit 0
+}
+
+tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+declare -a send_through vsomething_opts
+
+while true; do
+    case "$1" in
+       (--help)        showHelp $0 ;;
+       (--version)     showVersion ;;
+       (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
+       (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--)            shift; break;;
+       (*)             echo $"vemerge: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
+done
+
+VSOMETHING_TITLE=vemerge
+VSOMETHING_PKGMGMT=1
+
+export VSOMETHING_TITLE VSOMETHING_PKGMGMT
+
+test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- )
+exec $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" "$@"
diff --git a/scripts/vesync b/scripts/vesync
new file mode 100755 (executable)
index 0000000..2c98175
--- /dev/null
@@ -0,0 +1,91 @@
+#!/bin/bash
+# $Id: vesync 2363 2006-11-03 14:36:23Z hollow $
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# 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.
+
+: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+    echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
+    exit 1
+}
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+
+function showHelp()
+{
+    echo \
+$"Usage: $0 <vserver-name>* [--all] [--overlay <dir>] [--overlay-host <rsyncpath>] [--overlay-only]
+
+Report bugs to <$PACKAGE_BUGREPORT>."
+    exit 0
+}
+
+function showVersion()
+{
+    echo \
+$"vesync $PACKAGE_VERSION -- portage cache sync for vservers
+This program is part of $PACKAGE_STRING
+
+Copyright (C) 2006 Benedikt Boehm
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License.  This program has absolutely no warranty."
+    exit 0
+}
+
+tmp=$(getopt -o +q --long help,version,debug,quiet,all,overlay,overlay-host,overlay-only -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+declare -a send_through vsomething_opts
+overlay=
+overlay_host=
+overlay_only=0
+
+while true; do
+    case "$1" in
+       (--help)         showHelp $0 ;;
+       (--version)      showVersion ;;
+       (--debug)        send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)     send_through=( "${send_through[@]}" "$1" );;
+       (--all)          vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--overlay)      overlay="${2%/}";;
+       (--overlay-host) overlay_host="${2%/}";;
+       (--overlay-only) overlay_only=1;;
+       (--)             shift; break;;
+       (*)              echo $"vesync: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
+done
+
+VSOMETHING_TITLE=vesync
+VSOMETHING_PKGMGMT=1
+
+export VSOMETHING_TITLE VSOMETHING_PKGMGMT
+
+test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- )
+
+ret=0
+
+test $overlay_only -eq 0 && \
+       $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" --metadata
+
+ret=$?
+
+test -n "$overlay" -a -n "$overlay_host" && \
+       $_VSOMETHING "${send_through[@]}" rsync "${vsomething_opts[@]}" \
+       -rtW --progress --delete --delete-after "${overlay_host}/" "${overlay}/"
+
+test $? -eq 0 -a $ret -eq 0
index 30aa766..8d302f6 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# $Id: vpkg,v 1.11 2005/03/18 00:23:02 ensc Exp $
+# $Id: vpkg 1919 2005-03-18 00:23:02Z ensc $
 
 # Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index cc337e4..f71ded7 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# $Id: vprocunhide,v 1.8 2005/04/10 00:55:51 ensc Exp $
+# $Id: vprocunhide 2011 2005-04-10 00:55:51Z ensc $
 #
 # Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 1ae226a..2962353 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vrpm,v 1.13 2005/01/27 21:24:44 ensc Exp $
+# $Id: vrpm 2303 2006-09-12 12:39:00Z dhozac $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -24,14 +24,14 @@ test -e "$UTIL_VSERVER_VARS" || {
 . "$UTIL_VSERVER_VARS"
 . "$_LIB_FUNCTIONS"
 
+
 function showHelp()
 {
     echo \
-$"Usage: $0 <vserver-name>* [--all] [--quiet|-q] [--help] [--version] [--unify] -- <rpm-params>+
+$"Usage: $0 <vserver-name>* [--all] -- <params>+
 
 Report bugs to <$PACKAGE_BUGREPORT>."
-
-    exit $1
+    exit 0
 }
 
 function showVersion()
@@ -40,71 +40,35 @@ function showVersion()
 $"vrpm $PACKAGE_VERSION -- rpm for vservers
 This program is part of $PACKAGE_STRING
 
-Copyright (C) 2003 Enrico Scholz
+Copyright (C) 2006 Enrico Scholz
 This program is free software; you may redistribute it under the terms of
 the GNU General Public License.  This program has absolutely no warranty."
-    
-    exit $1
+    exit 0
 }
 
-do_unify=
-is_quiet=
-declare -a vservers=()
+tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+declare -a send_through vsomething_opts
 
-while test "$#" -ge 1; do
+while true; do
     case "$1" in
-       --quiet|-q)
-           is_quiet=1
-           ;;
-       --all)
-           getAllVservers tmp
-           vservers=( "${vservers[@]}" "${tmp[@]}" )
-           ;;
-       --unify)
-           do_unify=1
-           ;;
-       --)
-           shift; break;;
-       --help)
-           showHelp 0;;
-       --version)
-           showVersion 0;;
-       *)  vservers=( "${vservers[@]}" "$1" )
-     esac
-     shift
+       (--help)        showHelp $0 ;;
+       (--version)     showVersion ;;
+       (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
+       (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--)            shift; break;;
+       (*)             echo $"vrpm: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
 done
 
-test "$#" -ge 1 || showHelp 1 >&2
-test "${#vservers[@]}" -ne 1 || is_quiet=1
-
-cnt=0
-res=255
-
-for i in "${vservers[@]}"; do
-    cnt=$[ cnt + 1 ]
+VSOMETHING_TITLE=vrpm
+VSOMETHING_WORKER=$_VRPM_WORKER
+VSOMETHING_PKGMGMT=1
 
-    test -n "$is_quiet" || {
-       colorize bold echo -n "vrpm: operating on vserver "
-       colorize bold colorize emph echo "$i"
-       xtermTitle "vrpm: operating on vserver '$i'  [$cnt/${#vservers[@]}]"
-    }
-
-    if pkgmgmt.isInternal "$i"; then
-       $_VSERVER "$i" exec rpm "$@"
-    else
-       callInNamespace "$i" \
-           "$_VNAMESPACE" --new -- "$_VRPM_WORKER" "$i" "$@"
-    fi
-    res=$?
-
-    test $res -eq 0 -o "$is_quiet" || {
-       colorize error echo -n $"vrpm failed on vserver '$i' with errorcode $res"
-       echo
-    }
-
-    test -n "$is_quiet" || echo
-done
+export VSOMETHING_TITLE VSOMETHING_WORKER VSOMETHING_PKGMGMT
 
-test -z "$do_unify" || echo "unify currently unsupported" >&2
-test "$cnt" -ge 0   || echo "No vservers specified" >&2
-exit $res
+test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- )
+exec $_VSOMETHING "${send_through[@]}" rpm "${vsomething_opts[@]}" "$@"
index 7517aa0..fe8dfa3 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vrpm-preload,v 1.12 2005/01/27 21:24:44 ensc Exp $
+# $Id: vrpm-preload 1825 2005-01-27 21:24:44Z ensc $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index c271753..801da3d 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vrpm-worker,v 1.5 2004/04/08 06:05:06 ensc Exp $
+# $Id: vrpm-worker 1440 2004-04-08 06:05:06Z ensc $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index ca522e4..b71d5d4 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vserver-build,v 1.20 2005/07/03 17:45:43 ensc Exp $
+# $Id: vserver-build 2398 2006-11-24 15:20:09Z dhozac $
 
 # Copyright (C) 2003,2004,2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -51,21 +51,29 @@ Possible methods are:
     legacy      ...  the \"old\" copy-all-from-host method, which requires the
                      old legacy  vserver-legacy script;  with  this method the
                     cfg-options will be ignored
-    copy        ...  the copy-all-from-host method which uses the recent
-                     configuration scheme
-    apt-rpm ... -- -d <distribution>
+    apt-rpm     ... -- -d <distribution>
                 ...  installs the base-packages of the given distribution with
                     help of 'vapt-get'
-    yum     ... -- -d <distribution>
+    yum         ... -- -d <distribution>
                 ...  installs the base-packages of the given distribution with
                     help of 'vyum'
-    rpm     ... -- [-d <distribution>] --empty|([--force] [--nodeps] <manifest>)+
+    rpm         ... -- [-d <distribution>] --empty|([--force] [--nodeps] <manifest>)+
                 ...  installs lists of rpm-packages
-    skeleton ... -- [<cmd> <args>*]
+    skeleton    ... -- [<cmd> <args>*]
                 ...  installs a minimal skeleton filesystem, creates the
                     configuration file and calls an optional command then
-    debootstrap ... -- -d <distribution> [-m <mirror>] [-- <debootstrap-options>*]
-                     bootstraps the vserver with Debian's 'debootstrap' package
+    debootstrap ... -- -d <distribution> [-m <mirror>] [-s <script> ] [-- <debootstrap-options>*]
+                ...  bootstraps the vserver with Debian's 'debootstrap' package
+    template    ... -- (-t <tarball>)+ [-d <distribution>]
+                ...  installs a guest using tarball(s)
+    fai         ... -- [ -f <fai_vserver> ] [-n <nfsroot>] [-d <fai_dir> ] [ -a ]
+                     bootstraps the vserver with Debian Fully Automatic Installation
+                     -f means use the nfsroot and profile in the vserver <fai_vserver>
+                     -n <nfsroot> specifies the 'NFS' root explicitly
+                     -d <fai_dir> specifies the location of the FAI profile
+                     the -f option implies -n and -d are relative to the <fai_vserver>
+    rsync       ... -- [-d <distribution>] --source <source> [-o <rsync option>]*
+                ...  installs a guest by rsyncing from <source> to the guest root
 
 Please report bugs to $PACKAGE_BUGREPORT"
     exit 0
@@ -126,7 +134,7 @@ setup_setDefaults "$VSERVER_NAME"
 
 case x"$method" in
     (xlegacy)  exec $_VSERVER_LEGACY "$VSERVER_NAME" build "$@" ;;
-    (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm)
+    (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm|xtemplate|xfai|xrsync)
                . $__PKGLIBDIR/vserver-build.$method
                ;;
     (x)                panic $"No build-method specified";;
index 35c59f8..b4c2532 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.apt-rpm,v 1.15 2005/07/03 13:17:38 ensc Exp $     --*- sh -*--
+# $Id: vserver-build.apt-rpm 2162 2005-07-25 15:40:22Z ensc $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -42,6 +42,9 @@ pkgmgmt.initVariables
 rpm.initVariables
 apt.initVariables
 
+rpm.sanityCheck
+
+
 base.initFilesystem    "$OPTION_FORCE"
 pkgmgmt.initFilesystem "$OPTION_FORCE"
 rpm.initFilesystem
index 5a72044..15ab88b 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.debootstrap,v 1.13 2005/07/04 18:14:29 ensc Exp $ --*- sh -*--
+# $Id: vserver-build.debootstrap 2298 2006-09-12 11:21:38Z dhozac $    --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -48,9 +48,11 @@ function initFilesystem
 
 function findDebootstrap
 {
+    test ! -x "$DEBOOTSTRAP" || return 0
+
     pushd . &>/dev/null
     DEBOOTSTRAP=$(which debootstrap 2>/dev/null) || {
-        dir=$($_MKTEMPDIR /var/tmp/debootstrap.XXXXXX)
+        dir=$($_MKTEMPDIR -p /var/tmp debootstrap.XXXXXX)
         workdir=$dir
         dst=$dir/debootstrap.deb
         
@@ -66,7 +68,7 @@ ${tmp}..."
                $_CAT <<EOF >&2
 ERROR: Could not download the debootstrap package from
 
-   $dst
+   $tmp
 
 Usually, this means that Debian released a new version which is unknown
 to util-vserver and removed the known ones. To fix this, go to
@@ -91,6 +93,18 @@ EOF
         tar xzf data.tar.gz
         export DEBOOTSTRAP_DIR=`pwd`/usr/lib/debootstrap
         DEBOOTSTRAP=`pwd`/usr/sbin/debootstrap
+
+       local arch
+       arch=$(uname -i 2>/dev/null) || \
+           arch=$(arch 2>/dev/null) ||
+           arch=
+
+       ## Wash the calculated architecture
+       case $arch in
+           (i?86|athlon)       arch=i386;;
+       esac
+
+       test -z "$arch" || echo "$arch" >$DEBOOTSTRAP_DIR/arch
     }
     popd &>/dev/null
 
@@ -107,25 +121,26 @@ function fixupDebian
 ###   main starts here <---
 
 
-tmp=$(getopt -o '+d:m:' --long debug -n "$0" -- "$@") || exit 1
+tmp=$(getopt -o '+d:m:s:' --long debug -n "$0" -- "$@") || exit 1
 eval set -- "$tmp"
 
 init
 
 while true; do
     case "$1" in
-       -d)             DISTRIBUTION=$2; shift;;
-       -m)             mirror=$2;       shift;;
-       --debug)        set -x;;
-       --)             shift; break ;;
-       *)              echo "vserver-build.debootstrap: internal error: unrecognized option '$1'" >&2
+       (-d)            DISTRIBUTION=$2; shift;;
+       (-m)            mirror=$2;       shift;;
+       (-s)            script=$2;       shift;;
+       (--debug)       set -x;;
+       (--)            shift; break ;;
+       (*)             echo "vserver-build.debootstrap: internal error: unrecognized option '$1'" >&2
                        exit 1
                        ;;
     esac
     shift
 done
 
-getDistribution
+getDistribution '' 1
 
 initVariables  
 initFilesystem "$OPTION_FORCE"
@@ -137,7 +152,7 @@ findDebootstrap
 
 test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
 mv "$VDIR"/dev "$VDIR"/dev.X
-"$DEBOOTSTRAP" "$@" "$DISTRIBUTION" "$VDIR" "$mirror" || :     ## HACK: ignore all errors...
+"$DEBOOTSTRAP" "$@" "$DISTRIBUTION" "$VDIR" "$mirror" "$script" || :   ## HACK: ignore all errors...
 fixupDebian "$VDIR"
 test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
 
diff --git a/scripts/vserver-build.fai b/scripts/vserver-build.fai
new file mode 100644 (file)
index 0000000..b59951c
--- /dev/null
@@ -0,0 +1,171 @@
+#
+# Copyright (C) 2006 Sam Vilain <sam.vilain@catalyst.net.nz>
+#  
+# 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.
+
+tmp=$(getopt -o '+d:f:n:a' --long debug,pkgmgmt -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
+. "$__PKGLIBDIR/vserver.functions"
+
+DISTRIBUTION=:
+
+FAI_VSERVER=
+FAI_NFSROOT=/usr/lib/fai/nfsroot
+FAI_DIR=/usr/local/share/fai
+AUTO=1
+
+use_pkgmgmt=
+while true; do
+    case "$1" in
+       -f)             FAI_VSERVER=$2; shift; ;;
+       -n)             FAI_NFSROOT=$2; shift; ;;
+       -d)             FAI_DIR=$2; shift; ;;
+       -a)             AUTO=;;
+       --debug)        DEBUG=1; SH_DEBUG=-x; set -x;;
+       --)             shift; break ;;
+       *)              echo "vserver-build.fai: internal error: unrecognized option '$1'" >&2
+                       exit 1
+                       ;;
+    esac
+    shift
+done
+
+getDistribution '' 1
+
+base.init
+base.initFilesystem "$OPTION_FORCE"
+
+setup_writeOption "$VSERVER_NAME"
+setup_writeInitialFstab
+
+test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
+
+# migrate is a 2.6 feature, we need 2.6 for the secure_mount ccap
+if ! $_VSERVER_INFO - FEATURE migrate; then
+    panic $"\
+The fai build method requires kernel features that are not present
+in your kernel."
+fi
+
+# if they specified a vserver where FAI is installed, then prefix its
+# root to the FAI_NFSROOT etc (unless they have already specified a
+# $ROOTDIR-relative path)
+REAL_ROOTDIR=`getPhysicalDir "$ROOTDIR"`
+REAL_VDIR=`getPhysicalDir "$VDIR"`
+echo $"ROOTDIR is $REAL_ROOTDIR"
+echo $"VDIR    is $REAL_VDIR"
+if [ -n "$FAI_VSERVER" ]
+then
+    echo "FAI_VSERVER is $FAI_VSERVER"
+    if [ `expr "$FAI_NFSROOT" : "$REAL_ROOTDIR"` -eq 0 ]
+    then
+        FAI_NFSROOT="$REAL_ROOTDIR/$FAI_VSERVER$FAI_NFSROOT"
+    fi
+    if [ `expr "$FAI_DIR" : "$REAL_ROOTDIR"` -eq 0 ]
+    then
+        FAI_DIR="$REAL_ROOTDIR/$FAI_VSERVER$FAI_DIR"
+    fi
+fi
+echo $"FAI_NFSROOT is $FAI_NFSROOT"
+echo $"FAI_DIR     is $FAI_DIR"
+FAI_ROOT=/tmp/target
+
+if [ ! -e "$FAI_NFSROOT/usr/sbin/fai" ]
+then
+    panic $"NFSROOT not found - did you run fai-setup?"
+fi
+
+if ! grep -qw VIRTUAL "$FAI_NFSROOT/usr/sbin/fai"
+then
+    panic $"\
+ERROR: Looks like you don't have the patched FAI.
+See http://faiwiki.informatik.uni-koeln.de/index.php/Using_FAI_as_a_vserver_build_method
+for information on where to get it."
+fi
+
+set -e
+
+# suppresses color logo, as it does not leave the terminal in a nice
+# state.
+console=dummy
+
+killprocs() {
+    set +e
+    S_CONTEXT=
+    if isVserverRunning "$SETUP_CONFDIR" S_CONTEXT
+    then
+       $_VKILL -c "$S_CONTEXT" -s 15
+       sleep 2
+       $_VKILL -c "$S_CONTEXT" -s 9
+       sleep 2
+       isVserverRunning "$SETUP_CONFDIR" && warning $"\
+Vserver '$VSERVER_NAME' still running unexpectedly; please investigate it
+manually."
+    fi
+    [ -n "$HAVE_INTERFACES" ] && disableInterfaces "$SETUP_CONFDIR"
+    base.__cleanup
+}
+
+trap killprocs INT EXIT
+
+# last chance to abort!
+if [ -z "$AUTO" ]
+then
+    echo -n "Press ENTER to begin, or Ctrl+C to cancel: "
+    read junk
+fi
+
+# set up interfaces, so that the vserver can be built with restricted
+# network access.
+generateOptions "$SETUP_CONFDIR"
+enableInterfaces "$SETUP_CONFDIR"
+HAVE_INTERFACES=1
+
+rwpaths="/var/lock /var/log /dev /var/run /etc/sysconfig"
+[ -d "$FAI_NFSROOT/etc/network/run" ] && rwpaths="$rwpaths /etc/network/run"
+
+export VDIR ROOTDIR FAI_VSERVER FAI_DIR FAI_NFSROOT FAI_ROOT console
+
+[ -z "$AUTO" ] && FINAL_SHELL="exec /bin/sh -i"
+
+# set up /mnt with all the mounts required
+$_SECURE_MOUNT -n -o ro,dev --bind "$FAI_NFSROOT" /mnt
+$_SECURE_MOUNT -n -t tmpfs -o size=64m,mode=1777 vm /mnt/tmp
+$_MKDIR -p /mnt/tmp/target
+$_SECURE_MOUNT -n -o rw,dev --bind "$VDIR" /mnt/tmp/target
+$_MKDIR -p /mnt/tmp/target/proc
+$_SECURE_MOUNT -n -t proc proc /mnt/tmp/target/proc
+for x in $rwpaths
+do
+    /mnt/usr/lib/fai/mkrw -n "/mnt$x"
+done
+$_SECURE_MOUNT -n -o ro --bind "$FAI_DIR" /mnt/fai
+$_SECURE_MOUNT -n -t proc proc /mnt/proc
+
+cd /mnt
+$_CHBIND "${CHBIND_OPTS[@]}" \
+    $_VCONTEXT --create "${OPTS_VCONTEXT_CREATE[@]}" -- \
+    $_VUNAME --xid self --set -t nodename="${SETUP_HOSTNAME:-fai-build}" \
+       -t context="$SETUP_CONFDIR" -- \
+    $_VATTRIBUTE --set --xid self "${OPTS_VATTRIBUTE[@]}" --ccap secure_mount \
+    $_SAVE_CTXINFO "$SETUP_CONFDIR" \
+    $_VCONTEXT --migrate-self --endsetup --chroot $SILENT_OPT \
+       "${OPTS_VCONTEXT_MIGRATE[@]}" "${OPTS_VCONTEXT_ENTER[@]}" -- \
+    /bin/sh -c "/bin/sh $SH_DEBUG /etc/init.d/rcS -N vschild_build; $FINAL_SHELL"
+
+test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+
+base.setSuccess
index 981c037..38e6380 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.functions,v 1.18 2005/07/04 22:38:42 ensc Exp $   --*- sh -*--
+# $Id: vserver-build.functions 2315 2006-09-15 19:16:48Z hollow $      --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -20,6 +20,8 @@
 
 ROOTDIR=
 ROOTDIR_REL=
+CACHEDIR=
+CACHEDIR_REL=
 VSERVERDIRNAME=
 
 VDIR=
@@ -48,6 +50,17 @@ function makeDevEntry
     esac
 }
 
+function populateDev
+{
+    local spec
+
+    mkdir -p -m755 "$VDIR"/dev/pts
+
+    while read spec; do
+       makeDevEntry "$VDIR"/dev $spec
+    done <$_DEV_FILE
+}
+
 function populateDirectory
 {
     local dst=$1
@@ -82,6 +95,23 @@ function _setRootDir
     }
 }
 
+function _setCacheDir
+{
+    test -z "$CACHEDIR" || return 0
+    
+    for item in "\"$__CONFDIR/.defaults/cachebase\" 1" "$__PKGCACHEDIR"; do
+       eval set -- "$item"
+       CACHEDIR=$1
+       CACHEDIR_REL=$2
+       test ! -d "$CACHEDIR" || break
+    done
+
+    test -d "$CACHEDIR" || {
+       echo "Cache-directory '$CACHEDIR' does not exist or is invalid" >&2
+       exit 1
+    }
+}
+
 function _setVserverDir
 {
     test -z "$VSERVERDIRNAME" || return 0
@@ -105,7 +135,7 @@ function _renameVserverCfg
     local i
     
     for i in "$VDIR" "$SETUP_CONFDIR"; do
-       test ! -e "$i" || {
+       test ! -e "$i" || isDirectoryEmpty "$i" || {
            mv "$i" "$i$suffix"
            say "Renamed '$i' to '$i$suffix'"
        }
@@ -113,37 +143,46 @@ function _renameVserverCfg
 }
 
 
-## Usage: getDistribution [<default>]
+## Usage: getDistribution [<default>] [<ignore-config>]
 function getDistribution
 {
-    test -z "$DISTRIBUTION" || return 0
-
-    if test -e /etc/fedora-release; then
-       set -- $(cat /etc/fedora-release)
-       DISTRIBUTION=fdr$4
-    elif test -e /etc/redhat-release; then
-       set -- $(cat /etc/redhat-release)
-       DISTRIBUTION=rh$5
-    elif test -e /etc/debian_version; then
-       set -- $(cat /etc/debian_version)
-       DISTRIBUTION=deb$1
-    elif test -e /etc/SuSE-release; then
-       set -- $(cat /etc/SuSE-release)
-       DISTRIBUTION=suse$3
-    elif test -e /etc/gentoo-release; then
-       set -- $(cat /etc/gentoo-release)
-       DISTRIBUTION=gentoo$5
-    elif test -e /etc/slackware-release; then
-       set -- $(cat /etc/slackware-release)
-       DISTRIBUTION=slackware$2
-    elif test -n "$1"; then
-       DISTRIBUTION=$1
-    else
-       echo \
-"Can not determine distribution; please specify it manually
-with the '-d' option"  >&2
-       exit 1
-    fi >&2
+    local ignore_config=$2
+    
+    if test -z "$DISTRIBUTION"; then
+       if test -e /etc/fedora-release; then
+           set -- $(cat /etc/fedora-release)
+           DISTRIBUTION=fdr$4
+       elif test -e /etc/redhat-release; then
+           set -- $(cat /etc/redhat-release)
+           DISTRIBUTION=rh$5
+       elif test -e /etc/debian_version; then
+           set -- $(cat /etc/debian_version)
+           DISTRIBUTION=deb$1
+       elif test -e /etc/SuSE-release; then
+           set -- $(cat /etc/SuSE-release)
+           DISTRIBUTION=suse$3
+       elif test -e /etc/gentoo-release; then
+           set -- $(cat /etc/gentoo-release)
+           DISTRIBUTION=gentoo$5
+       elif test -e /etc/slackware-version; then
+           set -- $(cat /etc/slackware-version)
+           DISTRIBUTION=slackware$2
+       elif test -n "$1"; then
+           DISTRIBUTION=$1
+       else
+           colpanic $"\
+ERROR: Can not determine distribution; please specify it manually with
+  the '-d' option."
+       fi
+    fi
+
+    test -n "$ignore_config" -o \
+         -d "$__CONFDIR/.distributions/$DISTRIBUTION" -o \
+         -d "$__DISTRIBDIR/$DISTRIBUTION" ||
+           colpanic $"\
+ERROR: Can not find configuration for the distribution '$DISTRIBUTION';
+  please read http://linux-vserver.org/HowToRegisterNewDistributions
+  for information how to add support for your own distribution."
 }
 
 function base._addGeneratedFile
@@ -155,27 +194,21 @@ function base._addGeneratedFile
 function base.initFilesystem
 {
     test -z "$1" || _renameVserverCfg
-    test ! -d "$VDIR" -a ! -d "$SETUP_CONFDIR" || {
-       echo \
-"vserver-topdirectory '$VDIR' and/or configuration at '$SETUP_CONFDIR'
-exist already; please try to use '--force', or remove them manually"
->&2
-       exit 1
-    } >&2
+    { isDirectoryEmpty "$VDIR" && test  ! -e "$SETUP_CONFDIR"; } || colpanic $"\
+vserver-topdirectory '$VDIR' and/or configuration at '$SETUP_CONFDIR'
+exist already; please try to use '--force', or remove them manually."
 
     mkdir -p -m755 "$VDIR"
-    chattr -t "$VDIR"
+    $_SETATTR --~barrier "$VDIR"
     base._addGeneratedFile "$VDIR"
     
-    mkdir -p -m755 "$SETUP_CONFDIR"/apps "$VDIR"/{dev/pts,etc}
+    mkdir -p -m755 "$SETUP_CONFDIR"/apps "$VDIR"/etc
     base._addGeneratedFile "$SETUP_CONFDIR"
     
-    ln -s "$VDIR"       "$SETUP_CONFDIR/vdir"
+    ln -s "$VDIR"                     "$SETUP_CONFDIR/vdir"
+    ln -s "$CACHEDIR/$VSERVERDIRNAME" "$SETUP_CONFDIR/cache"
 
-    local spec
-    while read spec; do
-       makeDevEntry "$VDIR"/dev $spec
-    done <$_DEV_FILE
+    populateDev
 
     mkdir -p "$VDIR"/proc
     findAndCopy "$VDIR"/etc/hosts         "$__CONFDIR"/.defaults/files/hosts "$__CONFDIR/.distributions/$DISTRIBUTION"/files/hosts \
@@ -189,6 +222,7 @@ exist already; please try to use '--force', or remove them manually"
 function base._initVariables
 {
     _setRootDir
+    _setCacheDir
     _setVserverDir
     _setVdir
 
@@ -203,7 +237,7 @@ function base.__cleanup
     test -z "$OPTION_KEEP"    || return 0
     test -z "$__BASE_SUCCESS" || return 0
     
-    echo rm -rf "${__BASE_GENERATED_FILES[@]}"
+    rm -rf "${__BASE_GENERATED_FILES[@]}"
 }
 
 function base.init
index 4973fed..dbf26b1 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.functions.apt,v 1.8 2005/04/16 21:20:45 ensc Exp $        --*- sh -*--
+# $Id: vserver-build.functions.apt 2030 2005-04-16 21:20:45Z ensc $    --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 2d0bfbb..c2e076d 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.functions.pkgmgmt,v 1.9 2005/06/30 06:16:41 ensc Exp $    --*- sh -*--
+# $Id: vserver-build.functions.pkgmgmt 2110 2005-06-30 06:16:58Z ensc $        --*- sh -*--
 
 # Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 9aa499d..528e4ab 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.functions.rpm,v 1.8 2005/04/16 21:20:45 ensc Exp $        --*- sh -*--
+# $Id: vserver-build.functions.rpm 2311 2006-09-13 22:18:55Z dhozac $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -52,6 +52,7 @@ function rpm.initFilesystem
 {
     test -z "$WORKAROUND_106057" || mkdir -p "$RPMDB_PATH"
     mkdir -p "$VDIR$RPMDB_PATH"
+    mkdir -p "$VDIR/var/lock/rpm"
 
     test -z "$WORKAROUND_APT_DBPATH" || {
        mkdir -p "$VDIR/var/lib"
@@ -124,3 +125,18 @@ function rpmlist.initByDistribution()
 
     eval "$1"='( "${_rlid_res[@]}" )'
 }
+
+
+## Usage: rpm.sanityCheck
+function rpm.sanityCheck
+{
+    test -x "$BUILD_INITPRE" || colorize warn warning $"\
+WARNING: you are going to use an rpm-based installation method without
+  having an 'initpre' script. Such a script is highly recommend to
+  workaround bugs in rpm which can cause messages like
+
+  | error: unpacking of archive failed on file /usr/bin/X11;42dd8791:
+
+  Please read http://linux-vserver.org/HowToRegisterNewDistributions
+  for information how to add support for your own distribution."
+}
index fd2c442..9422ba4 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.functions.yum,v 1.5 2005/04/16 21:20:45 ensc Exp $        --*- sh -*--
+# $Id: vserver-build.functions.yum 2030 2005-04-16 21:20:45Z ensc $    --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 25a2862..2daef46 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.rpm,v 1.6 2005/07/03 13:17:38 ensc Exp $  --*- sh -*--
+# $Id: vserver-build.rpm 2263 2006-01-22 12:24:25Z ensc $      --*- sh -*--
 
 # Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -68,6 +68,8 @@ test "$OPTION_DEBUG" -lt 2 || rpm_dflt_opts=( "${rpm_dflt_opts[@]}" -v  )
 test "$OPTION_DEBUG" -lt 3 || rpm_dflt_opts=( "${rpm_dflt_opts[@]}" -v  )
 test -n "$OPTION_SILENT"   || rpm_dflt_opts=( "${rpm_dflt_opts[@]}" -vh )
 
+rpm.sanityCheck
+
 
 ######  init the filesystem
 
@@ -75,6 +77,7 @@ base.initFilesystem    "$OPTION_FORCE"
 pkgmgmt.initFilesystem "$OPTION_FORCE"
 rpm.initFilesystem
 
+
 setup_writeOption "$VSERVER_NAME"
 setup_writeInitialFstab
 
@@ -82,12 +85,11 @@ setup_writeInitialFstab
 # when basedir is a non-local location, rpm will download it into the
 # current directory. Therefore, create and go into a temporay directory
 # before doing the operations.
-tmpdir=$($_MKTEMPDIR /var/tmp/vserver-build.rpm.XXXXXX)
-manifest=$($_MKTEMP /tmp/vserver-build.rpm.manifest.XXXXXX)
+tmpdir=$($_MKTEMPDIR -p /var/tmp vserver-build.rpm.XXXXXX)
+manifest=$($_MKTEMP vserver-build.rpm.manifest.XXXXXX)
 trap "rm -rf $tmpdir $manifest" EXIT
 cd "$tmpdir"                   
 
-
 ######  do the real work
 
 test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
diff --git a/scripts/vserver-build.rsync b/scripts/vserver-build.rsync
new file mode 100644 (file)
index 0000000..11ee1a7
--- /dev/null
@@ -0,0 +1,67 @@
+# $Id: vserver-build.rsync 2398 2006-11-24 15:20:09Z dhozac $  --*- sh -*--
+
+# Copyright (C) 2003 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.
+
+tmp=$(getopt -o '+d:s:o:' --long debug,pkgmgmt,source: -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
+
+DISTRIBUTION=:
+use_pkgmgmt=
+SOURCE=
+declare -a OPTS=()
+while true; do
+    case "$1" in
+       -d)             DISTRIBUTION=$2; shift;;
+       --debug)        set -x;;
+       --pkgmgmt)      use_pkgmgmt=1;;
+       -s|--source)    SOURCE=$2; shift;;
+       -o)             OPTS=( "${OPTS[@]}" "$2" ); shift;;
+       --)             shift; break ;;
+       *)              echo "vserver-build.rsync: internal error: unrecognized option '$1'" >&2
+                       exit 1
+                       ;;
+    esac
+    shift
+done
+
+if test -z "$SOURCE"; then
+    panic $"vserver-build.rsync: --source argument required"
+fi
+
+test -z "${OPTS[*]}" && OPTS=( -Hazx --numeric-ids )
+
+getDistribution '' 1
+
+base.init
+test -z "$use_pkgmgmt" || pkgmgmt.initVariables
+
+base.initFilesystem "$OPTION_FORCE"
+test -z "$use_pkgmgmt" || pkgmgmt.initFilesystem "$OPTION_FORCE"
+
+
+setup_writeOption "$VSERVER_NAME"
+setup_writeInitialFstab
+
+test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
+
+$_RSYNC "${OPTS[@]}" "$SOURCE"/ "$VDIR"/
+test -z "$1" || "$@"
+
+test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+
+base.setSuccess
index 3bfd956..61a12a8 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.skeleton,v 1.5 2005/06/30 06:13:09 ensc Exp $     --*- sh -*--
+# $Id: vserver-build.skeleton 2200 2005-10-28 18:40:56Z ensc $ --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -35,7 +35,7 @@ while true; do
     shift
 done
 
-getDistribution
+getDistribution '' 1
 
 base.init
 test -z "$use_pkgmgmt" || pkgmgmt.initVariables
@@ -50,3 +50,5 @@ setup_writeInitialFstab
 test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
 test -z "$1" || "$@"
 test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+
+base.setSuccess
diff --git a/scripts/vserver-build.template b/scripts/vserver-build.template
new file mode 100644 (file)
index 0000000..f11853d
--- /dev/null
@@ -0,0 +1,99 @@
+# $Id: vserver-build.template 2358 2006-10-31 14:33:30Z hollow $       --*- sh -*--
+
+# 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.
+
+tmp=$(getopt -o '+d:t:' --long debug,pkgmgmt,template: -n "vserver-build.template" -- "$@") || exit 1
+eval set -- "$tmp"
+
+. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
+
+DISTRIBUTION=:
+use_pkgmgmt=
+no_dev_sanity=
+declare -a TEMPLATE=()
+while true; do
+    case "$1" in
+       -d)             DISTRIBUTION=$2; shift;;
+       --debug)        set -x;;
+       --pkgmgmt)      use_pkgmgmt=1;;
+       --nodevsanity)  no_dev_sanity=1;;
+       -t|--template)
+                       case "$2" in
+                            /*)        f="$2";;
+                            *)         f=`pwd`/"$2";;
+                       esac
+                       TEMPLATE=( "${TEMPLATE[@]}" "$f" )
+                       shift
+                       ;;
+       --)             shift; break ;;
+       *)              echo "vserver-build.template: internal error: unrecognized option '$1'" >&2
+                       exit 1
+                       ;;
+    esac
+    shift
+done
+
+getDistribution '' 1
+
+base.init
+test -z "$use_pkgmgmt" || pkgmgmt.initVariables
+
+base.initFilesystem "$OPTION_FORCE"
+test -z "$use_pkgmgmt" || pkgmgmt.initFilesystem "$OPTION_FORCE"
+
+
+setup_writeOption "$VSERVER_NAME"
+setup_writeInitialFstab
+
+test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
+
+pushd "$SETUP_CONFDIR/vdir" &> /dev/null
+for t in "${TEMPLATE[@]}"; do
+    mime=$($_FILE -Nbiz -m "$_LIB_MAGIC" "$t")
+    compression=$(echo "$mime" | $_GREP '(' | $_SED 's!.*(\(.*\))$!\1!')
+
+    case "$compression" in
+       application/x-bzip2)    DECOMPRESS="$_BZIP2 -d -c";;
+       application/x-gzip)     DECOMPRESS="$_GZIP -d -c";;
+       "")                     DECOMPRESS=$_CAT;;
+       *)
+           echo "Unsupported compression method: $compression"
+           exit 1
+           ;;
+    esac
+
+    case "$mime" in
+       application/x-tar*)     EXTRACT="$_TAR -x";;
+       application/x-cpio*)    EXTRACT="$_CPIO -i";;
+       application/x-dump*)    EXTRACT="$_RESTORE -rf -";;
+       *)
+           echo "Unsupported packaging method: $mime"
+           exit 1
+           ;;
+    esac
+
+    $DECOMPRESS "$t" | $EXTRACT
+done
+
+test -z "$no_dev_sanity" && {
+    rm -rf dev/*
+    populateDev
+}
+popd &> /dev/null
+
+test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+
+base.setSuccess
index 72d3a81..ed711fb 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver-build.yum,v 1.5 2005/06/30 06:13:09 ensc Exp $  --*- sh -*--
+# $Id: vserver-build.yum 2162 2005-07-25 15:40:22Z ensc $      --*- sh -*--
 
 # Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -41,6 +41,9 @@ pkgmgmt.initVariables
 rpm.initVariables
 yum.initVariables
 
+rpm.sanityCheck
+
+
 base.initFilesystem    "$OPTION_FORCE"
 pkgmgmt.initFilesystem "$OPTION_FORCE"
 rpm.initFilesystem
index 127f42f..03c44d6 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: vserver-setup.functions,v 1.18 2005/02/25 23:32:02 ensc Exp $   --*- sh -*--
+# $Id: vserver-setup.functions 2300 2006-09-12 12:16:53Z dhozac $      --*- sh -*--
 
-# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+# Copyright (C) 2003,2004,2005,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
@@ -24,11 +24,15 @@ SETUP_LOCKFILE=
 SETUP_CONFDIR=
 SETUP_CONTEXT=
 SETUP_INITSTYLE=
+SETUP_CPUSET=
+SETUP_CPUSETCPUS=
+SETUP_CPUSETMEMS=
+SETUP_CPUSETVIRT=
 
 declare -a SETUP_INTERFACES=()
 declare -a SETUP_FLAGS=()
 
-declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:"
+declare -r SETUP_OPTIONS="confdir:,lockfile:,hostname:,netdev:,netmask:,netprefix:,netbcast:,interface:,flags:,context:,initstyle:,cpuset:,cpusetcpus:,cpusetmems:,cpusetvirt"
 declare -r SETUP_HELPMSG=$"
     --context   ...  the static context of the vserver [default: none; a dynamic
                      context will be assumed]
@@ -55,6 +59,19 @@ declare -r SETUP_HELPMSG=$"
                            this becomes a per vserver limit)
                     private: No other process can join this security context.
                            Even root
+    --cpuset <name>
+                ...  declares the CPUSET this vserver will run in [default: none]
+    --cpusetcpus <number[-number][:<exclusive>]>
+                ...  sets which cpus belong to the CPUSET,
+                     exclusive is a flag (0|1) prohibiting any other cpuset from
+                     using those cpus
+    --cpusetmems <number[-number][:<exclusive>]>
+                ...  sets which memory pools belong to the CPUSET,
+                     exclusive is a flag (0|1) prohibiting any other cpuset from
+                     using those memory pools
+    --cpusetvirt
+                ...  virtualize cpuset (guest will see only CPUs defined in cpuset)
+                     Requires kernel patch from http://www.bullopensource.org/cpuset/
     --initstyle <style>
                 ...  configures the initstyle (e.g. minit,sysv,plain)
 "
@@ -71,7 +88,23 @@ function setup_setOption2
        (--netprefix)   SETUP_NETPREFIX=$2;;
        (--netbcast)    SETUP_NETBCAST=$2;;
        (--interface)   SETUP_INTERFACES=( "${SETUP_INTERFACES[@]}" "$2" );;
-       (--initstyle)   SETUP_INITSTYLE=$2;;
+       (--initstyle)   SETUP_INITSTYLE=$2;;
+       (--cpuset)      SETUP_CPUSET=$2;;
+       (--cpusetcpus)  old_IFS=$IFS
+                       IFS=:
+                       set -- $2
+                       SETUP_CPUSETCPUS=$1
+                       SETUP_CPUSETCPUSEXCL=$2
+                       IFS=$old_IFS
+                       ;;
+       (--cpusetmems)  old_IFS=$IFS
+                       IFS=:
+                       set -- $2
+                       SETUP_CPUSETMEMS=$1
+                       SETUP_CPUSETMEMSEXCL=$2
+                       IFS=$old_IFS
+                       ;;
+       (--cpusetvirt)  SETUP_CPUSETVIRT=1;;
        (--flags)       old_IFS=$IFS
                        IFS=,
                        set -- $2
@@ -140,7 +173,7 @@ function setup_writeOption
     local cfgdir=${SETUP_CONFDIR:?}
     local i
 
-    mkdir -p "$cfgdir"/interfaces "$cfgdir"/apps/init "$cfgdir"/uts
+    mkdir -p "$cfgdir"/interfaces "$cfgdir"/apps/init "$cfgdir"/uts "$cfgdir"/cpuset
 
     _setup_writeSingleOption "$name"            "$cfgdir"/name
     _setup_writeSingleOption "$SETUP_CONTEXT"   "$cfgdir"/context
@@ -150,6 +183,12 @@ function setup_writeOption
     _setup_writeSingleOption "$SETUP_NETPREFIX" "$cfgdir"/interfaces/prefix
     _setup_writeSingleOption "$SETUP_NETBCAST"  "$cfgdir"/interfaces/bcast
     _setup_writeSingleOption "$SETUP_INITSTYLE" "$cfgdir"/apps/init/style
+    _setup_writeSingleOption "$SETUP_CPUSET"    "$cfgdir"/cpuset/name
+    _setup_writeSingleOption "$SETUP_CPUSETCPUS"     "$cfgdir"/cpuset/cpus
+    _setup_writeSingleOption "$SETUP_CPUSETCPUSEXCL" "$cfgdir"/cpuset/cpus_exclusive
+    _setup_writeSingleOption "$SETUP_CPUSETMEMS"     "$cfgdir"/cpuset/mems
+    _setup_writeSingleOption "$SETUP_CPUSETMEMSEXCL" "$cfgdir"/cpuset/mem_exclusive
+    _setup_writeSingleOption "$SETUP_CPUSETVIRT"     "$cfgdir"/cpuset/virtualized
 
     local idx=0
     for i in "${SETUP_INTERFACES[@]}"; do
index ccbd2e1..2e4df9f 100755 (executable)
@@ -29,15 +29,23 @@ test -n "$MARK" || MARK=default
 
 if test -e /etc/init.d/functions; then
     . /etc/init.d/functions
+    _beginResult() { echo -n "$@"; }
     lockfile=/var/lock/subsys/$LOCKFILE
+elif test -e /etc/gentoo-release; then
+    . /sbin/functions.sh
+    _beginResult() { ebegin "$@"; }
+    success() { eend "$@"; }
+    passed()  { eend "$@"; }
+    failure() { eend "$@"; }
+    lockfile=/var/lock/vservers/$LOCKFILE
 else
+    _beginResult() { echo -n "$@"; }
     success() { echo .; }
     passed()  { echo .; }
     failure() { echo ERROR; }
     lockfile=/var/run/$LOCKFILE
 fi
 
-
 function _tellResult()
 {
     local rc=$1
@@ -52,7 +60,7 @@ function _tellResult()
 
 function start()
 {
-    echo -n $"Starting vservers of type '$MARK'..."
+    _beginResult $"Starting vservers of type '$MARK'..."
     $_START_VSERVERS -m "$MARK" -j "$NUMPARALLEL" --all --start
     _tellResult $?
     local rc=$?
@@ -62,7 +70,7 @@ function start()
 
 function stop()
 {
-    echo -n $"Stopping vservers of type '$MARK'..."
+    _beginResult $"Stopping vservers of type '$MARK'..."
     $_START_VSERVERS -m "$MARK" -j "$NUMPARALLEL" --all --stop
     _tellResult $?
     local rc=$?
diff --git a/scripts/vserver.delete b/scripts/vserver.delete
new file mode 100644 (file)
index 0000000..b93d29c
--- /dev/null
@@ -0,0 +1,34 @@
+#! /bin/bash
+# $Id: vserver.delete 2305 2006-09-12 16:54:03Z dhozac $
+
+# 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.
+
+. "$_LIB_VSERVER_BUILD_FUNCTIONS"
+. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
+
+if test -z "$OPTION_SILENT" ; then
+    read -p "Are you sure you want to delete the vserver $vserver (y/N) " deleteok
+    if [[ ${deleteok} != [Yy] ]]; then
+       exit 2
+    fi
+fi
+
+isVserverRunning "$VSERVER_DIR" &&
+    "${SELF[@]}" $OPTION_SILENT --sync "$vserver" stop
+
+base.init
+pkgmgmt.initVariables
+rm -rf "`$_VSERVER_INFO "$vserver" VDIR 1`" "$VSERVER_DIR" "$PKGCFGDIR"
index 0139d58..18438fd 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver.functions,v 1.57 2005/07/03 17:47:06 ensc Exp $  --*- sh -*--
+# $Id: vserver.functions 2418 2006-12-08 13:28:02Z dhozac $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -42,6 +42,7 @@ declare -a OPTS_VCONTEXT_MIGRATE=()
 declare -a OPTS_VCONTEXT_ENTER=()
 declare -a OPTS_VATTRIBUTE=( --flag fakeinit )
 declare -a OPTS_VSCHED=()
+declare -a OPTS_ENV=()
 
 declare -a STOPCMD_PREPARE=()
 
@@ -72,35 +73,58 @@ else
     SILENT_OPT='--silent'
 fi
 
+function _readFileToArray
+{
+    local _rfta_f="$1"
+    local _rfta_a="$2"
+    local _rfta_p="$3"
+    local _rfta_v
+
+    test -e "$_rfta_f" || return 0
+    while read _rfta_v; do
+       case x"$_rfta_v" in
+           (x|x\#*)    ;;
+           (*)         eval "$_rfta_a=( \"\${$_rfta_a[@]}\" $_rfta_p \"$_rfta_v\" )";;
+       esac
+    done <"$_rfta_f"
+}
+
 function _generateChbindOptions
 {
     local vdir="$1"
     local i
     local bcast=
+    local nid=
 
     test -n "$_HAVE_INTERFACE_OPTIONS" || _generateInterfaceOptions "$vdir"
 
     local f=$vdir/interfaces/bcast
     getFileValue bcast "$f"
+
+    getFileValue nid "$vdir/ncontext" "$vdir/context"
     
-    CHBIND_OPTS=( $SILENT_OPT ${bcast:+--bcast "$bcast"} )
+    CHBIND_OPTS=( $SILENT_OPT --secure ${nid:+--nid "$nid"} ${bcast:+--bcast "$bcast"} )
 
     for i in "${INTERFACES[@]}"; do
        CHBIND_OPTS=( "${CHBIND_OPTS[@]}" --ip "$i" )
     done
 
+    _readFileToArray "$vdir"/nflags        CHBIND_OPTS --flag
+    _readFileToArray "$vdir"/ncapabilities CHBIND_OPTS --ncap
+
     _HAVE_CHBIND_OPTIONS=1
 }
 
 function _generateNiceCommand
 {
     local vdir=$1
-    local nice
+    local nice=0
+    local current_nice=`$_NICE`
 
-    test -r "$vdir/nice" || return 0;
-    read nice <"$vdir"/nice
+    test -r "$vdir/nice" && read nice <"$vdir"/nice
 
-    NICE_CMD=( $_NICE -$nice )
+    let nice=$nice-$current_nice || :
+    NICE_CMD=( $_NICE -n $nice )
 }
 
 
@@ -134,31 +158,15 @@ function _generatePersonalityOptions
 function _generateCCapabilityOptions
 {
     local vdir=$1
-    local cap
-    local f="$vdir"/ccapabilities
-    
-    test -e "$f" || return 0
-    while read cap; do
-       case x"$cap" in
-           (x|x\#)     ;;
-           (*)         OPTS_VATTRIBUTE=( "${OPTS_VATTRIBUTE[@]}" --ccap "$cap" );;
-       esac
-    done <"$f"
+
+    _readFileToArray "$vdir"/ccapabilities OPTS_VATTRIBUTE --ccap
 }
 
 function _generateBCapabilityOptions
 {
     local vdir=$1
-    local cap
-    local f="$vdir"/bcapabilities
-    
-    test -e "$f" || return 0
-    while read cap; do
-       case x"$cap" in
-           (x|x\#)     ;;
-           (*)         OPTS_VATTRIBUTE=( "${OPTS_VATTRIBUTE[@]}" --bcap "$cap" );;
-       esac
-    done <"$f"
+
+    _readFileToArray "$vdir"/bcapabilities OPTS_VATTRIBUTE --bcap
 }
 
 function _generateCapabilityOptions
@@ -176,7 +184,7 @@ function _generateCapabilityOptions
 
     while read cap; do
        case x"$cap" in
-           (x|x\#    ;;
+           (x|x\#*)    ;;
            (!CAP_SYSCHROOT)
                CAP_OPTS=( "${CAP_OPTS[@]}" --cap "$cap" )
                CAPCHROOT_OPTS=( "${CAPCHROOT_OPTS[@]}" --nochroot )
@@ -242,18 +250,22 @@ function _generateInitOptions
     CHCONTEXT_INIT_OPTS=()
 
 
-    getFileValue INITSTYLE      "$cfgdir"/style
+    test x"$INITSTYLE" = xrescue || \
+      getFileValue INITSTYLE    "$cfgdir"/style
     getFileValue RUNLEVEL_START "$cfgdir"/runlevel
     getFileValue RUNLEVEL_START "$cfgdir"/runlevel.start
     getFileValue RUNLEVEL_STOP  "$cfgdir"/runlevel.stop
     getFileArray INITKILL_SEQ  "$cfgdir"/killseq || :
 
+    findFile _gio_env          "$cfgdir"/environment \
+       "$__CONFDIR"/.defaults/apps/init/environment \
+       "$__PKGLIBDEFAULTDIR"/environment
+    getFileArray OPTS_ENV      "$_gio_env" || :
+
     case x"$INITSTYLE" in
        (xrescue)
            INITCMD_START=( "${INITCMD_RESCUE[@]}" )
            INITCMD_STOP=( /sbin/killall5 )
-           _IS_FAKEINIT=1
-           _NEED_VSHELPER_SYNC=
            ;;
            
        (xsysv)
@@ -289,13 +301,30 @@ function _generateInitOptions
            ;;
 
        (xgentoo)
-           INITCMD_START=( /sbin/rc default  )
-           INITCMD_STOP=(  /sbin/rc shutdown )
+           test -n "$RUNLEVEL_START" || RUNLEVEL_START="default"
+
+           INITCMD_START=( /lib/rcscripts/sh/init-vserver.sh "$RUNLEVEL_START" )
+           INITCMD_STOP=( /sbin/rc shutdown )
+           INITCMD_PREPARE=( $_FAKE_RUNLEVEL 3 /var/run/utmp )
+
+           pushd "$vdir"/vdir &>/dev/null
+           basever=$($_CHROOT_SH cat /etc/gentoo-release | $_AWK '{print $5}')
+           popd &>/dev/null
+
+           basemaj=${basever/.*}
+           basemin=${basever#*.}
+           basemin=${basemin/.*}
+
+           test "$basemaj" -lt 1 -o "$basemin" -lt 13 && \
+           panic "\
+Using init-style 'gentoo' requires >=baselayout-1.13 inside the vserver!
+
+Your vserver ($(basename "$vdir")) seems to have baselayout-$basever,
+please use 'plain' init-style instead!"
            ;;
 
        (x) ;;
-       (*) echo "Unknown init-style '$INITSTYLE'; aborting" >&2;
-           exit 1;;
+       (*) panic "Unknown init-style '$INITSTYLE'; aborting";;
     esac
 
     if test x"$INITSTYLE" != xrescue; then
@@ -328,7 +357,7 @@ function _generateFlagOptions
     test ! -e "$vdir"/flags || \
     while read flag; do
        case x"$flag" in
-           (x|x\#            ;;
+           (x|x\#*)            ;;
            (xnamespace)        ;;
            (xfakeinit)
                _IS_FAKEINIT=1
@@ -377,12 +406,17 @@ function _generateChcontextOptions
     OPTS_VCONTEXT_CREATE=( $SILENT_OPT \
                           ${ctx:+--xid "$ctx"} )
     ## put '--secure' at front so that it can be overridden
-    OPTS_VATTRIBUTE=( --secure "${OPTS_VATTRIBUTE[@]}" )
+    OPTS_VATTRIBUTE=( --secure --flag default "${OPTS_VATTRIBUTE[@]}" )
 }
 
 function _generateScheduleOptions
 {
     local vdir=$1
+    if test -d "$vdir"/sched; then
+      OPTS_VSCHED=( --dir "$vdir"/sched --missingok )
+      return 0
+    fi
+
     local f="$vdir"/schedule
     test -e "$f" || return 0
 
@@ -455,6 +489,29 @@ function _generateMac
     eval $1=$(printf "f0:ff:%02x:%02x:%02x:%02x" $[ (~($2>>8)) & 0xff ] $[ ($2 & 0xff) ] $[ ($3>>8) & 0xff ] $[ $3 & 0xff ])
 }
 
+function _getVLANInfo
+{
+    case "$1" in
+       (vlan????)
+           panic "\
+creation of VLAN_PLUS_VID devices is not supported; please create them
+before starting the vserver and use the 'nodev' flag then"
+           echo "$1 vlan ${1##vlan} VLAN_PLUS_VID"
+           ;;
+       (vlan*)
+           panic "\
+creation of VLAN_PLUS_VID_NO_PAD devices is not supported; please
+create them before starting the vserver and use the 'nodev' flag then"
+           echo "$1 vlan ${1##vlan} VLAN_PLUS_VID_N0_PAD"
+           ;;
+       (*.????)        echo "$1 ${1%%.*} ${1##*.} DEV_PLUS_VID";;
+       (*.*)           echo "$1 ${1%%.*} ${1##*.} DEV_PLUS_VID_NO_PAD";;
+       (*)             return 1
+    esac
+
+    return 0
+}
+
 ## Usage: _processSingleInterface <interface-directory>
 function _processSingleInterface
 {
@@ -497,19 +554,20 @@ function _processSingleInterface
        ## LEGACY ALERT
        test ! -e "$iface"/only_ip || break
 
-       case "$dev" in
-           (*.*)
-               test -d /proc/net/vlan || {
-                   echo -e $"VLAN device-name used, but vlan subsystem not enabled.\nTry to execute 'modprobe 8021q' before starting the vservers"  >&2
-                   return 1
-               }
-               test -f /proc/net/vlan || {
-                   _addInterfaceCmd VCONFIG ${dev/./ }
-                   _addInterfaceCmd IP_ADDR 127.0.0.1/8 broadcast 127.255.255.255 dev "$dev"
-                   _addInterfaceCmd IP_LINK "$dev" $up
-               }
-               ;;
-       esac
+       local vlan_info
+       if vlan_info=$(_getVLANInfo "$dev"); then
+           test -d /proc/net/vlan || {
+               echo -e $"VLAN device-name used, but vlan subsystem not enabled.\nTry to execute 'modprobe 8021q' before starting the vservers"  >&2
+               return 1
+           }
+           test -e "$iface/vlandev" \
+                -o \( -e "$iface/../vlandev" -a ! -e "$iface/novlandev" \) \
+                -o \( -e "$__CONFDIR/.defaults/interfaces/vlandev" \
+                      -a ! -e "$iface/novlandev" \
+                      -a ! -e "$iface/../novlandev" \) && {
+               _addInterfaceCmd VCONFIG $vlan_info
+           }
+       fi
 
        if ! test -e "$iface"/indirect; then
            _addInterfaceCmd IP_ADDR  "$ip${prefix:+/$prefix}" broadcast ${bcast:-+} ${name:+label "$dev:$name"} dev "$dev"
@@ -569,8 +627,9 @@ function enableInterfaces
                shift 2
                $_MODPROBE ${name:+-o "$name"} "$mod" "$@"
                ;;
-           NAMEIF)             $_NAMEIF "$@";;
-           VCONFIG)            $_VCONFIG  add   "$@";;
+           NAMEIF)             $_NAMEIF   "$@";;
+           VCONFIG)            $_VCONFIG  set_name_type "$4"      >/dev/null
+                               $_VCONFIG  add           "$2" "$3" >/dev/null;;
            IP_ADDR)            $_IP addr  add   "$@";;
            IP_ADDR_FLUSH)      $_IP addr  flush "$@";;
            IP_LINK)            $_IP link  set   "$@";;
@@ -605,7 +664,7 @@ function disableInterfaces
            IPTABLES)           ;; ## TODO
            MODPROBE)           $_RMMOD "${2:-$1}";;
            NAMEIF)             ;;
-           VCONFIG)            $_VCONFIG  rem "$@";;
+           VCONFIG)            $_VCONFIG  rem "$2.$3" >/dev/null;;
            IP_ADDR)            $_IP addr  del "$@";;
            IP_ADDR_FLUSH)      ;;
            IP_LINK)            ;; ## Ignore the link-down command for now
@@ -667,6 +726,54 @@ function generateOptions
     fi
 }
 
+function addtoCPUSET
+{
+    local vdir=$1
+    local cpuset
+    local f="$vdir"/cpuset
+    local i
+    local configured=0
+
+    test -d "$f" || return 0
+    test -e "$f"/name || return 0
+
+    read cpuset < "$f"/name
+    test -e "$f"/nocreate || {
+       test -d /dev/cpuset/"$cpuset" || mkdir /dev/cpuset/"$cpuset" || configured=1
+       for i in cpus mems cpu_exclusive mem_exclusive virtualized; do
+           if test -e "$f"/"$i"; then
+               cat "$f"/"$i" >/dev/cpuset/"$cpuset"/"$i" || {
+                   configured=1
+                   break
+               }
+           fi
+       done
+    }
+
+    echo $$ >/dev/cpuset/"$cpuset"/tasks || configured=1
+    if [ "$configured" -ne 0 ]; then
+       warning $"\
+WARNING: Failed to create or CPUSET \"$cpuset\" does not exist! Not using it!" >&2
+       rmdir /dev/cpuset/"$cpuset" 2>/dev/null || :
+       return 0
+    fi
+}
+
+function removeCPUSET
+{
+    local vdir=$1
+    local cpuset
+    local f="$vdir"/cpuset
+
+    test -d "$f" || return 0
+    test -e "$f"/name || return 0
+
+    read cpuset < "$f"/name
+    test -e "$f"/nocreate || {
+       rmdir /dev/cpuset/"$cpuset" 2>/dev/null || :
+    }
+}
+
 function _mountVserverInternal
 {
     local fstab="$1"
@@ -720,13 +827,13 @@ function mountVserver
 
     test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$cfgdir"
 
-    test -z "$NAMESPACE_CLEANUP" || isAvoidNamespace "$cfgdir" || \
-       $_VNAMESPACE --cleanup
-
     _mountVserverInternal "$cfgdir"/fstab
     _mountVserverInternal "$cfgdir"/fstab.local
     _mountVserverInternal "$cfgdir"/fstab.remote $_CHBIND "${CHBIND_OPTS[@]}"
 
+    isNamespaceCleanup "$cfgdir" && \
+        _namespaceCleanup "$cfgdir"
+
     isAvoidNamespace "$cfgdir" || \
        $_SECURE_MOUNT --rbind -n "$vdir" "/"
 }
@@ -760,12 +867,14 @@ function umountVserver
 
     isAvoidNamespace "$cfgdir"    || return 0
     test -e "$cfgdir"/fstab -o \
-         -e "$cfgdir"/fstab.local || return 0
+         -e "$cfgdir"/fstab.local -o \
+         -e "$cfgdir"/fstab.remote || return 0
     test -n "$_HAVE_CHBIND_OPTIONS"  || _generateChbindOptions "$cfgdir"
     
     pushd "$vdir/" >/dev/null || return 1
-       _umountVserverInternal  "$cfgdir"/fstab.local                              || is_ok=
-       _umountVserverInternal  "$cfgdir"/fstab       $_CHBIND "${CHBIND_OPTS[@]}" || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab.remote $_CHBIND "${CHBIND_OPTS[@]}" || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab.local                               || is_ok=
+       _umountVserverInternal  "$cfgdir"/fstab                                     || is_ok=
     popd >/dev/null           || return 1
 
     test -n "$is_ok"
@@ -786,24 +895,37 @@ function initWait
 {
     if $_VSERVER_INFO - FEATURE vwait; then
        local _is_tmpdir
-       _is_tmpdir=$($_MKTEMPDIR /tmp/vwaitstat.XXXXXX)
-           
-       $_NOHUP $_VWAIT --timeout "$VSHELPER_SYNC_TIMEOUT" \
-           --terminate --status-fd 3 "$2"  \
-           >>$_is_tmpdir/out 2>$_is_tmpdir/err 3>$_is_tmpdir/fifo &
+       _is_tmpdir=$($_MKTEMPDIR vwaitstat.XXXXXX)
 
+       (
+           $_VWAIT --timeout "$VSHELPER_SYNC_TIMEOUT" \
+               --status-fd 3 "$2" \
+               >>$_is_tmpdir/out 2>$_is_tmpdir/err 3>$_is_tmpdir/fifo
+           rc=$?
+
+           if test "$rc" -ne 0 -a "$rc" -ne 1; then
+               $_VPS axf | $_EGREP -e "^[^ \t]+[ \t]+$S_CONTEXT[ \t]+" >&4
+               killContext "$S_CONTEXT" 9
+           fi
+
+           exit $rc
+       ) 4>$_is_tmpdir/procs &
+           
        echo "$!" >$_is_tmpdir/pid
        eval "$3"=$_is_tmpdir
-    fi
+    fi </dev/null
 }
 
 
-## Usage: _waitForVWait <fifo> <pid>
+## Usage: _waitForVWait <vserver> <fifo> <pid> <procs>
 function _waitForVWait
 {
+    wait "$3" || :
+
     declare -a status
-    wait "$2" || :
-    getFileArray status "$1"
+    declare -r procs=$(cat $4)
+
+    getFileArray status "$2"
     set -- ${status[0]}
 
     case "$1" in
@@ -817,10 +939,21 @@ A timeout occured while waiting for the vserver to finish and it was
 killed by sending a SIGKILL signal. Please investigate the reasons
 and/or increase the timeout in apps/vshelper/sync-timeout."
                        ;;
-       (TIMEOUT|\?\?\?|*)      warning $"\
+
+       (TIMEOUT)       warning $"\
+A timeout occured while waiting for the vserver to finish and it will
+be killed by sending a SIGKILL signal. The following process list
+might be useful for finding out the reason of this behavior:
+
+----------------------------------------------------------------------
+${procs:+$procs
+}----------------------------------------------------------------------"
+                       ;;
+
+       (\?\?\?|*)      warning $"\
 internal error: 'vwait' exited with an unexpected status '$1'; I will
 try to continue but be prepared for unexpected events."
-                       ;;
+                   ;;
     esac
 
     return 0
@@ -835,7 +968,7 @@ function waitForSync
     local vwait_pid=$4
 
     if test -d "$vwait_statdir"; then
-       _waitForVWait "$vwait_statdir/fifo" "$( <$vwait_statdir/pid )"
+       _waitForVWait "$cfgdir" "$vwait_statdir/fifo" "$( <$vwait_statdir/pid )" "$vwait_statdir/procs"
     elif test -n "$_NEED_VSHELPER_SYNC"; then
        $_VSHELPER_SYNC "$fifo" "$VSHELPER_SYNC_TIMEOUT" || \
            warning $"\
@@ -920,6 +1053,14 @@ WARNING: The 'only_ip' flag for interface '$iface' is deprecated; use
        fi
     done
 
+    test ! -d "$cfgdir"/dlimits -o -L "$cfgdir/cache" || \
+       warning $"\
+WARNING: There is no cachedirectory configured for this vserver;
+  please create '$cfgdir/cache' e.g. by executing
+
+  ln -s ../.defaults/cachebase/$VSERVER_NAME $cfgdir/cache
+"
+
     find "$cfgdir" -type f -exec "$_CHECK_UNIXFILE" '{}' ';'
 
     vshelper.doSanityCheck
@@ -931,5 +1072,155 @@ WARNING: The 'only_ip' flag for interface '$iface' is deprecated; use
        panic $"\
 /proc/uptime can not be accessed. Usually, this is caused by
 procfs-security. Please read the FAQ for more details
-http://www.linux-vserver.org/index.php?page=Linux-Vserver+FAQ"
+http://linux-vserver.org/Proc-Security"
+}
+
+
+function _setSingleDiskLimit
+{
+    local vdir=$1
+    local dlimit=$2
+    local space_used=
+    local space_total=
+    local inodes_used=
+    local inodes_total=
+    local reserved=
+    local directory=
+    local ctx=
+
+    getFileValue ctx          "$vdir/context"
+    getFileValue directory    "$dlimit/directory"    || return 0
+    getFileValue space_total  "$dlimit/space_total"  || return 0
+    getFileValue inodes_total "$dlimit/inodes_total" || return 0
+    getFileValue reserved     "$dlimit/reserved"     || return 0
+
+    local cachename=$ctx$directory
+    cachename=dlimits/${cachename//\//_}
+
+    test -e "$vdir/cache/$cachename" && . "$vdir/cache/$cachename"
+    # Remove the cache so if the machine goes down unexpectedly, we won't have a stale cache
+    $_RM -f "$vdir/cache/$cachename"
+
+    if test -z "$inodes_used" -o -z "$space_used"; then
+       local tmpvdu
+       tmpvdu=`$_VDU --xid $ctx --space --inodes --script "$directory"`
+       inodes_used=${tmpvdu##* }
+       space_used=${tmpvdu%% *}
+    fi
+
+    $_VDLIMIT --xid $ctx \
+       --set space_used=$space_used \
+       --set space_total=$space_total \
+       --set inodes_used=$inodes_used \
+       --set inodes_total=$inodes_total \
+       --set reserved=$reserved \
+       "$directory"
+}
+
+
+function setDiskLimits
+{
+    local vdir=$1
+    local dlimit
+
+    # Disk Limits without a static context are useless
+    test -e "$vdir"/context || return 0
+
+    for dlimit in "$vdir/dlimits/"*; do
+       test   -d "$dlimit"          || continue
+       test ! -e "$dlimit/disabled" || continue
+
+       _setSingleDiskLimit "$vdir" "$dlimit"
+    done
 }
+
+
+function _saveSingleDiskLimit
+{
+    local vdir=$1
+    local dlimit=$2
+    local ctx=
+    local directory=
+
+    getFileValue ctx       "$vdir/context"
+    getFileValue directory "$dlimit/directory" || return 0
+
+    local cachename=$ctx$directory
+    cachename=${cachename//\//_}
+
+    # Things are getting ugly here... LFS says that /var/cache (where
+    # cachename is usually pointing to) can vanish and applications
+    # have to deal with it. So, we have to interprete the $vdir/cache
+    # symlink and have to create the needed directories manually.
+    if   test -d "$vdir/cache"; then
+       :       # ok, exists already
+    elif test -L "$vdir/cache"; then
+       # it's a dangling symlink
+       local link
+       link=$($_READLINK "$vdir/cache")
+       ( cd $vdir && $_MKDIR -p "$link" )
+    else
+       return 0
+    fi
+
+    test -d "$vdir/cache"
+    $_MKDIR -p "$vdir"/cache/dlimits
+
+    $_VDLIMIT --xid $ctx "$directory" | \
+       $_GREP '_used=' > "$vdir/cache/dlimits/$cachename"
+}
+
+
+function saveDiskLimits
+{
+    local vdir=$1
+    local dlimit
+
+    test -e "$vdir"/context || return 0
+
+    for dlimit in "$vdir/dlimits/"*; do
+       test   -d "$dlimit"          || continue
+       test ! -e "$dlimit/disabled" || continue
+
+       _saveSingleDiskLimit "$vdir" "$dlimit"
+    done
+}
+
+function _namespaceCleanup
+{
+    local vdir="$1"
+    local root=$($_VSERVER_INFO "$1" VDIR 1)
+    local -a list
+    local -a skip
+    local tmp
+
+    getFileArray skip "$vdir"/namespace-cleanup-skip \
+       "$__CONFDIR"/.defaults/namespace-cleanup-skip || :
+
+    # these are things that have to be accessible post-cleanup
+    for tmp in "$root" "$__SBINDIR" "$__PKGLIBDIR" "$vdir" \
+       "$__PKGSTATEDIR" "${skip[@]}"; do
+       while test -n "$tmp"; do
+           list=( "${list[@]}" "$tmp" )
+           tmp="${tmp%/*}"
+       done
+    done
+
+    local -a list_umount
+    while read dev path opts; do
+       test -n "$path" || continue
+       for i in "$root" /dev /proc; do
+           test "${path#$i}" != "$path" && continue 2
+       done
+       for i in "${list[@]}" /; do
+           test "$path" = "$i" && continue 2
+       done
+       # unmount them in reverse order so mounts further down the tree get unmounted first
+       list_umount=( "$path" "${list_umount[@]}" )
+    done < /proc/mounts
+    # separate loop to avoid races while reading /proc/mounts
+    for i in "${list_umount[@]}"; do
+       $_UMOUNT -l -n "$i"
+    done
+}
+
index 7311288..385613f 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver.start,v 1.45 2005/07/15 19:01:06 ensc Exp $  --*- sh -*--
+# $Id: vserver.start 2389 2006-11-20 15:10:00Z dhozac $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -71,21 +71,40 @@ is_mounted=
 is_vshelper_init=
 have_interfaces=
 startsync_pipe=
+have_initcmd=
 
 while test "$#" -gt 0; do
     case "$1" in
        (--rescue)      INITSTYLE=rescue;;
-       (--rescue-cmd)  INITCMD_RESCUE=( $2 ); shift;;
-       (*)             panic $"vserver ... start: unknown option '$1'";;
+       (--rescue-cmd)
+           warning $"\
+The '--rescue-cmd' option is deprecated; just add the the initcmd
+inclusive its arguments to the cmdline."
+           INITCMD_RESCUE=( $2 );
+           have_initcmd=1
+           shift;;
+       (--rescue-init) _IS_FAKEINIT=1;;
+       (--)            shift; break;;
+       (-*)            panic $"vserver ... start: unknown option '$1'";;
+       (*)             break;
     esac
     shift
 done
 
+if test x"$INITSTYLE" = xrescue -a -z "$have_initcmd" -a "$#" -gt 0; then
+    INITCMD_RESCUE=( "$@" )
+fi
+
+
 set -e
 trap "cleanup" EXIT
 
 sanityCheck      "$VSERVER_DIR"
 
+pushd "$VSERVER_DIR" >/dev/null
+execScriptlets   "$VSERVER_DIR" "$VSERVER_NAME" initialize
+popd >/dev/null
+
 mountRootFS      "$VSERVER_DIR"
 generateOptions  "$VSERVER_DIR"
 
@@ -93,10 +112,13 @@ pushd "$VSERVER_DIR" >/dev/null
 execScriptlets   "$VSERVER_DIR" "$VSERVER_NAME" prepre-start
 popd >/dev/null
 
+setDiskLimits    "$VSERVER_DIR"
+
 enableInterfaces "$VSERVER_DIR" && have_interfaces=1
 
 mountVserver "$VSERVER_DIR"     && is_mounted=1
 prepareInit  "$VSERVER_DIR"
+addtoCPUSET  "$VSERVER_DIR"
 
 pushd "$VSERVER_DIR"/vdir/ >/dev/null
 execScriptlets   "$VSERVER_DIR" "$VSERVER_NAME" pre-start
@@ -113,29 +135,29 @@ if $_VSERVER_INFO - FEATURE migrate; then
     $_VCONTEXT   --create "${OPTS_VCONTEXT_CREATE[@]}" -- \
     ${USE_VNAMESPACE:+$_VNAMESPACE --set -- } \
     $_VLIMIT     --dir "$VSERVER_DIR"/rlimits --missingok -- \
-    $_VSCHED     --xid self "${OPTS_VSCHED[@]}" -- \
+    $_VSCHED     --xid self --force "${OPTS_VSCHED[@]}" -- \
     $_VUNAME     --xid self --dir "$VSERVER_DIR"/uts     --missingok -- \
     "${VSERVER_EXTRA_CMDS[@]}" \
     $_VUNAME     --xid self --set -t context="$VSERVER_DIR" -- \
     $_VATTRIBUTE --set "${OPTS_VATTRIBUTE[@]}" -- \
     $_SAVE_CTXINFO "$VSERVER_DIR" \
-    $_ENV -i -- \
+    $_ENV -i "${OPTS_ENV[@]}" \
     $_VCONTEXT   --migrate-self --endsetup --chroot $SILENT_OPT \
     "${OPTS_VCONTEXT_MIGRATE[@]}" "${OPTS_VCONTEXT_ENTER[@]}" -- \
     "${INITCMD_START[@]}"
 else
     if test -n "$_IS_FAKEINIT"; then
-       startsync_pipe=$($_MKTEMP /tmp/vserver-start.XXXXXX)
+       startsync_pipe=$($_MKTEMP vserver-start.XXXXXX)
        $_RM -f "$startsync_pipe"
        $_MKFIFO -m600 "$startsync_pipe"        ## safe, since mkfifo does not follow symlinks
     fi
     
     ${NICE_CMD[@]} \
-    $_CHBIND           "${CHBIND_OPTS[@]}" \
+    $_CHBIND_COMPAT    "${CHBIND_OPTS[@]}" \
     $_EXEC_ULIMIT      "$VSERVER_DIR/ulimits" \
     $_CHCONTEXT_COMPAT "${CHCONTEXT_OPTS[@]}" "${CHCONTEXT_INIT_OPTS[@]}" \
     $_SAVE_CTXINFO     "$VSERVER_DIR" \
-    $_ENV -i -- \
+    $_ENV -i "${OPTS_ENV[@]}" \
     $_CHAINECHO "${_IS_FAKEINIT:+$startsync_pipe}" "" \
     $_CAPCHROOT        "${CAPCHROOT_OPTS[@]}" . \
     "${INITCMD_START[@]}"
index f1ac335..7d1c01f 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver.stop,v 1.29 2005/06/30 06:17:58 ensc Exp $  --*- sh -*--
+# $Id: vserver.stop 2312 2006-09-15 04:32:28Z dhozac $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -84,7 +84,9 @@ else
     "${INITCMD_STOP[@]}" || fail=1
 fi
 
-test -n "$fail" || waitForSync "$VSERVER_DIR" "$sync_fifo" "$vwait_statdir"
+vshelper.doStopSync
+
+waitForSync "$VSERVER_DIR" "$sync_fifo" "$vwait_statdir"
 
 vshelper.doDestroy "$VSERVER_DIR" "$S_CONTEXT"
 sendKillSequence   "$S_CONTEXT" "${INITKILL_SEQ[@]}"
@@ -98,4 +100,7 @@ execScriptlets    "$VSERVER_DIR" "$VSERVER_NAME" post-stop
 umountVserver     "$VSERVER_DIR" || :
 disableInterfaces "$VSERVER_DIR"
 
+saveDiskLimits    "$VSERVER_DIR"
+
 execScriptlets    "$VSERVER_DIR" "$VSERVER_NAME" postpost-stop
+removeCPUSET      "$VSERVER_DIR"
index 963bdf5..655a9e6 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: vserver.suexec,v 1.14 2005/07/15 19:01:06 ensc Exp $  --*- sh -*--
+# $Id: vserver.suexec 2300 2006-09-12 12:16:53Z dhozac $  --*- sh -*--
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -22,6 +22,7 @@ test -z "$is_stopped" -o "$OPTION_INSECURE" || {
     exit 1
 }
 generateOptions  "$VSERVER_DIR"
+addtoCPUSET  "$VSERVER_DIR"
 
 user=$1
 shift
index 9738ba8..b9dfdf9 100755 (executable)
@@ -54,13 +54,25 @@ function doInternalMethod
            case "$ACTION" in
                (restart)
                    logging $"Restarting vserver '$VSERVER'"
-                   spawn   killContext "$XID"
-                   execute $_VSERVER --defaulttty "$VSERVER" restart
+
+                   local sync_dir
+                   vshelper.initStopSync sync_dir
+
+                   spawn $_VSERVER --defaulttty "$VSERVER" restart &
+
+                   disown %%
+                   vshelper.waitForStopSync "$sync_dir"
                    ;;
                (halt|poweroff)
                    logging $"Stopping vserver '$VSERVER'"
-                   spawn   killContext "$XID"
-                   execute $_VSERVER --defaulttty "$VSERVER" stop
+
+                   local sync_dir
+                   vshelper.initStopSync sync_dir
+
+                   spawn $_VSERVER --defaulttty "$VSERVER" stop &
+
+                   disown %%
+                   vshelper.waitForStopSync "$sync_dir"
                    ;;
                (swsusp)
                    ## TODO: any senseful action here? Perhaps shutdown scheduler for it?
index 1826a20..d606021 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vsomething,v 1.3 2005/04/24 20:30:55 ensc Exp $
+# $Id: vsomething 2303 2006-09-12 12:39:00Z dhozac $
 
 # Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -23,6 +23,7 @@ test -e "$UTIL_VSERVER_VARS" || {
 }
 . "$UTIL_VSERVER_VARS"
 . "$_LIB_FUNCTIONS"
+. "$__PKGLIBDIR/vserver.functions"
 
 
 function showHelp()
@@ -105,8 +106,14 @@ for i in "${vservers[@]}"; do
        if pkgmgmt.isInternal "$i"; then
            $_VSERVER "$i" exec "$cmd" "$@"
        else
-           callInNamespace "$i" \
-               "$_VNAMESPACE" --new -- "$VSOMETHING_WORKER" "$i" "$@"
+           _getVserverDir "$i"
+           ( _generateChbindOptions "$VSERVER_DIR"
+             $_VSERVER "$i" status &> /dev/null && \
+               CHBIND_CMD=( "$_CHBIND" "${CHBIND_OPTS[@]}" -- )
+             callInNamespace "$i" \
+               "$_VNAMESPACE" --new -- \
+               "${CHBIND_CMD[@]}" \
+               "$VSOMETHING_WORKER" "$i" "$@" )
        fi
     else
        "$cmd" "$i" "$@"
index 24d3eaa..da9754e 100755 (executable)
@@ -40,6 +40,6 @@ else
        do
                IPOPT="$IPOPT --ip $oneip"
        done
-       echo exec $CHBIND $IPOPT /etc/init.d/$SERVICE "$@"
-       exec $CHBIND $IPOPT /etc/init.d/$SERVICE "$@"
+       echo exec $_CHBIND $IPOPT /etc/init.d/$SERVICE "$@"
+       exec $_CHBIND $IPOPT /etc/init.d/$SERVICE "$@"
 fi
diff --git a/scripts/vupdateworld b/scripts/vupdateworld
new file mode 100755 (executable)
index 0000000..f8d24b9
--- /dev/null
@@ -0,0 +1,73 @@
+#!/bin/bash
+# $Id: vupdateworld 2363 2006-11-03 14:36:23Z hollow $
+
+# Copyright (C) 2006 Benedikt Boehm <hollow@gentoo.org>
+#  
+# 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.
+
+: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+    echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
+    exit 1
+}
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+
+function showHelp()
+{
+    echo \
+$"Usage: $0 <vserver-name>* [--all] -- <params>+
+
+Report bugs to <$PACKAGE_BUGREPORT>."
+    exit 0
+}
+
+function showVersion()
+{
+    echo \
+$"vupdateworld $PACKAGE_VERSION -- emerge world for vservers
+This program is part of $PACKAGE_STRING
+
+Copyright (C) 2006 Benedikt Boehm
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License.  This program has absolutely no warranty."
+    exit 0
+}
+
+tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+declare -a send_through vsomething_opts
+
+while true; do
+    case "$1" in
+       (--help)        showHelp $0 ;;
+       (--version)     showVersion ;;
+       (--debug)       send_through=( "${send_through[@]}" "$1" ); set -x;;
+       (--quiet|-q)    send_through=( "${send_through[@]}" "$1" );;
+       (--all)         vsomething_opts=( "${vsomething_opts[@]}" "$1" );;
+       (--)            shift; break;;
+       (*)             echo $"vemerge: internal error; arg=='$1'" >&2; exit 1;;
+    esac
+    shift
+done
+
+VSOMETHING_TITLE=vemerge
+VSOMETHING_PKGMGMT=1
+
+export VSOMETHING_TITLE VSOMETHING_PKGMGMT
+
+test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- )
+exec $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" --update --deep --newuse "$@"
index 3c40e8d..90c24b0 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vyum,v 1.2 2005/03/02 01:24:44 ensc Exp $
+# $Id: vyum 1880 2005-03-02 01:24:44Z ensc $
 
 # Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
index 984d1d6..7f1e6a3 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# $Id: vyum-worker,v 1.5 2005/04/08 19:18:06 ensc Exp $
+# $Id: vyum-worker 2361 2006-11-01 19:46:02Z dhozac $
 
 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 #  
@@ -37,12 +37,9 @@ test -z "$_YUM" || {
     ${YUM:=$_YUM}
 }
 
-yum=${YUM:-yum}
-conf=yum.conf
-case $(yum --version) in
-    (2.[0123]*)
-       python -c 'import yum,sys; sys.exit(not hasattr(yum.config.yumconf, "getRootedPath"))' &>/dev/null || {
-           warning "\
+function check(){
+    python -c "$1" &>/dev/null || {
+       warning "\
 You are using a version of yum which is insecure and broken in chroot
 related operations; either apply the patches shipped in the 'contrib/'
 directory of util-vserver, or ask the author of yum to apply them
@@ -52,9 +49,30 @@ In the meantime, 'vyum' will continue with dirty hacks which might not
 work when the vserver is running and local DOS attacks are possible.
 
 Execution will continue in 5 seconds..."
-           sleep 5
-           conf=yum-hack.conf
-       }
+       sleep 5
+       conf=yum-hack.conf
+    }
+}
+
+yum=${YUM:-yum}
+conf=yum.conf
+case $($yum --version|tail -n 1) in
+    (2.[012345]*)
+       check 'import yum,sys; sys.exit(not hasattr(yum.config.yumconf, "getRootedPath"))'
+       ;;
+    (2.[6789]*|3.0*)
+       check 'import yum,sys; sys.exit(not hasattr(yum.config.YumConf, "getRootedPath"))'
+       ;;
+    (*)
+       warning "\
+You are using a version of yum which current status is unknown to vyum.
+
+Just to be sure, 'vyum' will use dirty hacks which might not work when
+the vsrever is running and local DOS attacks are possible.
+
+Execution will continue in 5 seconds..."
+       sleep 5
+       conf=yum-hack.conf
        ;;
 esac
 
index de9228b..5ff68d6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: capability-compat.h,v 1.1 2005/01/27 20:38:12 ensc Exp $    --*- c -*--
+// $Id: capability-compat.h 1822 2005-01-27 20:38:12Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 69dbe37..71ad061 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: capchroot.c,v 1.7 2004/03/24 01:41:28 ensc Exp $
+// $Id: capchroot.c 2403 2006-11-24 23:06:08Z dhozac $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on capchroot.cc by Jacques Gelinas
@@ -66,6 +66,11 @@ static void
 showHelp(int fd, char const *cmd, int res)
 {
   VSERVER_DECLARE_CMD(cmd);
+
+#if !defined(VC_ENABLE_API_COMPAT) && !defined(VC_ENABLE_API_LEGACY)
+  WRITE_MSG(1, "ERROR: tools were built without legacy API support; capchroot will not work!\n\n");
+#endif
+  
   WRITE_MSG(fd, "Usage:  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
@@ -92,11 +97,11 @@ showVersion()
   exit(0);
 }
 
-static void
+static UNUSED void
 setUser(char const *user)
 {
   struct passwd                *p = 0;
-  if (user!=0 && strcmp(user, "root")!=0) {
+  if (user!=0 && strcmp(user, "root")!=0 && strcmp(user, "0")!=0) {
     errno = 0;
     p     = getpwnam(user);
     if (p==0) {
@@ -135,12 +140,13 @@ int main (int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
   }
 
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
   if (optind==argc)
     WRITE_MSG(2, "No directory specified; try '--help' for more information\n");
   else if (optind+1==argc)
@@ -159,6 +165,9 @@ int main (int argc, char *argv[])
     setUser(suid_user);
     EexecvpD(argv[optind+1], argv+optind+1);
   }
-
+#else
+  WRITE_MSG(2, "capchroot: tools were built without legacy API support; can not continue\n");
+#endif
+  
   return EXIT_FAILURE;
 }
index 4965ae2..d5e7035 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chain-echo.c,v 1.1 2004/04/20 17:54:40 ensc Exp $    --*- c -*--
+// $Id: chain-echo.c 1469 2004-04-20 17:54:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index bc68711..da82e24 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chbind.c,v 1.9 2004/03/16 14:30:10 ensc Exp $
+// $Id: chbind.c 2403 2006-11-24 23:06:08Z dhozac $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on chbind.cc by Jacques Gelinas
@@ -24,6 +24,8 @@
 #include "vserver.h"
 #include "util.h"
 
+#include <lib/internal.h>
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -41,6 +43,7 @@
 #define ENSC_WRAPPERS_PREFIX   "chbind: "
 #define ENSC_WRAPPERS_IO       1
 #define ENSC_WRAPPERS_UNISTD   1
+#define ENSC_WRAPPERS_VSERVER  1
 #include "wrappers.h"
 
 #define CMD_HELP       0x1000
@@ -49,6 +52,7 @@
 #define CMD_SILENT     0x2000
 #define CMD_IP         0x2001
 #define CMD_BCAST      0x2002
+#define CMD_NID                0x2003
 
 int wrapper_exit_code = 255;
 
@@ -60,6 +64,7 @@ CMDLINE_OPTIONS[] = {
   { "silent",   no_argument,  0, CMD_SILENT },
   { "ip",       required_argument, 0, CMD_IP },
   { "bcast",    required_argument, 0, CMD_BCAST },
+  { "nid",     required_argument, 0, CMD_NID },
   { 0,0,0,0 }
 };
 
@@ -69,7 +74,7 @@ showHelp(int fd, char const *cmd, int res)
   WRITE_MSG(fd, "Usage:\n  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
-           " [--silent] [--ip <ip_num>[/<mask>]] [--bcast <broadcast>] [--] <commands> <args>*\n\n"
+           " [--silent] [--nid <nid>] [--ip <ip_num>[/<mask>]] [--bcast <broadcast>] [--] <commands> <args>*\n\n"
            "Please report bugs to " PACKAGE_BUGREPORT "\n");
 
   exit(res);
@@ -237,6 +242,61 @@ readBcast(char const *str, uint32_t *bcast)
   }
 }
 
+#if defined(VC_ENABLE_API_NET)
+static void
+make_nx(nid_t nid, uint32_t bcast, size_t nbaddrs, struct vc_ip_mask_pair *ips)
+{
+  size_t i;
+  struct vc_net_nx addr;
+
+  if (nid == VC_DYNAMIC_NID) {
+    nid = vc_net_create(VC_DYNAMIC_NID);
+    if (nid == (nid_t) -1) {
+      perror("chbind: vc_net_create()");
+      exit(wrapper_exit_code);
+    }
+  }
+  else {
+    if (vc_net_create(nid) == (nid_t) -1) {
+      if (errno == EEXIST) {
+        if (vc_net_migrate(nid) != 0) {
+          perror("chbind: vc_net_migrate()");
+          exit(wrapper_exit_code);
+        }
+        else
+          return;
+      }
+      else {
+        perror("chbind: vc_net_create()");
+        exit(wrapper_exit_code);
+      }
+    }
+  }
+
+  addr.type = vcNET_IPV4B;
+  addr.count = 1;
+  addr.ip[0] = bcast;
+  addr.mask[0] = 0;
+
+  if (vc_net_add(nid, &addr) != 1) {
+    perror("chbind: vc_net_add()");
+    exit(wrapper_exit_code);
+  }
+
+  for (i = 0; i < nbaddrs; i++) {
+    addr.type = vcNET_IPV4;
+    addr.count = 1;
+    addr.ip[0] = ips[i].ip;
+    addr.mask[0] = ips[i].mask;
+
+    if (vc_net_add(nid, &addr) != 1) {
+      perror("chbind: vc_net_add()");
+      exit(wrapper_exit_code);
+    }
+  }
+}
+#endif
+
 int main (int argc, char *argv[])
 {
   size_t const                 nb_ipv4root = vc_get_nb_ipv4root();
@@ -244,6 +304,7 @@ int main (int argc, char *argv[])
   struct vc_ip_mask_pair       ips[nb_ipv4root];
   size_t                       nbaddrs = 0;
   uint32_t                     bcast   = 0xffffffff;
+  nid_t                                nid     = VC_DYNAMIC_NID;
   
   while (1) {
     int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
@@ -254,6 +315,11 @@ int main (int argc, char *argv[])
       case CMD_VERSION         :  showVersion();
       case CMD_SILENT          :  is_silent = true; break;
       case CMD_BCAST           :  readBcast(optarg, &bcast); break;
+#if defined(VC_ENABLE_API_NET)
+      case CMD_NID             :  nid = Evc_nidopt2nid(optarg,true); break;
+#else
+      case CMD_NID             :  WRITE_MSG(2, "WARNING: --nid is not supported by this version\n"); break;
+#endif
       case CMD_IP              :
        if (nbaddrs>=nb_ipv4root) {
          WRITE_MSG(2, "Too many IP numbers, max 16\n");
@@ -265,7 +331,7 @@ int main (int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        exit(wrapper_exit_code);
        break;
     }
@@ -276,11 +342,27 @@ int main (int argc, char *argv[])
     exit(wrapper_exit_code);
   }
   
-
+#if !defined(VC_ENABLE_API_NET) && !defined(VC_ENABLE_API_COMPAT) && !defined(VC_ENABLE_API_LEGACY)
+#  error can not build 'chbind' without network virtualization API
+#endif
+  
+#if defined(VC_ENABLE_API_NET)
+  if (vc_isSupported(vcFEATURE_VNET)) {
+    make_nx(nid, bcast, nbaddrs, ips);
+  }
+  else
+#endif
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
   if (vc_set_ipv4root(bcast,nbaddrs,ips)!=0) {
     perror("chbind: vc_set_ipv4root()");
     exit(wrapper_exit_code);
   }
+#else
+  {
+    WRITE_MSG(2, "chbind: kernel does not provide network virtualization\n");
+    exit(wrapper_exit_code);
+  }
+#endif
 
   if (!is_silent) {
     size_t             i;
index a8d94e9..6c7e3b5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: check-unixfile.c,v 1.1 2005/01/27 19:13:04 ensc Exp $    --*- c -*--
+// $Id: check-unixfile.c 1814 2005-01-27 19:13:04Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index a1d4bb9..f8baac3 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chroot-sh.c,v 1.2 2005/07/03 17:40:15 ensc Exp $    --*- c -*--
+// $Id: chroot-sh.c 2407 2006-11-25 19:18:06Z dhozac $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -28,7 +28,7 @@
 #include <fcntl.h>
 #include <sys/stat.h>
 
-#define ENSC_WRAPPERS_PREFIX   "chroot-sh"
+#define ENSC_WRAPPERS_PREFIX   "chroot-sh"
 #define ENSC_WRAPPERS_UNISTD   1
 #define ENSC_WRAPPERS_IO       1
 #define ENSC_WRAPPERS_FCNTL    1
@@ -85,7 +85,7 @@ testInternal(int argc, char *argv[], char const *operation)
     return wrapper_exit_code;
   }
 
-  if (stat(argv[1], &st)==-1) return 0;
+  if (stat(argv[1], &st)==-1) return -1;
   else                        return st.st_mode;
 }
 
@@ -142,6 +142,55 @@ execTestFile(int argc, char *argv[])
   return res!=-1 && S_ISREG(res) ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 
+static int
+execMkdir(int argc, char *argv[])
+{
+  int          i   = 1;
+  int          res = EXIT_SUCCESS;
+  
+  if (argc<2) {
+    WRITE_MSG(2, "No files specified for 'mkdir' operation; try '--help' for more information\n");
+    return wrapper_exit_code;
+  }
+
+  for (;i<argc; ++i) {
+    if (mkdir(argv[i], 0755)==-1) {
+      PERROR_Q(ENSC_WRAPPERS_PREFIX "mkdir", argv[i]);
+      res = EXIT_FAILURE;
+    }
+  }
+
+  return res;
+}
+
+static int
+execChmod(int argc, char *argv[])
+{
+  int          i   = 2;
+  int          res = EXIT_SUCCESS;
+  unsigned long mode;
+  
+  if (argc<3) {
+    WRITE_MSG(2, "No files specified for 'chmod' operation; try '--help' for more information\n");
+    return wrapper_exit_code;
+  }
+
+  if (!isNumberUnsigned(argv[1], &mode, 1)) {
+    WRITE_MSG(2, "Invalid mode: '");
+    WRITE_STR(2, argv[1]);
+    WRITE_MSG(2, "'\n");
+    return EXIT_FAILURE;
+  }
+
+  for (;i<argc; ++i) {
+    if (chmod(argv[i], mode)==-1) {
+      PERROR_Q(ENSC_WRAPPERS_PREFIX "chmod", argv[i]);
+      res = EXIT_FAILURE;
+    }
+  }
+
+  return res;
+}
 
 static struct Command {
     char const         *cmd;
@@ -152,6 +201,8 @@ static struct Command {
   { "truncate", execTruncate },
   { "testfile", execTestFile },
   { "rm",       execRm },
+  { "mkdir",    execMkdir },
+  { "chmod",    execChmod },
   { 0,0 }
 };
 
@@ -170,7 +221,10 @@ showHelp()
            "  append <file>   ...  appends stdin to <file> which is created when needed\n"
            "  truncate <file> ...  clear <file> and fill it with stdin; the <file> is\n"
            "                       created when needed\n"
-           "  rm <file>+      ...  unlink the given files\n\n"
+           "  rm <file>+      ...  unlink the given files\n"
+           "  mkdir <file>+   ...  create the given directories\n"
+           "  chmod <mode> <file>+\n"
+           "                  ...  change access permissions of files\n\n"
            "Please report bugs to " PACKAGE_BUGREPORT "\n");
   exit(0);
 }
index e6e6db9..9f5c9a6 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chxid.c,v 1.10 2004/08/19 14:28:57 ensc Exp $    --*- c -*--
+// $Id: chxid.c 1670 2004-08-19 14:28:57Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 98b3039..8f548b0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: compat-pivot_root.h,v 1.3 2005/05/02 21:44:06 ensc Exp $    --*- c++ -*--
+// $Id: compat-pivot_root.h 2081 2005-05-02 21:44:06Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6f786d5..cbc3304 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: context-sync.hc,v 1.5 2005/04/10 01:01:33 ensc Exp $    --*- c -*--
+// $Id: context-sync.hc 2015 2005-04-10 01:01:33Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index dde12cf..7bb923b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: exec-cd.c,v 1.5 2005/05/05 09:20:37 ensc Exp $    --*- c -*--
+// $Id: exec-cd.c 2086 2005-05-05 09:20:37Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 510e5d0..444a7f0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: exec-ulimit.c,v 1.7 2004/05/08 01:40:25 ensc Exp $    --*- c -*--
+// $Id: exec-ulimit.c 2371 2006-11-05 17:46:33Z dhozac $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #define ENSC_WRAPPERS_RESOURCE 1
 #include <wrappers.h>
 
+/* dietlibc specifies this as (~0UL>>1), which is what's returned from
+ * sys_old_getrlimit, called on some arches for getrlimit.
+ * Reset it here so the kernel will have the correct values when we set it. */
+#undef RLIM_INFINITY
+#define RLIM_INFINITY (~0UL)
+#define OLD_RLIM_INFINITY (~0UL>>1)
+
 #define DECLARE_LIMIT(RES,FNAME) { #FNAME, RLIMIT_##RES }
 
 int    wrapper_exit_code = 255;
@@ -159,6 +166,7 @@ int main(int argc, char *argv[])
 {
   size_t               i;
   int                  cur_fd = Eopen(".", O_RDONLY, 0);
+  bool                 in_dir = false;
 
   if (argc==2) {
     if (strcmp(argv[1], "--help")==0)    showHelp(1,argv[0],0);
@@ -171,15 +179,29 @@ int main(int argc, char *argv[])
   }
 
   if (chdir(argv[1])!=-1) {
-    for (i=0; i<sizeof(LIMITS)/sizeof(LIMITS[0]); ++i) {
-      struct rlimit    limit;
-
-      Egetrlimit(LIMITS[i].code, &limit);
-      if (readSingleLimit(&limit, LIMITS[i].fname))
-       Esetrlimit(LIMITS[i].code, &limit);
+    in_dir = true;
+  }
+  for (i=0; i<sizeof(LIMITS)/sizeof(LIMITS[0]); ++i) {
+    struct rlimit      limit;
+
+    Egetrlimit(LIMITS[i].code, &limit);
+    /* if this arch uses sys_old_getrlimit... */
+    if (limit.rlim_cur == OLD_RLIM_INFINITY)
+      limit.rlim_cur = RLIM_INFINITY;
+    if (in_dir && readSingleLimit(&limit, LIMITS[i].fname))
+      Esetrlimit(LIMITS[i].code, &limit);
+    else if (LIMITS[i].code != RLIMIT_NOFILE) {
+      limit.rlim_max = RLIM_INFINITY;
+      Esetrlimit(LIMITS[i].code, &limit);
+    }
+    else {
+      /* RLIMIT_NOFILE can't be set to infinity, 1024*1024 seems to be the limit in most kernels */
+      limit.rlim_max = 1024*1024;
+      setrlimit(LIMITS[i].code, &limit);
     }
-    Efchdir(cur_fd);
   }
+  if (in_dir)
+    Efchdir(cur_fd);
   Eclose(cur_fd);
 
   Eexecv(argv[2], argv+2);
index ef3fd95..f429528 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fakerunlevel.c,v 1.6 2004/02/27 04:42:10 ensc Exp $
+// $Id: fakerunlevel.c 1022 2004-02-27 04:42:10Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on fakerunlevel.cc by Jacques Gelinas
index 39d9b03..576deb0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: filetime.c,v 1.4 2005/03/24 12:44:17 ensc Exp $
+// $Id: filetime.c 1980 2005-03-24 12:44:17Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on filetime.cc by Jacques Gelinas
index 4bb8b8f..be01c31 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fstool.c,v 1.8 2004/08/19 14:29:25 ensc Exp $    --*- c -*--
+// $Id: fstool.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -156,8 +156,13 @@ processFile(char const *path)
   }
 
   if (S_ISDIR(st.st_mode) && !global_args->do_display_dir) {
+    int                cur_dir = Eopen(".", O_RDONLY, 0);
+    uint64_t   ret;
     Echdir(path);
-    return iterateFilesystem(path);
+    ret = iterateFilesystem(path);
+    Efchdir(cur_dir);
+    Eclose(cur_dir);
+    return ret;
   }
   else
     return handleFile(path, path) ? 0 : 1;
@@ -213,7 +218,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index b0b340d..be84527 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: fstool.h,v 1.7 2004/08/19 14:29:44 ensc Exp $    --*- c -*--
+// $Id: fstool.h 1672 2004-08-19 14:29:44Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 85c1960..f2bc2bf 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: ifspec.c,v 1.4 2004/02/20 16:59:40 ensc Exp $
+// $Id: ifspec.c 965 2004-02-20 16:59:40Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on ifspec.cc by Jacques Gelinas
index 0314881..2ad1494 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: keep-ctx-alive.c,v 1.3 2004/12/16 00:11:01 ensc Exp $    --*- c -*--
+// $Id: keep-ctx-alive.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -177,7 +177,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return 255;
        break;
     }
index e62b4ae..8daff1b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: listdevip.c,v 1.3 2004/02/20 16:59:40 ensc Exp $
+// $Id: listdevip.c 965 2004-02-20 16:59:40Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on listdevip.cc by Jacques Gelinas
index df2e6b0..2fe31b2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: lockfile.c,v 1.4 2004/04/13 08:27:50 ensc Exp $    --*- c -*--
+// $Id: lockfile.c 1447 2004-04-13 08:27:50Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2ab1ada..9f8cbd1 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: lsxid.c,v 1.9 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: lsxid.c 1980 2005-03-24 12:44:17Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 21ffba7..7be79d9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: mask2prefix.c,v 1.1 2003/10/09 01:41:06 ensc Exp $    --*- c++ -*--
+// $Id: mask2prefix.c 63 2003-10-09 01:41:06Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/src/naddress.c b/src/naddress.c
new file mode 100644 (file)
index 0000000..77bed1b
--- /dev/null
@@ -0,0 +1,445 @@
+// $Id: naddress.c 2387 2006-11-20 15:01:44Z dhozac $
+
+// Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+// based on chbind.cc by Jacques Gelinas
+//  
+// 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; either version 2, or (at your option)
+// any later version.
+//  
+// 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 "vserver.h"
+#include "util.h"
+
+#include <lib/internal.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <netdb.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <net/if.h>
+#include <unistd.h>
+#include <errno.h>
+#include <getopt.h>
+#include <fcntl.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#define ENSC_WRAPPERS_PREFIX   "naddress: "
+#define ENSC_WRAPPERS_IO       1
+#define ENSC_WRAPPERS_UNISTD   1
+#define ENSC_WRAPPERS_VSERVER  1
+#include "wrappers.h"
+
+#define CMD_HELP       0x1000
+#define CMD_VERSION    0x1001
+
+#define CMD_SILENT     0x2000
+#define CMD_NID                0x2001
+#define CMD_ADD                0x2002
+#define CMD_REMOVE     0x2003
+#define CMD_SET                0x2004
+#define CMD_IP         0x2010
+#define CMD_BCAST      0x2011
+
+int wrapper_exit_code = 255;
+
+
+static struct option const
+CMDLINE_OPTIONS[] = {
+  { "help",     no_argument,  0, CMD_HELP },
+  { "version",  no_argument,  0, CMD_VERSION },
+  { "silent",   no_argument,  0, CMD_SILENT },
+  { "add",      no_argument,  0, CMD_ADD },
+  { "remove",   no_argument,  0, CMD_REMOVE },
+  { "set",      no_argument,  0, CMD_SET },
+  { "nid",      required_argument, 0, CMD_NID },
+  { "ip",       required_argument, 0, CMD_IP },
+  { "bcast",    required_argument, 0, CMD_BCAST },
+  { 0,0,0,0 }
+};
+
+struct vc_ips {
+  struct vc_net_nx a;
+  struct vc_ips *next;
+};
+
+struct Arguments {
+  nid_t                nid;
+  struct vc_ips        head;
+  bool         is_silent;
+  bool         do_add;
+  bool         do_remove;
+  bool         do_set;
+};
+
+static void
+showHelp(int fd, char const *cmd, int res)
+{
+  WRITE_MSG(fd, "Usage:\n  ");
+  WRITE_STR(fd, cmd);
+  WRITE_MSG(fd,
+           " (--add|--remove|--set) [--silent] [--nid <nid>]\n"
+           "    [--ip <ip_num>[/<mask>]] [--bcast <broadcast>] [--] <commands> <args>*\n\n"
+           "Please report bugs to " PACKAGE_BUGREPORT "\n");
+
+  exit(res);
+}
+
+static void
+showVersion()
+{
+  WRITE_MSG(1,
+           "naddress " VERSION " -- bind to an ip and execute a program\n"
+           "This program is part of " PACKAGE_STRING "\n\n"
+           "Copyright (C) 2003,2004 Enrico Scholz\n"
+           "Copyright (C) 2006 Daniel Hokka Zakrisson\n"
+           VERSION_COPYRIGHT_DISCLAIMER);
+  exit(0);
+}
+
+/*
+       Check if a network device exist in /proc/net/dev.
+       This is used because ifconfig_ioctl triggers modprobe if requesting
+       information about non existant devices.
+
+       Return != 0 if the device exist.
+*/
+static bool
+existsDevice(char const *dev_raw)
+{
+  size_t       buf_size=8192;
+  char         dev[strlen(dev_raw)+2];
+
+  strcpy(dev, dev_raw);
+  strcat(dev, ":");
+  for (;;) {
+    char       buf[buf_size];
+    char *     pos;
+    bool       too_small;
+    int                fd=open("/proc/net/dev", O_RDONLY);
+    
+    if (fd==-1) return false;
+    too_small = EreadAll(fd, buf, buf_size);
+    close(fd);
+
+    if (too_small) {
+      buf_size *= 2;
+      continue;
+    }
+
+    pos = strstr(buf, dev);
+    return (pos && (pos==buf || pos[-1]==' ' || pos[-1]=='\n'));
+  }
+}
+
+static int ifconfig_ioctl(
+       int fd,
+       const char *ifname,
+       int cmd,
+       struct ifreq *ifr)
+{
+       strcpy(ifr->ifr_name, ifname);
+       return ioctl(fd, cmd, ifr);
+}
+
+/*
+       Fetch the IP number of an interface from the kernel.
+       Assume the device is already available in the kernel
+       Return -1 if any error.
+*/
+int ifconfig_getaddr (
+       const char *ifname,
+       uint32_t *addr,
+       uint32_t *mask,
+       uint32_t *bcast)
+{
+       int ret = -1;
+       if (existsDevice(ifname)){
+               int skfd = socket(AF_INET, SOCK_DGRAM, 0);
+               if (skfd != -1){
+                       struct ifreq ifr;
+                       if (addr != NULL && ifconfig_ioctl(skfd,ifname,SIOCGIFADDR, &ifr) >= 0){
+                               struct sockaddr_in *sin = (struct sockaddr_in*)&ifr.ifr_addr;
+                               *addr = sin->sin_addr.s_addr;
+                               ret = 0;
+                       }
+                       if (mask != NULL && ifconfig_ioctl(skfd,ifname,SIOCGIFNETMASK, &ifr) >= 0){
+                               struct sockaddr_in *sin = (struct sockaddr_in*)&ifr.ifr_addr;
+                               *mask = sin->sin_addr.s_addr;
+                               ret = 0;
+                       }
+                       if (bcast != NULL && ifconfig_ioctl(skfd,ifname,SIOCGIFBRDADDR, &ifr) >= 0){
+                               struct sockaddr_in *sin = (struct sockaddr_in*)&ifr.ifr_addr;
+                               *bcast = sin->sin_addr.s_addr;
+                               ret = 0;
+                       }
+                       close (skfd);
+               }
+       }
+       return ret;
+}
+
+static int
+convertAddress(const char *str, vc_net_nx_type *type, void *dst)
+{
+  int  ret;
+  if (type) *type = vcNET_IPV4;
+  ret = inet_pton(AF_INET, str, dst);
+  if (ret==0) {
+    if (type) *type = vcNET_IPV6;
+    ret = inet_pton(AF_INET6, str, dst);
+  }
+  return ret > 0 ? 0 : -1;
+}
+
+static void
+readIP(char const *str, struct vc_ips **ips)
+{
+  if (ifconfig_getaddr(str, &(*ips)->a.ip[0], &(*ips)->a.mask[0], NULL)==-1) {
+    char               *pt;
+    char               tmpopt[strlen(str)+1];
+    uint32_t           *mask = (*ips)->a.mask;
+
+    strcpy(tmpopt,str);
+    pt = strchr(tmpopt,'/');
+    if (pt)
+      *pt++ = '\0';
+
+    if (convertAddress(tmpopt, &(*ips)->a.type, (*ips)->a.ip) == -1) {
+      WRITE_MSG(2, "Invalid IP number '");
+      WRITE_STR(2, tmpopt);
+      WRITE_MSG(2, "'\n");
+      exit(wrapper_exit_code);
+    }
+
+    if (pt==0) {
+      switch ((*ips)->a.type) {
+       case vcNET_IPV4:
+         mask[0] = htonl(0xffffff00);
+         break;
+       case vcNET_IPV6:
+         mask[0] = 64;
+         break;
+       default: break;
+      }
+    }
+    else {
+      // Ok, we have a network size, not a netmask
+      if (strchr(pt,'.')==0 && strchr(pt,':')==0) {
+       unsigned long   sz, limit = 0;
+
+       switch ((*ips)->a.type) {
+         case vcNET_IPV4: limit =  32; break;
+         case vcNET_IPV6: limit = 128; break;
+         default:                      break;
+       }
+
+       if (!isNumberUnsigned(pt, &sz, true) || sz > limit) {
+         WRITE_MSG(2, "Invalid prefix '");
+         WRITE_STR(2, pt);
+         WRITE_MSG(2, "'\n");
+         exit(wrapper_exit_code);
+       }
+
+       switch ((*ips)->a.type) {
+         case vcNET_IPV4:
+           mask[0] = htonl(~((1 << (32 - sz)) - 1));
+           break;
+         case vcNET_IPV6:
+           mask[0] = sz;
+           break;
+         default: break;
+       }
+      }
+      else { 
+       if (convertAddress(pt, NULL, &(*ips)->a.mask) == -1) {
+         WRITE_MSG(2, "Invalid netmask '");
+         WRITE_STR(2, pt);
+         WRITE_MSG(2, "'\n");
+         exit(wrapper_exit_code);
+       }
+      }
+    }
+  }
+  else
+    (*ips)->a.type = vcNET_IPV4;
+
+  (*ips)->a.count = 1;
+  (*ips)->next = calloc(1, sizeof(struct vc_ips));
+  *ips = (*ips)->next;
+}
+
+static void
+readBcast(char const *str, struct vc_ips **ips)
+{
+  uint32_t bcast;
+  if (ifconfig_getaddr(str, NULL, NULL, &bcast)==-1){
+    if (convertAddress(str, NULL, &bcast) == -1) {
+      WRITE_MSG(2, "Invalid broadcast number '");
+      WRITE_STR(2, optarg);
+      WRITE_MSG(2, "'\n");
+      exit(wrapper_exit_code);
+    }
+  }
+  (*ips)->a.ip[0] = bcast;
+  (*ips)->a.count = 1;
+  (*ips)->a.type = vcNET_IPV4B;
+  (*ips)->next = calloc(1, sizeof(struct vc_ips));
+  *ips = (*ips)->next;
+}
+
+static void
+tellAddress(struct vc_net_nx *addr, bool silent)
+{
+  char buf[41];
+  if (silent)
+    return;
+  if (inet_ntop(addr->type == vcNET_IPV6 ? AF_INET6 : AF_INET,
+               addr->ip, buf, sizeof(buf)) == NULL) {
+    WRITE_MSG(1, " <conversion failed>");
+    return;
+  }
+  WRITE_MSG(1, " ");
+  WRITE_STR(1, buf);
+}
+
+static inline void
+doit(struct Arguments *args)
+{
+  struct vc_ips *ips;
+
+  if (args->do_set) {
+    struct vc_net_nx remove = { .type = vcNET_ANY };
+    if (vc_net_remove(args->nid, &remove) == -1) {
+      perror(ENSC_WRAPPERS_PREFIX "vc_net_remove()");
+      exit(wrapper_exit_code);
+    }
+  }
+
+  if (args->do_add || args->do_set) {
+    if (!args->is_silent)
+      WRITE_MSG(1, "Adding");
+    for (ips = &args->head; ips->next; ips = ips->next) {
+      tellAddress(&ips->a, args->is_silent);
+      if (vc_net_add(args->nid, &ips->a) != (int)ips->a.count) {
+       perror(ENSC_WRAPPERS_PREFIX "vc_net_add()");
+       exit(wrapper_exit_code);
+      }
+    }
+    if (!args->is_silent)
+      WRITE_MSG(1, "\n");
+  }
+  else if (args->do_remove) {
+    if (!args->is_silent)
+      WRITE_MSG(1, "Removing");
+    for (ips = &args->head; ips->next; ips = ips->next) {
+      tellAddress(&ips->a, args->is_silent);
+      if (vc_net_remove(args->nid, &ips->a) != (int)ips->a.count) {
+       perror(ENSC_WRAPPERS_PREFIX "vc_net_remove()");
+       exit(wrapper_exit_code);
+      }
+    }
+    if (!args->is_silent)
+      WRITE_MSG(1, "\n");
+  }
+}
+
+int main (int argc, char *argv[])
+{
+  struct Arguments args = {
+    .nid       = VC_NOCTX,
+    .is_silent = false,
+    .do_add    = false,
+    .do_remove = false,
+    .do_set    = false,
+    .head      = { .next = NULL },
+  };
+  struct vc_ips *ips = &args.head;
+  
+  while (1) {
+    int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
+    if (c==-1) break;
+
+    switch (c) {
+      case CMD_HELP    :  showHelp(1, argv[0], 0);
+      case CMD_VERSION :  showVersion();
+      case CMD_SILENT  :  args.is_silent = true; break;
+      case CMD_NID     :  args.nid       = Evc_nidopt2nid(optarg,true); break;
+      case CMD_ADD     :  args.do_add    = true; break;
+      case CMD_REMOVE  :  args.do_remove = true; break;
+      case CMD_SET     :  args.do_set    = true; break;
+      case CMD_IP      :  readIP(optarg, &ips); break;
+      case CMD_BCAST   :  readBcast(optarg, &ips); break;
+      default          :
+       WRITE_MSG(2, "Try '");
+       WRITE_STR(2, argv[0]);
+       WRITE_MSG(2, " --help' for more information.\n");
+       exit(wrapper_exit_code);
+       break;
+    }
+  }
+
+  if (args.nid == VC_NOCTX) args.nid = Evc_get_task_nid(0);
+
+  if (!args.do_add && !args.do_remove && !args.do_set) {
+    WRITE_MSG(2, "No operation specified; try '--help' for more information\n");
+    exit(wrapper_exit_code);
+  }
+  else if (((args.do_add ? 1 : 0) + (args.do_remove ? 1 : 0) + (args.do_set ? 1 : 0)) > 1) {
+    WRITE_MSG(2, "Multiple operations specified; try '--help' for more information\n");
+    exit(wrapper_exit_code);
+  }
+
+  doit(&args);
+
+  if (optind != argc)
+    Eexecvp (argv[optind],argv+optind);
+  return EXIT_SUCCESS;
+}
+
+#ifdef ENSC_TESTSUITE
+#include <assert.h>
+
+void test()
+{
+  struct vc_ip_mask_pair       ip;
+  uint32_t                     bcast;
+
+  bcast = 0;
+  readIP("1.2.3.4", &ip, &bcast);
+  assert(ip.ip==ntohl(0x01020304) && ip.mask==ntohl(0xffffff00) && bcast==0);
+
+  readIP("1.2.3.4/8", &ip, &bcast);
+  assert(ip.ip==ntohl(0x01020304) && ip.mask==ntohl(0xff000000) && bcast==0);
+
+  readIP("1.2.3.4/255.255.0.0", &ip, &bcast);
+  assert(ip.ip==ntohl(0x01020304) && ip.mask==ntohl(0xffff0000) && bcast==0);
+
+  readIP("localhost", &ip, &bcast);
+  assert(ip.ip==ntohl(0x7f000001) && ip.mask==ntohl(0xffffff00) && bcast==0);
+
+#if 0
+  if (ifconfig_getaddr("lo", &tmp, &tmp, &tmp)!=-1) {
+    readIP("lo", &ip, &bcast);
+    assert(ip.ip==ntohl(0x7f000001) && ip.mask==ntohl(0xff000000) && bcast==ntohl(0x7fffffff));
+  }
+#endif
+}
+#endif
diff --git a/src/nattribute.c b/src/nattribute.c
new file mode 100644 (file)
index 0000000..15c78a4
--- /dev/null
@@ -0,0 +1,179 @@
+// $Id: nattribute.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson
+//  
+// 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 <getopt.h>
+#include <stdint.h>
+#include <errno.h>
+
+#define ENSC_WRAPPERS_PREFIX   "nattribute: "
+#define ENSC_WRAPPERS_VSERVER  1
+#define ENSC_WRAPPERS_UNISTD   1
+#include <wrappers.h>
+
+#define CMD_HELP               0x1000
+#define CMD_VERSION            0x1001
+#define CMD_NID                        0x2000
+#define CMD_SET                        0x2001
+#define CMD_CAP                        0x2002
+#define CMD_FLAG               0x2003
+#define CMD_SECURE             0x2004
+
+int                    wrapper_exit_code = 1;
+
+struct option const
+CMDLINE_OPTIONS[] = {
+  { "help",       no_argument,       0, CMD_HELP },
+  { "version",    no_argument,       0, CMD_VERSION },
+  { "nid",        required_argument, 0, CMD_NID },
+  { "set",        no_argument,       0, CMD_SET },
+  { "ncap",       required_argument, 0, CMD_CAP },
+  { "flag",       required_argument, 0, CMD_FLAG },
+  { "secure",     no_argument,       0, CMD_SECURE },
+  {0,0,0,0}
+};
+
+struct Arguments {
+    nid_t              nid;
+    struct vc_net_flags flags;
+    struct vc_net_caps  caps;
+};
+
+static void
+showHelp(int fd, char const *cmd, int res)
+{
+  WRITE_MSG(fd, "Usage:\n    ");
+  WRITE_STR(fd, cmd);
+  WRITE_MSG(fd,
+           " --set [--nid <nid>] [--ncap [~!]<ncap>] [--flag [~!]<flag>] [--secure] -- [<program> <args>*]\n"
+           "\n"
+           " --ncap <cap>   ...  network capability to be added\n"
+           " --flag <flag>  ...  network flag to be added\n"
+           "\n"
+           "Please report bugs to " PACKAGE_BUGREPORT "\n");
+
+  exit(res);
+}
+
+static void
+showVersion()
+{
+  WRITE_MSG(1,
+           "nattribute " VERSION " -- sets attributes of network contexts\n"
+           "This program is part of " PACKAGE_STRING "\n\n"
+           "Copyright (C) 2004 Enrico Scholz\n"
+           "Copyright (C) 2006 Daniel Hokka Zakrisson\n"
+           VERSION_COPYRIGHT_DISCLAIMER);
+  exit(0);
+}
+
+static void
+parseFlags(char const *str, struct vc_net_flags *flags)
+{
+  struct vc_err_listparser     err;
+  int                          rc;
+
+  rc = vc_list2nflag(str, 0, &err, flags);
+  
+  if (rc==-1) {
+    WRITE_MSG(2, "Unknown flag '");
+    Vwrite(2, err.ptr, err.len);
+    WRITE_MSG(2, "'\n");
+    exit(wrapper_exit_code);
+  }
+}
+
+static void
+parseNCaps(char const *str, struct vc_net_caps *caps)
+{
+  struct vc_err_listparser     err;
+  int                          rc;
+
+  rc = vc_list2ncap(str,0, &err, caps);
+  
+  if (rc==-1) {
+    WRITE_MSG(2, "Unknown ncap '");
+    Vwrite(2, err.ptr, err.len);
+    WRITE_MSG(2, "'\n");
+    exit(wrapper_exit_code);
+  }
+}
+
+static void
+parseSecure(struct vc_net_flags * flags,
+           struct vc_net_caps  * caps)
+{
+    // TODO: generalize this
+  caps->ncaps = 0ull;
+  caps->cmask = 0ull;
+
+  flags->flagword = VC_NXF_HIDE_NETIF;
+  flags->mask     = VC_NXF_HIDE_NETIF;
+}
+
+int main(int argc, char *argv[])
+{
+  struct Arguments             args = {
+    .nid   = VC_NOCTX,
+    .flags = { .flagword = 0, .mask = 0 },
+    .caps  = { .ncaps = 0, .cmask = 0 },
+  };
+  
+  while (1) {
+    int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
+    if (c==-1) break;
+
+    switch (c) {
+      case CMD_HELP    :  showHelp(1, argv[0], 0);
+      case CMD_VERSION :  showVersion();
+      case CMD_SET     :  break; // default op currently
+      case CMD_NID     :  args.nid = Evc_nidopt2nid(optarg,true); break;
+      case CMD_FLAG    :  parseFlags(optarg, &args.flags);        break;
+      case CMD_CAP     :  parseNCaps(optarg, &args.caps);         break;
+      case CMD_SECURE  :  parseSecure(&args.flags, &args.caps);   break;
+      default          :
+       WRITE_MSG(2, "Try '");
+       WRITE_STR(2, argv[0]);
+       WRITE_MSG(2, " --help' for more information.\n");
+       return 255;
+       break;
+    }
+  }
+
+  if (args.nid==VC_NOCTX) args.nid = Evc_get_task_nid(0);
+
+  if (args.caps.cmask &&
+      vc_set_ncaps(args.nid, &args.caps)==-1)
+    perror(ENSC_WRAPPERS_PREFIX "vc_set_ncaps()");
+  else if (args.flags.mask &&
+          vc_set_nflags(args.nid, &args.flags)==-1)
+    perror(ENSC_WRAPPERS_PREFIX "vc_set_nflags()");
+  else if (optind<argc)
+    EexecvpD(argv[optind], argv+optind);
+  else
+    return EXIT_SUCCESS;
+
+  return EXIT_FAILURE;
+}
diff --git a/src/ncontext.c b/src/ncontext.c
new file mode 100644 (file)
index 0000000..a22ae3f
--- /dev/null
@@ -0,0 +1,293 @@
+// $Id: ncontext.c 2414 2006-12-08 13:20:10Z dhozac $    --*- c -*--
+
+// Copyright (C) 2004-2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
+//  
+// 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/internal.h"
+#include "lib_internal/util.h"
+#include "lib_internal/jail.h"
+
+#include <vserver.h>
+#include <getopt.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+#include <assert.h>
+#include <signal.h>
+#include <sys/types.h>
+
+
+#define ENSC_WRAPPERS_PREFIX   "ncontext: "
+#define ENSC_WRAPPERS_UNISTD   1
+#define ENSC_WRAPPERS_VSERVER  1
+#define ENSC_WRAPPERS_FCNTL    1
+#define ENSC_WRAPPERS_SOCKET   1
+#define ENSC_WRAPPERS_IOSOCK   1
+#include <wrappers.h>
+
+#define CMD_HELP               0x1000
+#define CMD_VERSION            0x1001
+#define CMD_NID                        0x4000
+#define CMD_CREATE             0x4001
+#define CMD_MIGRATE            0x4002
+#define CMD_DISCONNECT         0x4003
+#define CMD_SILENT             0x4004
+#define CMD_SYNCSOCK           0x4005
+#define CMD_SYNCMSG            0x4006
+#define CMD_MIGRATESELF                0x4007
+#define CMD_SILENTEXIST                0x4008
+
+
+struct option const
+CMDLINE_OPTIONS[] = {
+  { "help",       no_argument,       0, CMD_HELP },
+  { "version",    no_argument,       0, CMD_VERSION },
+  { "nid",        required_argument, 0, CMD_NID },
+  { "create",     no_argument,       0, CMD_CREATE },
+  { "migrate",    no_argument,       0, CMD_MIGRATE },
+  { "migrate-self", no_argument,               0, CMD_MIGRATESELF },
+  { "disconnect",   no_argument,       0, CMD_DISCONNECT },
+  { "silent",       no_argument,               0, CMD_SILENT },
+  { "silentexist",  no_argument,               0, CMD_SILENTEXIST },
+  { "syncsock",     required_argument,         0, CMD_SYNCSOCK },
+  { "syncmsg",      required_argument,         0, CMD_SYNCMSG },
+  { 0,0,0,0 },
+};
+
+struct Arguments {
+    bool               do_create;
+    bool               do_migrate;
+    bool               do_migrateself;
+    bool               do_disconnect;
+    bool               is_silentexist;
+    int                        verbosity;
+    nid_t              nid;
+    char const *       sync_sock;
+    char const *       sync_msg;
+};
+
+int            wrapper_exit_code = 255;
+
+static void
+showHelp(int fd, char const *cmd, int res)
+{
+  WRITE_MSG(fd, "Usage:\n    ");
+  WRITE_STR(fd, cmd);
+  WRITE_MSG(fd,
+           " --create [--nid <nid>] <opts>* [--] <program> <args>*\n    ");
+  WRITE_STR(fd, cmd);
+  WRITE_MSG(fd,
+           " [(--migrate --nid <nid>)|--migrate-self]  <opts>* [--] <program> <args>*\n"
+           "\n"
+           "<opts> can be:\n"
+           "    --disconnect    ...  start program in background\n"
+           "    --silent        ...  be silent\n"
+           "    --silentexist   ...  be silent when context exists already; useful\n"
+           "                         for '--create' only\n"
+           "    --syncsock <filename>\n"
+           "                    ...  before executing the program, send a message\n"
+           "                         to the socket and wait until it closes.\n"
+           "                         <filename> must be a SOCK_STREAM unix socket\n"
+           "    --syncmsg <message>\n"
+           "                    ...  use <message> as synchronization message; by\n"
+           "                         default, 'ok' will be used\n"
+           "\n"
+           "'ncontext --create' exits with code 254 iff the context exists already.\n"
+           "\n"
+           "Please report bugs to " PACKAGE_BUGREPORT "\n");
+
+  exit(res);
+}
+
+static void
+showVersion()
+{
+  WRITE_MSG(1,
+           "ncontext " VERSION " -- manages the creation of network contexts\n"
+           "This program is part of " PACKAGE_STRING "\n\n"
+           "Copyright (C) 2004-2006 Enrico Scholz\n"
+           "Copyright (C) 2006 Daniel Hokka Zakrisson\n"
+           VERSION_COPYRIGHT_DISCLAIMER);
+  exit(0);
+}
+
+#include "context-sync.hc"
+
+static inline ALWAYSINLINE void
+tellContext(nid_t nid, bool do_it)
+{
+  char         buf[sizeof(nid_t)*3+2];
+  size_t       l;
+
+  if (!do_it) return;
+
+  l = utilvserver_fmt_long(buf,nid);
+
+  WRITE_MSG(1, "New network context is ");
+  Vwrite   (1, buf, l);
+  WRITE_MSG(1, "\n");
+}
+
+static int
+connectExternalSync(char const *filename)
+{
+  int                  fd;
+  struct sockaddr_un   addr;
+  
+  if (filename==0) return -1;
+
+  ENSC_INIT_UNIX_SOCK(addr, filename);
+
+  fd = Esocket(PF_UNIX, SOCK_STREAM, 0);
+  Econnect(fd, &addr, sizeof(addr));
+
+  return fd;
+}
+
+static void
+doExternalSync(int fd, char const *msg)
+{
+  char         c;
+  
+  if (fd==-1) return;
+
+  if (msg) EsendAll(fd, msg, strlen(msg));
+  Eshutdown(fd, SHUT_WR);
+
+  if (TEMP_FAILURE_RETRY(recv(fd, &c, 1, MSG_NOSIGNAL))!=0) {
+    WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "unexpected external synchronization event\n");
+    exit(wrapper_exit_code);
+  }
+
+  Eclose(fd);
+}
+
+static inline ALWAYSINLINE int
+doit(struct Arguments const *args, char *argv[])
+{
+  int                  p[2][2];
+  pid_t                        pid = initSync(p, args->do_disconnect);
+  
+  if (pid==0) {
+    nid_t                      nid;
+    int                                ext_sync_fd = connectExternalSync(args->sync_sock);
+
+    doSyncStage0(p, args->do_disconnect);  
+    
+    if (args->do_create) {
+      nid = vc_net_create(args->nid);
+      if (nid==VC_NOCTX) {
+       switch (errno) {
+         case EEXIST   :
+           if (!args->is_silentexist)
+             perror(ENSC_WRAPPERS_PREFIX "vc_net_create()");
+           return 254;
+         default       :
+           perror(ENSC_WRAPPERS_PREFIX "vc_net_create()");
+           return wrapper_exit_code;
+       }
+      }
+      tellContext(nid, args->verbosity>=1);
+    }
+    else
+      nid = args->nid;
+
+    if (args->do_migrate && !args->do_migrateself)
+      Evc_net_migrate(nid);
+
+    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);
+    doSyncStage2(p, args->do_disconnect);
+
+    PERROR_Q(ENSC_WRAPPERS_PREFIX "execvp", argv[optind]);
+    exit(wrapper_exit_code);
+  }
+
+  assert(args->do_disconnect);
+    
+  waitOnSync(pid, p, args->nid!=VC_DYNAMIC_XID && args->do_migrate);
+  return EXIT_SUCCESS;
+}
+
+int main (int argc, char *argv[])
+{
+  struct Arguments             args = {
+    .nid               = VC_DYNAMIC_XID,
+    .do_create         = false,
+    .do_migrate        = false,
+    .do_migrateself    = false,
+    .do_disconnect     = false,
+    .is_silentexist    = false,
+    .verbosity         = 1,
+    .sync_msg          = "ok",
+  };
+  
+  while (1) {
+    int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
+    if (c==-1) break;
+    
+    switch (c) {
+      case CMD_HELP            :  showHelp(1, argv[0], 0);
+      case CMD_VERSION         :  showVersion();
+      case CMD_CREATE          :  args.do_create      = true;   break;
+      case CMD_MIGRATE         :  args.do_migrate     = true;   break;
+      case CMD_DISCONNECT      :  args.do_disconnect  = true;   break;
+      case CMD_SILENTEXIST     :  args.is_silentexist = true;   break;
+      case CMD_SYNCSOCK                :  args.sync_sock      = optarg; break;
+      case CMD_SYNCMSG         :  args.sync_msg       = optarg; break;
+      case CMD_NID             :  args.nid = Evc_nidopt2nid(optarg,true); break;
+      case CMD_SILENT          :  --args.verbosity; break;
+      case CMD_MIGRATESELF     :
+       args.do_migrate     = true;
+       args.do_migrateself = true;
+       break;
+
+      default          :
+       WRITE_MSG(2, "Try '");
+       WRITE_STR(2, argv[0]);
+       WRITE_MSG(2, " --help' for more information.\n");
+       return wrapper_exit_code;
+       break;
+    }
+  }
+
+  signal(SIGCHLD, SIG_DFL);
+  
+  if (args.do_migrateself)
+    args.nid = Evc_get_task_nid(0);
+  
+  if (!args.do_create && !args.do_migrate)
+    WRITE_MSG(2, "Neither '--create' nor '--migrate' specified; try '--help' for more information\n");
+  else if (args.do_create && args.do_migrate)
+    WRITE_MSG(2, "Can not specify '--create' and '--migrate' at the same time; try '--help' for more information\n");
+  else if (!args.do_create && args.nid==VC_DYNAMIC_XID)
+    WRITE_MSG(2, "Can not migrate to an unknown context\n");
+  else if (optind>=argc)
+    WRITE_MSG(2, "No command given; use '--help' for more information.\n");
+  else
+    return doit(&args, argv);
+
+  return wrapper_exit_code;
+}
index 1fd5920..a7546e4 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: parserpmdump.c,v 1.1 2003/09/29 22:01:57 ensc Exp $
+// $Id: parserpmdump.c 2 2003-09-29 22:01:59Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on parserpmdump.cc by Jacques Gelinas
index 277f0f6..adbd46f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: readlink.c,v 1.4 2005/03/24 12:44:17 ensc Exp $
+// $Id: readlink.c 1980 2005-03-24 12:44:17Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index d18822a..20e0641 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: rebootmgr.c,v 1.8 2004/02/17 19:55:54 ensc Exp $
+// $Id: rebootmgr.c 923 2004-02-17 19:55:54Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on rebootmgr.cc by Jacques Gelinas
index 932cc06..e4994d2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: reducecap.c,v 1.18 2005/03/24 12:44:17 ensc Exp $
+// $Id: reducecap.c 2279 2006-01-22 19:31:53Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on reducecap.cc by Jacques Gelinas
@@ -143,6 +143,10 @@ int wrapper_exit_code      = 255;
 static void
 showHelp(int fd, char const *cmd, int res)
 {
+#if !defined(VC_ENABLE_API_COMPAT) && !defined(VC_ENABLE_API_LEGACY)
+  WRITE_MSG(1, "ERROR: tools were built without legacy API support; reducecap will not work!\n\n");
+#endif
+  
   WRITE_MSG(fd, "Usage:\n  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
@@ -206,6 +210,8 @@ show(pid_t pid)
   printReducecap(&user);
 }
 
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
+
 static uint32_t
 getCap(char const *cap)
 {
@@ -220,6 +226,8 @@ getCap(char const *cap)
   return (1<<bit);
 }
 
+#endif
+
 int main (int argc, char *argv[])
 {
   uint32_t             remove  = 0;
@@ -248,9 +256,10 @@ int main (int argc, char *argv[])
     switch (c) {
       case CMD_HELP            :  showHelp(1, argv[0], 0);
       case CMD_VERSION         :  showVersion();
-      case CMD_SECURE          :  remove  = vc_get_insecurebcaps(); break;
       case CMD_SHOW            :  do_show = true;  break; 
       case CMD_PID             :  pid     = atoi(optarg);   break;
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
+      case CMD_SECURE          :  remove  = vc_get_insecurebcaps(); break;
       case CMD_CAP             :  remove  = getCap(optarg); break;
       case CMD_FLAG            : {
        struct vc_err_listparser        err;
@@ -264,6 +273,11 @@ int main (int argc, char *argv[])
        }
        break;
       }
+#else
+      case CMD_SECURE          :  
+      case CMD_CAP             :
+      case CMD_FLAG            :  flags = 0; remove = 0; break;
+#endif
     }
   }
 
@@ -279,6 +293,7 @@ int main (int argc, char *argv[])
 
   if (do_show && optind==argc)
     show(pid);
+#if defined(VC_ENABLE_API_COMPAT) || defined(VC_ENABLE_API_LEGACY)
   else {
     Evc_new_s_context(VC_SAMECTX, remove, flags);
     if (do_show) show(pid);
@@ -286,6 +301,14 @@ int main (int argc, char *argv[])
     WRITE_MSG(2, "Executing\n");
     Eexecvp(argv[optind], argv+optind);
   }
-
+#else
+  else if (do_show)
+    show(pid);
+  else {
+    WRITE_MSG(2, "reducecap: tools were built without legacy API support; can not continue\n");
+    exit(wrapper_exit_code);
+  }
+#endif
+    
   return EXIT_SUCCESS;
 }
index 5420d5e..9830c5d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: rpm-fake-resolver.c,v 1.15 2005/07/03 13:16:34 ensc Exp $    --*- c -*--
+// $Id: rpm-fake-resolver.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -116,7 +116,7 @@ parseArgs(struct ArgInfo *args, int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        exit(1);
        break;
     }
@@ -250,7 +250,7 @@ daemonize(struct ArgInfo const UNUSED * args, int pid_fd)
 
 static void
 activateContext(xid_t xid, bool in_ctx,
-               uint32_t xid_caps, int xid_flags)
+               uint32_t UNUSED xid_caps, int UNUSED xid_flags)
 {
   if (in_ctx) {
     struct vc_ctx_flags                flags = {
index 619dfad..5cc55fe 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: rpm-fake.c,v 1.32 2005/07/03 12:26:28 ensc Exp $    --*- c++ -*--
+// $Id: rpm-fake.c 2421 2006-12-09 16:12:18Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -66,10 +66,6 @@ int rpm_execcon(unsigned int verified,
 #undef _POSIX_SOURCE
 #include "capability-compat.h"
 
-#ifndef CLONE_NEWNS
-#  define CLONE_NEWNS  0x00020000
-#endif
-
 #define LIBNAME                "rpm-fake.so"
 #define PLATFORM_FILE  "/etc/rpm/platform"
 
index ed60c94..c91f52a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: save_ctxinfo.c,v 1.16 2005/02/15 18:04:11 ensc Exp $    --*- c++ -*--
+// $Id: save_ctxinfo.c 1859 2005-02-15 18:04:11Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 520a085..afab07c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: secure-mount.c,v 1.24 2005/03/24 12:45:06 ensc Exp $    --*- c++ -*--
+// $Id: secure-mount.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -52,6 +52,7 @@
 #include <sys/wait.h>
 #include <libgen.h>
 #include <signal.h>
+#include <stdlib.h>
 
 #define ENSC_WRAPPERS_FCNTL    1
 #define ENSC_WRAPPERS_UNISTD   1
@@ -398,6 +399,27 @@ secureChdir(char const *dir, struct Options const *opt)
   return false;
 }
 
+static bool
+canHandleInternal(struct MountInfo const *mnt)
+{
+  static char const *  FS[] = {
+    "tmpfs", "sysfs", "proc", "sockfs", "pipefs", "futexfs",
+    "inotifyfs", "devpts", "ext3", "ext2", "ramfs",
+    "hugetlbfs", "usbfs", "binfmt_misc",
+    0
+  };
+  char const **                i;
+  
+  if (!mnt)                                 return false;
+  else if ((mnt->flag & (MS_BIND|MS_MOVE))) return true;
+  else if (mnt->type==0)                    return false;
+
+  for (i=FS+0; *i!=0; ++i)
+    if (strcmp(mnt->type, *i)==0) return true;
+
+  return false;
+}
+
 static bool
 mountSingle(struct MountInfo const *mnt, struct Options const *opt)
 {
@@ -406,13 +428,10 @@ mountSingle(struct MountInfo const *mnt, struct Options const *opt)
   if (!secureChdir(mnt->dst, opt))
     return false;
 
-  if (mnt->flag & (MS_BIND|MS_MOVE)) {
-    unsigned long      flag = mnt->flag;
-    if ((flag & MS_NODEV)==0) flag |= MS_NODEV;
-    
+  if (canHandleInternal(mnt)) {
     if (mount(mnt->src, ".",
              mnt->type ? mnt->type : "",
-             flag,  mnt->data)==-1) {
+             mnt->flag,  mnt->data)==-1) {
       perror("secure-mount: mount()");
       return false;
     }
@@ -443,6 +462,8 @@ static bool
 transformOptionList(struct MountInfo *info, size_t UNUSED *col)
 {
   char const *                 ptr = info->data;
+  char *                       data = malloc(strlen(info->data));
+  char *                       dst = data;
 
   do {
     char const *               pos = strchr(ptr, ',');
@@ -457,6 +478,13 @@ transformOptionList(struct MountInfo *info, size_t UNUSED *col)
       info->mask  |=  opt->mask;
       info->xflag |=  opt->xflag;
     }
+    else {
+      if (dst != data)
+        *(dst++) = ',';
+      strncpy(dst, ptr, pos-ptr);
+      dst += pos - ptr;
+      *dst = '\0';
+    }
 
     if (*pos!='\0')
       ptr = pos+1;
@@ -465,6 +493,7 @@ transformOptionList(struct MountInfo *info, size_t UNUSED *col)
 
   } while (*ptr!='\0');
 
+  info->data = data;
   return true;
 }
 
@@ -500,7 +529,10 @@ static enum {prDOIT, prFAIL, prIGNORE}
 
   if      (strcmp(info->type, "swap")  ==0) return prIGNORE;
   else if (strcmp(info->type, "none")  ==0) info->type  = 0;
-  else if (strcmp(info->type, "devpts")==0) info->mask |= MS_NODEV;
+  else if (strcmp(info->type, "devpts")==0) {
+    info->mask |=  MS_NODEV;
+    info->flag &= ~MS_NODEV;
+  }
 
   if (col) *col = err_col;
   if (!transformOptionList(info,col)) return prFAIL;
@@ -624,7 +656,7 @@ int main(int argc, char *argv[])
     .src         = 0,
     .dst         = 0,
     .type        = 0,
-    .flag        = 0,
+    .flag        = MS_NODEV,
     .xflag      = 0,
     .data        = 0,
   };
@@ -664,7 +696,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index 9fadca3..134439f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: setattr.c,v 1.11 2004/03/05 19:50:45 ensc Exp $    --*- c -*--
+// $Id: setattr.c 1112 2004-03-05 19:50:45Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index d2e11d0..1067568 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: showperm.c,v 1.2 2003/09/30 20:16:53 ensc Exp $
+// $Id: showperm.c 19 2003-09-30 20:16:53Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on showperm.cc by Jacques Gelinas
index 2d4f082..f55aa7c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: sigexec.c,v 1.1 2004/05/11 18:32:58 ensc Exp $    --*- c -*--
+// $Id: sigexec.c 1562 2004-05-11 18:32:58Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index c6a7253..12a6059 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: stack-start.h,v 1.2 2004/02/20 17:02:20 ensc Exp $    --*- c++ -*--
+// $Id: stack-start.h 968 2004-02-20 17:02:20Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index bd6854e..2000d0b 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.9 2005/03/17 14:54:18 ensc Exp $            --*- makefile -*--
+## $Id: Makefile-files 2245 2006-01-04 17:28:42Z ensc $                --*- makefile -*--
 
 ## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
 src_testsuite_check_active_PRGS =      src/testsuite/vunify-functest \
                                        src/testsuite/chcontext-test \
                                        src/testsuite/chbind-test
+
 src_testsuite_check_passive_PRGS =     src/testsuite/rpm-fake-test
 
+if ENSC_HAVE_C99_COMPILER
+if ENSC_HAVE_BEECRYPT
+src_testsuite_check_passive_PRGS +=    src/testsuite/hashcalc          \
+                                       src/testsuite/hashcalc-plain
+endif
+endif
 
 check_PROGRAMS +=                      $(src_testsuite_check_passive_PRGS) \
                                        $(src_testsuite_check_active_PRGS)
 
 if ENSC_HAVE_C99_COMPILER
 src_testsuite_check_src_C99_SCRPTS =   src/testsuite/vunify-test.sh
+if ENSC_HAVE_BEECRYPT
+src_testsuite_check_src_C99_SCRPTS +=  src/testsuite/hashcalc-plain.sh         \
+                                       src/testsuite/hashcalc.sh
+endif
 else
 src_testsuite_check_src_C99_SCRPTS =
 endif
@@ -40,8 +51,11 @@ TESTS +=                             $(src_testsuite_check_active_PRGS) \
                                        $(src_testsuite_check_src_SCRPTS) \
                                        $(src_testsuite_check_gen_SCRPTS)
 
-EXTRA_DIST +=                          $(src_testsuite_check_src_SCRPTS)
-
+EXTRA_DIST +=                          $(src_testsuite_check_src_SCRPTS) \
+                                       src/testsuite/vunify-test.sh \
+                                       src/testsuite/hashcalc.sh \
+                                       src/testsuite/hashcalc-plain.sh \
+                                       src/testsuite/vwait-test.sh
 
 src_testsuite_rpm_fake_test_SOURCES =  src/testsuite/rpm-fake-test.c
 
@@ -57,6 +71,21 @@ src_testsuite_chcontext_test_LDADD = lib/libvserver.la $(LIBINTERNAL)
 src_testsuite_chbind_test_SOURCES =    src/testsuite/chbind-test.c
 src_testsuite_chbind_test_LDADD =      lib/libvserver.la
 
+src_testsuite_hashcalc_SOURCES =       src/testsuite/hashcalc.c
+src_testsuite_hashcalc_plain_SOURCES = src/testsuite/hashcalc-plain.c
+if ENSC_CAN_BEECRYPT_WITH_DIETLIBC
+src_testsuite_hashcalc_LDADD =         $(LIBINTERNAL) $(LIBENSCVECTOR) -lbeecrypt $(VSERVER_LDADDS)
+src_testsuite_hashcalc_LDFLAGS =       $(VSERVER_LDFLGS)
+
+src_testsuite_hashcalc_plain_LDADD =   $(LIBINTERNAL) $(LIBENSCVECTOR) -lbeecrypt $(VSERVER_LDADDS)
+src_testsuite_hashcalc_plain_LDFLAGS = $(VSERVER_LDFLGS)
+else
+src_testsuite_hashcalc_LDADD =         $(LIBINTERNAL_GLIBC) $(LIBENSCVECTOR_GLIBC) $(LIBVSERVER_GLIBC) -lbeecrypt
+src_testsuite_hashcalc_LDFLAGS =
+
+src_testsuite_hashcalc_plain_LDADD =   $(LIBINTERNAL_GLIBC) $(LIBENSCVECTOR_GLIBC) $(LIBVSERVER_GLIBC) -lbeecrypt
+src_testsuite_hashcalc_plain_LDFLAGS =
+endif
 
 src_testsuite_CPPFLAGS =               -I $(top_srcdir)/src -D ENSC_TESTSUITE
 
index 187ad2e..01eac7b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chbind-test.c,v 1.1 2004/02/09 23:30:20 ensc Exp $    --*- c -*--
+// $Id: chbind-test.c 847 2004-02-09 23:30:20Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4a2db2c..021e47c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: chcontext-test.c,v 1.2 2004/02/09 23:40:45 ensc Exp $    --*- c -*--
+// $Id: chcontext-test.c 856 2004-02-09 23:40:45Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/src/testsuite/hashcalc-plain.c b/src/testsuite/hashcalc-plain.c
new file mode 100644 (file)
index 0000000..5b6ff47
--- /dev/null
@@ -0,0 +1,92 @@
+// $Id: hashcalc-plain.c 2245 2006-01-04 17:28:42Z ensc $    --*- 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.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <beecrypt/beecrypt.h>
+#include <stdbool.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+
+#define ENSC_TESTSUITE
+#include "lib_internal/coreassert.h"
+
+#define HASH_BLOCKSIZE         0x10000000u
+
+static bool
+convertDigest(char res[], hashFunctionContext * h_ctx)
+{
+  static char const            HEX_DIGIT[] = "0123456789abcdef";
+  size_t                       d_size   = h_ctx->algo->digestsize;
+    
+  unsigned char                        digest[d_size];
+  size_t                       out = 0;
+
+  if (hashFunctionContextDigest(h_ctx, digest)==-1)
+    return false;
+  
+  for (size_t in=0; in<d_size; ++in) {
+    res[out++]  = HEX_DIGIT[digest[in] >>    4];
+    res[out++]  = HEX_DIGIT[digest[in] &  0x0f];
+  }
+  res[out++] = '\0';
+  
+  return true;
+}
+
+int main(int UNUSED argc, char *argv[])
+{
+  int                  fd = open(argv[1], O_NOFOLLOW|O_NONBLOCK|O_RDONLY|O_NOCTTY);
+  hashFunctionContext  hash_context;
+  hashFunction const   *method;
+  struct stat          st;
+  off_t                        size;
+  loff_t               offset = 0;
+  char                 digest[1024];
+
+  assert((method = hashFunctionFind(argv[2]))!=0);
+  assert(hashFunctionContextInit(&hash_context, method)!=-1);
+
+  assert(fstat(fd, &st)!=-1);
+  assert(hashFunctionContextReset(&hash_context)!=-1);
+
+  size = st.st_size;
+
+  while (offset < size) {
+    loff_t volatile            buf_size = size-offset;
+    void const *               buf;
+    if (buf_size>HASH_BLOCKSIZE) buf_size = HASH_BLOCKSIZE;
+
+    assert((buf=mmap(0, buf_size, PROT_READ, MAP_SHARED, fd, offset))!=0);
+    offset += buf_size;
+    assert(hashFunctionContextUpdate(&hash_context, buf, buf_size)!=-1);
+    munmap((void *)(buf), buf_size);
+  }
+    
+  assert(convertDigest(digest, &hash_context));
+  
+  Vwrite(1, digest, strlen(digest));
+  Vwrite(1, "\n", 1);
+  
+  hashFunctionContextFree(&hash_context);
+  
+  return 0;
+}
diff --git a/src/testsuite/hashcalc-plain.sh b/src/testsuite/hashcalc-plain.sh
new file mode 100755 (executable)
index 0000000..f5fd724
--- /dev/null
@@ -0,0 +1,19 @@
+#! /bin/bash
+
+# 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.
+
+hashcalc=${builddir:-.}/src/testsuite/hashcalc-plain \
+exec ${srcdir:-.}/src/testsuite/hashcalc.sh
diff --git a/src/testsuite/hashcalc.c b/src/testsuite/hashcalc.c
new file mode 100644 (file)
index 0000000..3b84e95
--- /dev/null
@@ -0,0 +1,74 @@
+// $Id: hashcalc.c 2209 2005-10-29 10:33:02Z ensc $    --*- c -*--
+
+// Copyright (C) 2005 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.
+
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#define ENSC_TESTSUITE
+#define main   Xmain
+#  include "../vhashify.c"
+#undef main
+
+#include "lib_internal/coreassert.h"
+
+int main(int UNUSED argc, char *argv[])
+{
+  int          fd = open(argv[1], O_NOFOLLOW|O_NONBLOCK|O_RDONLY|O_NOCTTY);
+  struct stat  st;
+  off_t                size;
+  struct {
+      volatile unsigned int    canary0;
+      volatile unsigned int    canary1;
+      HashPath                         d;
+      volatile unsigned int    canary2;
+      volatile unsigned int    canary3;
+  } __attribute__((__packed__))        d_path;
+
+  d_path.canary0 = 0x12345678;
+  d_path.canary1 = 0x21436587;
+  d_path.canary2 = 0x89abcdef;
+  d_path.canary3 = 0x98badcfe;
+  memset(d_path.d, 0x66, sizeof d_path.d);
+
+  global_info.hash_conf.method = hashFunctionFind(argv[2]);
+  
+  assert(hashFunctionContextInit(&global_info.hash_context,
+                                global_info.hash_conf.method)!=-1);
+
+  assert(fstat(fd, &st)!=-1);
+
+    // set members of st to defined values so that the hash (which is
+    // influenced by them) is predictable
+  size = st.st_size;
+  memset(&st, 0, sizeof st);
+  st.st_size = size;
+  
+  assert(calculateHashFromFD(fd, d_path.d, &st));
+  assert(d_path.canary0 == 0x12345678);
+  assert(d_path.canary1 == 0x21436587);
+  assert(d_path.canary2 == 0x89abcdef);
+  assert(d_path.canary3 == 0x98badcfe);
+
+  Vwrite(1, d_path.d, strlen(d_path.d));
+  Vwrite(1, "\n", 1);
+  
+  hashFunctionContextFree(&global_info.hash_context);
+  
+  return 0;
+}
diff --git a/src/testsuite/hashcalc.sh b/src/testsuite/hashcalc.sh
new file mode 100755 (executable)
index 0000000..600109a
--- /dev/null
@@ -0,0 +1,71 @@
+#! /bin/bash
+
+# Copyright (C) 2005 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.
+
+: ${srcdir=.}
+: ${builddir=.}
+: ${srctestsuitedir=$srcdir/src/testsuite}
+: ${srcdatadir=$srctestsuitedir/data}
+: ${tmptopdir=/var/tmp}
+: ${hashcalc:=$builddir/src/testsuite/hashcalc}
+
+set -e
+
+tmpdir=$(mktemp -d "$tmptopdir"/rpm-fake-test.XXXXXX)
+trap "rm -rf $tmpdir" EXIT
+
+## Usage: createRandFile <name> <size>
+function createRandFile
+{
+    dd if=/dev/urandom of=$tmpdir/$1-$2 bs=$2 count=1 &>/dev/null
+}
+
+pg=$(getconf PAGESIZE)
+
+for i in 2 4 8 15 16 23 42 32 64 68 $pg $[ pg+42 ] $[ pg*2 ] \
+        $[ pg*2-23 ] $[ pg*23+42 ]; do
+    createRandFile rand $[ i - 1 ]
+    createRandFile rand $i
+    createRandFile rand $[ i + 1 ]
+done
+
+: > $tmpdir/rand-0
+
+test x"$ensc_use_expensive_tests" != xyes || {
+    dd if=/dev/urandom of=$tmpdir/rand-LARGE1 bs=$[ pg-1 ]        count=1 seek=124123
+    dd if=/dev/urandom of=$tmpdir/rand-LARGE2 bs=$[ 1024*1024-1 ] count=1 seek=5003
+    #dd if=/dev/urandom of=$tmpdir/rand-LARGE3 bs=$[ pg-1 ] count=1 seek=12412373
+} &>/dev/null
+
+for i in $tmpdir/rand-*; do
+    sha1_0=$($hashcalc "$i" SHA-1 | tr -d / )
+    sha1_1=$(sha1sum   "$i" | awk '{ print $1}' )
+
+    test x"$sha1_0" = x"$sha1_1" || {
+       echo "SHA-1 mismatch at $(basename $i)"
+       exit 1
+    }
+
+    md5_0=$($hashcalc "$i" MD5  | tr -d / )
+    md5_1=$(md5sum   "$i" | awk '{ print $1}' )
+
+    test x"$md5_0" = x"$md5_1" || {
+       echo "MD5 mismatch at $(basename $i)"
+       exit 1
+    }
+done
+
+true
index 57054e1..d581daa 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: rpm-fake-test.c,v 1.4 2004/02/27 18:57:28 ensc Exp $    --*- c -*--
+// $Id: rpm-fake-test.c 1044 2004-02-27 18:57:28Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 965bb6f..a224b5d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vunify-functest.c,v 1.4 2004/02/17 19:51:21 ensc Exp $    --*- c -*--
+// $Id: vunify-functest.c 920 2004-02-17 19:51:21Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
diff --git a/src/testsuite/vwait-test.sh b/src/testsuite/vwait-test.sh
new file mode 100755 (executable)
index 0000000..3b8d041
--- /dev/null
@@ -0,0 +1,62 @@
+#! /bin/bash
+
+: ${srcdir:=.}
+: ${builddir:=.}
+: ${XID:=1234}
+
+test "$(id -u)" -eq 0 || {
+    echo "Skipping vwait-test; it requires root rights" >&2
+    exit 0
+}
+
+
+! $builddir/src/vserver-info $XID RUNNING || {
+    echo "Skipping vwait-test because context '$XID' is already used" >&2
+    exit 0
+}
+
+tmpdir=$(mktemp -d /tmp/vwaittest.XXXXXX)
+trap "rm -rf $tmpdir" EXIT
+
+: ${VWAIT:=$builddir/src/vwait}
+: ${CHCONTEXT:=$builddir/src/chcontext-compat}
+
+
+
+############
+$CHCONTEXT  --disconnect --silent --xid $XID /bin/bash -c "sleep 2"
+status=$($VWAIT --status-fd 1 -- $XID)
+rc=$?
+
+case $status  in
+    (FINISHED\ *)      ;;
+    (*)                echo "vwait exited with bad status '$status'/$rc" >&2
+               exit 1
+esac
+
+wait
+
+
+############
+$CHCONTEXT  --disconnect --silent --xid $XID /bin/bash -c "sleep 5"
+status=$($VWAIT --status-fd 1 --timeout 1 -- $XID)
+rc=$?
+
+case $status  in
+    (TIMEOUT)  ;;
+    (*)                echo "vwait exited with bad status '$status'/$rc" >&2
+               exit 1
+esac
+
+
+
+############
+$CHCONTEXT --disconnect --silent --xid $XID /bin/bash -c "sleep 5"
+status=$($VWAIT --terminate --status-fd 1 --timeout 1 -- $XID)
+rc=$?
+
+case $status  in
+    (KILLED)   ;;
+    (*)                echo "vwait exited with bad status '$status'/$rc" >&2
+               exit 1
+esac
index b72d212..c5187de 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: util.h,v 1.11 2004/02/26 13:10:15 ensc Exp $    --*- c -*--
+// $Id: util.h 1012 2004-02-26 13:10:15Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index e06bf60..1339e15 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vattribute.c,v 1.14 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: vattribute.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -175,7 +175,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return 255;
        break;
     }
index 6d04174..78dc1b6 100644 (file)
@@ -1,6 +1,6 @@
-// $Id: vcontext.c,v 1.18 2005/04/28 18:08:12 ensc Exp $    --*- c -*--
+// $Id: vcontext.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
 
-// Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2004-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
@@ -33,6 +33,9 @@
 #include <sys/un.h>
 #include <assert.h>
 #include <signal.h>
+#include <sys/types.h>
+#include <pwd.h>
+#include <grp.h>
 
 #include <linux/personality.h>
 
@@ -62,6 +65,7 @@
 #define CMD_NAMESPACE          0x400d
 #define CMD_PERSTYPE           0x400e
 #define CMD_PERSFLAG           0x400f
+#define CMD_VLOGIN             0x4010
 
 
 struct option const
@@ -85,6 +89,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,11 +105,12 @@ 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;
     bool               do_chroot;
-    uid_t              uid;
+    char const *       uid;
     xid_t              xid;
     char const *       sync_sock;
     char const *       sync_msg;
@@ -112,6 +118,8 @@ struct Arguments {
 
 int            wrapper_exit_code = 255;
 
+void do_vlogin(int argc, char *argv[], int ind);
+
 static void
 showHelp(int fd, char const *cmd, int res)
 {
@@ -145,6 +153,7 @@ showHelp(int fd, char const *cmd, int res)
            "    --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"
@@ -159,7 +168,7 @@ showVersion()
   WRITE_MSG(1,
            "vcontext " VERSION " -- manages the creation of security contexts\n"
            "This program is part of " PACKAGE_STRING "\n\n"
-           "Copyright (C) 2004 Enrico Scholz\n"
+           "Copyright (C) 2004-2006 Enrico Scholz\n"
            VERSION_COPYRIGHT_DISCLAIMER);
   exit(0);
 }
@@ -233,7 +242,7 @@ doExternalSync(int fd, char const *msg)
 }
 
 static inline ALWAYSINLINE int
-doit(struct Arguments const *args, char *argv[])
+doit(struct Arguments const *args, int argc, char *argv[])
 {
   int                  p[2][2];
   pid_t                        pid = initSync(p, args->do_disconnect);
@@ -265,8 +274,8 @@ doit(struct Arguments const *args, char *argv[])
     if (args->do_chroot) {
       Echroot(".");
       if (args->set_namespace) {
-       if (args->do_migrateself)  Evc_set_namespace();
-       else if (args->do_migrate) Evc_enter_namespace(xid);
+       if (args->do_migrateself)  Evc_set_namespace(xid, 0);
+       else if (args->do_migrate) Evc_enter_namespace(xid, 0);
       }
     }
 
@@ -275,9 +284,35 @@ doit(struct Arguments const *args, char *argv[])
     if (args->do_migrate && !args->do_migrateself)
       Evc_ctx_migrate(xid);
 
-    if (args->uid!=(uid_t)(-1) && getuid()!=args->uid) {
-      Esetuid(args->uid);
-      if (getuid()!=args->uid) {
+    if (args->uid != NULL) {
+      uid_t uid = 0;
+      unsigned long tmp;
+
+      if (!isNumberUnsigned(args->uid, &tmp, false)) {
+#ifdef __dietlibc__
+       struct passwd *pw;
+       pw = getpwnam(args->uid);
+       if (pw == NULL) {
+         WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "Username '");
+         WRITE_STR(2, args->uid);
+         WRITE_MSG(2, "' does not exist\n");
+         return wrapper_exit_code;
+       }
+       uid = pw->pw_uid;
+       Einitgroups(args->uid, pw->pw_gid);
+       Esetgid(pw->pw_gid);
+#else
+       WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "Uid '");
+       WRITE_STR(2, args->uid);
+       WRITE_MSG(2, "' is not a number\n");
+       return wrapper_exit_code;
+#endif
+      }
+      else
+       uid = (uid_t) tmp;
+
+      Esetuid((uid_t) uid);
+      if (getuid()!=uid) {
        WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "Something went wrong while changing the UID\n");
        exit(wrapper_exit_code);
       }
@@ -287,12 +322,15 @@ doit(struct Arguments const *args, char *argv[])
        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(argc, argv, optind);
     doSyncStage2(p, args->do_disconnect);
 
     PERROR_Q(ENSC_WRAPPERS_PREFIX "execvp", argv[optind]);
@@ -341,11 +379,12 @@ 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,
     .verbosity         = 1,
-    .uid               = -1,
+    .uid               = NULL,
     .xid               = VC_DYNAMIC_XID,
     .personality_type  = VC_BAD_PERSONALITY,
     .personality_flags = 0,
@@ -363,13 +402,14 @@ 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;
       case CMD_SILENTEXIST     :  args.is_silentexist = true;   break;
       case CMD_SYNCSOCK                :  args.sync_sock      = optarg; break;
       case CMD_SYNCMSG         :  args.sync_msg       = optarg; break;
-      case CMD_UID             :  args.uid = atol(optarg);      break;
+      case CMD_UID             :  args.uid            = optarg; break;
       case CMD_XID             :  args.xid = Evc_xidopt2xid(optarg,true); break;
       case CMD_SILENT          :  --args.verbosity; break;
       case CMD_PERSTYPE                :
@@ -386,7 +426,7 @@ int main (int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return wrapper_exit_code;
        break;
     }
@@ -398,7 +438,7 @@ int main (int argc, char *argv[])
     args.xid = Evc_get_task_xid(0);
   
   if (!args.do_create && !args.do_migrate)
-    WRITE_MSG(2, "Neither '--create' nor '--migrate specified; try '--help' for more information\n");
+    WRITE_MSG(2, "Neither '--create' nor '--migrate' specified; try '--help' for more information\n");
   else if (args.do_create  &&  args.do_migrate)
     WRITE_MSG(2, "Can not specify '--create' and '--migrate' at the same time; try '--help' for more information\n");
   else if (!args.do_migrate && args.is_initpid)
@@ -408,7 +448,7 @@ int main (int argc, char *argv[])
   else if (optind>=argc)
     WRITE_MSG(2, "No command given; use '--help' for more information.\n");
   else
-    return doit(&args, argv);
+    return doit(&args, argc, argv);
 
   return wrapper_exit_code;
 }
index 51db03a..ba2d2af 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vcopy-init.hc,v 1.3 2005/03/18 00:24:27 ensc Exp $    --*- c -*--
+// $Id: vcopy-init.hc 1921 2005-03-18 00:24:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 5fd8638..b54b501 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vcopy.c,v 1.5 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: vcopy.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -274,7 +274,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index e774c35..2e43779 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vhashify-init.hc,v 1.3 2005/03/23 02:10:23 ensc Exp $    --*- c -*--
+// $Id: vhashify-init.hc 1967 2005-03-23 02:10:23Z ensc $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2950f97..34e32a9 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vhashify.c,v 1.6 2005/03/24 12:46:59 ensc Exp $    --*- c -*--
+// $Id: vhashify.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -269,6 +269,7 @@ convertDigest(HashPath d_path)
   return true;
 }
 
+#ifndef ENSC_TESTSUITE
 static bool
 addStatHash(hashFunctionContext *h_ctx, struct stat const * const st)
 {
@@ -291,9 +292,20 @@ addStatHash(hashFunctionContext *h_ctx, struct stat const * const st)
     SET_ATTR(mtime)
   };
 
+#undef SET_ATTR
+#undef DECL_ATTR
+
+  
   return hashFunctionContextUpdate(h_ctx, (void *)&tmp, sizeof tmp)!=-1;
 }
-
+#else
+static bool
+addStatHash(hashFunctionContext UNUSED *h_ctx, struct stat const UNUSED * const st)
+{
+  return true;
+}
+#endif
+  
 static bool
 calculateHashFromFD(int fd, HashPath d_path, struct stat const * const st)
 {
@@ -699,7 +711,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
@@ -740,4 +752,6 @@ int main(int argc, char *argv[])
   freeHashList(&global_info.hash_dirs);
   hashFunctionContextFree(&global_info.hash_context);
 #endif
+
+  return EXIT_SUCCESS;
 }
index c32f533..69cc96e 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vhashify.h,v 1.2 2005/03/18 00:25:37 ensc Exp $    --*- c -*--
+// $Id: vhashify.h 1922 2005-03-18 00:25:37Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 02f386a..cba3519 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vkill.c,v 1.8 2004/08/19 14:30:50 ensc Exp $    --*- c -*--
+// $Id: vkill.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
 #endif
 
 #include "vserver.h"
-#include "linuxvirtual.h"
 #include "util.h"
 
+#include "lib/virtual.h"
+
 #include <getopt.h>
 #include <signal.h>
 #include <stdlib.h>
@@ -182,7 +183,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
diff --git a/src/vlogin.c b/src/vlogin.c
new file mode 100644 (file)
index 0000000..f42bfd3
--- /dev/null
@@ -0,0 +1,287 @@
+// $Id: vlogin.c 2325 2006-09-21 19:42:31Z dhozac $
+
+// Copyright (C) 2006 Benedikt Böhm <hollow@gentoo.org>
+// 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 <string.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;
+  
+  /* convert terminal settings to raw mode */
+  cfmakeraw(&buf);
+
+  /* apply raw terminal settings */
+  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;
+}
+
+/* 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 activities */
+static void
+terminal_copy(int src, int dst)
+{
+  char buf[64];
+  ssize_t len;
+
+  /* read terminal activity */
+  len = read(src, buf, sizeof(buf));
+  if (len == -1 && errno != EINTR) {
+    perror("read()");
+    terminal_kill(SIGTERM);
+    exit(1);
+  } else if (len == -1)
+    return;
+
+  /* write activity to user */
+  EwriteAll(dst, 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(int argc, char *argv[], int ind)
+{
+  int slave;
+  pid_t pid;
+  int n, i;
+  fd_set rfds;
+
+  if (!isatty(0) || !isatty(1)) {
+    execvp(argv[ind], argv+ind);
+    return;
+  }
+
+  /* set terminal to raw mode */
+  terminal_raw();
+
+  /* reset terminal to its original mode */
+  atexit(terminal_reset);
+
+  /* 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[ind], argv+ind);
+  }
+
+  /* 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;
+
+  /* set process title for ps */
+  n = strlen(argv[0]);
+
+  for (i = 0; i < argc; i++)
+    memset(argv[i], '\0', strlen(argv[i]));
+
+  strncpy(argv[0], "login", n);
+
+  /* we want a redraw */
+  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))
+      terminal_copy(STDIN_FILENO, t.fd);
+
+    if (FD_ISSET(t.fd, &rfds))
+      terminal_copy(t.fd, STDOUT_FILENO);
+  }
+
+  /* never get here, signal handler exits */
+}
index 459cd0f..1536836 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vnamespace.c,v 1.5 2004/08/19 14:31:24 ensc Exp $    --*- c -*--
+// $Id: vnamespace.c 2415 2006-12-08 13:24:49Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -112,18 +112,18 @@ newNamespace(char const *cmd)
 }
 
 static void
-enterNamespace(xid_t xid)
+enterNamespace(xid_t xid, uint_least64_t mask)
 {
-  if (vc_enter_namespace(xid)==-1) {
+  if (vc_enter_namespace(xid, mask)==-1) {
     perror("vnamespace: vc_enter_namespace()");
     exit(255);
   }
 }
 
 static void
-setNamespace()
+setNamespace(xid_t xid, uint_least64_t mask)
 {
-  if (vc_set_namespace()==-1) {
+  if (vc_set_namespace(xid, mask)==-1) {
     perror("vnamespace: vc_set_namespace()");
     exit(255);
   }
@@ -165,7 +165,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return 255;
        break;
     }
@@ -182,9 +182,9 @@ int main(int argc, char *argv[])
     WRITE_MSG(2, "No command specified; try '--help' for more information\n");
   else {
     if      (do_new)     newNamespace(argv[optind]);
-    else if (do_set)     setNamespace();
+    else if (do_set)     setNamespace(VC_SAMECTX, CLONE_NEWNS|CLONE_FS);
     else if (do_cleanup) cleanupNamespace();
-    else if (do_enter)   enterNamespace(xid);
+    else if (do_enter)   enterNamespace(xid, CLONE_NEWNS|CLONE_FS);
 
     if (optind<argc)
       EexecvpD(argv[optind], argv+optind);
index 4aa7fdf..08be3ba 100644 (file)
--- a/src/vps.c
+++ b/src/vps.c
@@ -1,4 +1,4 @@
-// $Id: vps.c,v 1.13 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: vps.c 2396 2006-11-23 23:56:02Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -244,7 +244,7 @@ int main(int argc, char *argv[])
     WRITE_MSG(2,
              "WARNING: can not access /proc/uptime. Usually, this is caused by\n"
              "         procfs-security. Please read the FAQ for more details\n"
-             "         http://www.linux-vserver.org/index.php?page=Linux-Vserver+FAQ\n");
+             "         http://linux-vserver.org/Proc-Security\n");
 
   Epipe(p);
   pid = Efork();
index 0384eb6..2cb6dde 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vreboot.c,v 1.2 2003/09/30 20:16:53 ensc Exp $
+// $Id: vreboot.c 19 2003-09-30 20:16:53Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on vreboot.cc by Jacques Gelinas
index 5408112..00339e0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vrsetup.c,v 1.4 2004/02/27 04:42:10 ensc Exp $    --*- c -*--
+// $Id: vrsetup.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -97,7 +97,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index 6f93a61..40fe83d 100644 (file)
@@ -1,6 +1,7 @@
-// $Id: vsched.c,v 1.6 2004/12/21 07:19:20 ensc Exp $    --*- c -*--
+// $Id: vsched.c 2408 2006-11-27 14:06:57Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+// Copyright (C) 2006 Daniel Hokka Zakrisson <daniel@hozac.com>
 //  
 // 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
 #include <unistd.h>
 #include <getopt.h>
 #include <libgen.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <stddef.h>
 
 #define ENSC_WRAPPERS_PREFIX   "vsched: "
 #define ENSC_WRAPPERS_VSERVER  1
 #define ENSC_WRAPPERS_UNISTD   1
+#define ENSC_WRAPPERS_FCNTL    1
+#define ENSC_WRAPPERS_DIRENT   1
+#define ENSC_WRAPPERS_STAT     1
 #include <wrappers.h>
 
 #define CMD_HELP               0x1000
 #define CMD_TOK_MAX            0x4005
 #define CMD_CPU_MASK           0x4006
 #define CMD_PRIO_BIAS          0x4007
+#define CMD_FRATE2             0x4008
+#define CMD_INTERVAL2          0x4009
+#define CMD_CPUID              0x400a
+#define CMD_BUCKETID           0x400b
+#define CMD_FORCE              0x400c
+#define CMD_IDLE_TIME          0x400d
+#define CMD_DIR                        0x400e
+#define CMD_MISSING            0x400f
 
 int                    wrapper_exit_code = 255;
 
@@ -64,9 +80,39 @@ CMDLINE_OPTIONS[] = {
   { "priority_bias", required_argument, 0, CMD_PRIO_BIAS },
   { "priority-bias", required_argument, 0, CMD_PRIO_BIAS },
   { "cpu_mask",      required_argument, 0, CMD_CPU_MASK },
+  { "fill-rate2",    required_argument, 0, CMD_FRATE2 },
+  { "interval2",     required_argument, 0, CMD_INTERVAL2 },
+  { "cpu-id",        required_argument, 0, CMD_CPUID },
+  { "bucket-id",     required_argument, 0, CMD_BUCKETID },
+  { "force",         no_argument,       0, CMD_FORCE },
+  { "idle-time",     no_argument,       0, CMD_IDLE_TIME },
+  { "dir",           required_argument, 0, CMD_DIR },
+  { "missingok",     no_argument,       0, CMD_MISSING },
   {0,0,0,0}
 };
 
+struct sched_opt {
+  const char * const   name;
+  uint_least32_t       mask;
+  size_t               offset;
+};
+#define FOPT(NAME,MASK,FIELD)  { #NAME, MASK, offsetof(struct vc_set_sched, FIELD) }
+static struct sched_opt FILE_OPTIONS[] = {
+  FOPT(fill-rate,      VC_VXSM_FILL_RATE,                      fill_rate),
+  FOPT(interval,       VC_VXSM_INTERVAL,                       interval),
+  FOPT(tokens,         VC_VXSM_TOKENS,                         tokens),
+  FOPT(tokens-min,     VC_VXSM_TOKENS_MIN,                     tokens_min),
+  FOPT(tokens-max,     VC_VXSM_TOKENS_MAX,                     tokens_max),
+  FOPT(prio-bias,      VC_VXSM_PRIO_BIAS,                      priority_bias),
+  FOPT(priority-bias,  VC_VXSM_PRIO_BIAS,                      priority_bias),
+  FOPT(fill-rate2,     VC_VXSM_FILL_RATE2|VC_VXSM_IDLE_TIME,   fill_rate2),
+  FOPT(interval2,      VC_VXSM_INTERVAL2|VC_VXSM_IDLE_TIME,    interval2),
+  FOPT(cpu-id,         VC_VXSM_CPU_ID,                         cpu_id),
+  FOPT(bucket-id,      VC_VXSM_BUCKET_ID,                      bucket_id),
+  FOPT(idle-time,      VC_VXSM_IDLE_TIME,                      set_mask),
+  {0,0,0}
+};
+
 static void
 showHelp(int fd, char const *cmd, int res)
 {
@@ -75,9 +121,25 @@ showHelp(int fd, char const *cmd, int res)
   WRITE_MSG(fd, "Usage:\n  ");
   WRITE_STR(fd, cmd);
   WRITE_MSG(fd,
-           " [--xid <xid>] [--fill-rate <rate>] [--interval <interval>] [--tokens <tokens>] [--tokens-min <tokens>] [--tokens-max <tokens>] [--prio-bias <bias>] [--] [<command> <args>*]\n"
+           " [--xid <xid>] <sched options>* [--dir <dir>] [--] [<command> <args>*]\n"
            "\n"
-           "Please report bugs to " PACKAGE_BUGREPORT "\n");
+           "Options:\n"
+           "    --fill-rate <rate>\n"
+           "    --interval <interval>\n"
+           "    --tokens <tokens>\n"
+           "    --tokens-min <tokens>\n"
+           "    --tokens-max <tokens>\n"
+           "    --prio-bias <bias>\n"
+           "    --fill-rate2 <rate>\n"
+           "    --interval2 <interval>\n"
+           "    --cpu-id <CPU id>\n"
+           "    --bucket-id <bucket id>\n"
+           "    --idle-time    ...  set the idle time flag; this is required for\n"
+           "                        all updates to the scheduler to keep it enabled\n"
+           "    --force        ...  force update of all per-CPU schedulers now\n"
+           "    --dir <dir>    ...  read settings from <dir>\n"
+           "    --missingok    ...  do not fail when <dir> does not exist\n"
+           "\nPlease report bugs to " PACKAGE_BUGREPORT "\n");
 
   exit(res);
 }
@@ -89,20 +151,115 @@ showVersion()
            "vsched " VERSION " -- modifies scheduling parameters\n"
            "This program is part of " PACKAGE_STRING "\n\n"
            "Copyright (C) 2003,2004 Enrico Scholz\n"
+           "Copyright (C) 2006 Daniel Hokka Zakrisson\n"
            VERSION_COPYRIGHT_DISCLAIMER);
   exit(0);
 }
 
+static void do_dir_entry(struct vc_set_sched *sched, const char *name)
+{
+  int fd;
+  char buf[128];
+  signed long val;
+  struct sched_opt *opt;
+  ssize_t len;
+  char *newline;
+
+  for (opt = FILE_OPTIONS; opt->name != 0; opt++) {
+    if (strcmp(name, opt->name) == 0)
+      break;
+  }
+  if (opt->name == 0)
+    return;
+
+  fd = Eopen(name, O_RDONLY, 0);
+  len = Eread(fd, buf, sizeof(buf)-1);
+  Eclose(fd);
+  buf[len] = '\0';
+  if ((newline=strchr(buf, '\n')) != NULL)
+    *newline = '\0';
+
+  if (!isNumber(buf, &val, true)) {
+    WRITE_MSG(2, ENSC_WRAPPERS_PREFIX);
+    WRITE_STR(2, name);
+    WRITE_MSG(2, ": is not a number\n");
+    exit(1);
+  }
+
+  if (opt->offset != offsetof(struct vc_set_sched, set_mask))
+    *(int_least32_t *)(((char *)sched)+opt->offset) = (int_least32_t) val;
+
+  sched->set_mask |= opt->mask;
+}
+
+static void do_dir(xid_t xid, struct vc_set_sched *sched, const char *dir, int missing_ok, int per_cpu)
+{
+  DIR                  *dp;
+  struct dirent                *de;
+  int                  cur_fd = Eopen(".", O_RDONLY, 0);
+  struct stat          st;
+
+  if (chdir(dir)!=-1) {
+    dp = Eopendir(".");
+    while ((de = Ereaddir(dp)) != NULL) {
+      if (de->d_name[0] == '.' && (de->d_name[1] == '\0' || (de->d_name[1] == '.' && de->d_name[2] == '\0')))
+       continue;
+      Estat(de->d_name, &st);
+      if (S_ISDIR(st.st_mode))
+       continue;
+      do_dir_entry(sched, de->d_name);
+    }
+
+    /* set the values now */
+    if (vc_set_sched(xid, sched) == -1) {
+      perror(ENSC_WRAPPERS_PREFIX "vc_set_sched()");
+      exit(1);
+    }
+
+    if (!per_cpu) {
+      struct vc_set_sched per_cpu_sched;
+
+      rewinddir(dp);
+      while ((de = Ereaddir(dp)) != NULL) {
+       if (de->d_name[0] == '.' && (de->d_name[1] == '\0' || (de->d_name[1] == '.' && de->d_name[2] == '\0')))
+         continue;
+       Estat(de->d_name, &st);
+       if (S_ISDIR(st.st_mode)) {
+         per_cpu_sched.set_mask = sched->set_mask & (VC_VXSM_IDLE_TIME|VC_VXSM_FORCE);
+         do_dir(xid, &per_cpu_sched, de->d_name, 0, 1);
+       }
+      }
+    }
+
+    Eclosedir(dp);
+  }
+  else if (!missing_ok) {
+    perror(ENSC_WRAPPERS_PREFIX "chdir()");
+    exit(wrapper_exit_code);
+  }
+
+  Efchdir(cur_fd);
+}
+
 #define SETVAL(ATTR,MASK) \
-  sched.ATTR      = atoi(optarg); \
-  sched.set_mask |= MASK;
+  if (!isNumber(optarg, &tmp, false)) { \
+    WRITE_MSG(2, ENSC_WRAPPERS_PREFIX "non-numeric value specified for '--" #ATTR "'\n"); \
+    exit(wrapper_exit_code); \
+  } \
+  else { \
+    sched.ATTR      = tmp; \
+    sched.set_mask |= MASK; \
+  }
 
 int main(int argc, char *argv[])
 {
   xid_t                        xid   = VC_NOCTX;
+  signed long          tmp;
   struct vc_set_sched  sched = {
     .set_mask = 0
   };
+  const char           *dir = NULL;
+  int                  missing_ok = 0;
   
   while (1) {
     int                c = getopt_long(argc, argv, "+", CMDLINE_OPTIONS, 0);
@@ -121,10 +278,18 @@ int main(int argc, char *argv[])
       case CMD_CPU_MASK        :
        WRITE_MSG(2, "vsched: WARNING: the '--cpu_mask' parameter is deprecated and will not have any effect\n");
        break;
+      case CMD_FRATE2  :  SETVAL(fill_rate2,    VC_VXSM_FILL_RATE2); break;
+      case CMD_INTERVAL2:  SETVAL(interval2,     VC_VXSM_INTERVAL2);  break;
+      case CMD_CPUID   :  SETVAL(cpu_id,        VC_VXSM_CPU_ID);     break;
+      case CMD_BUCKETID        :  SETVAL(bucket_id,     VC_VXSM_BUCKET_ID);  break;
+      case CMD_DIR     :  dir = optarg;                              break;
+      case CMD_MISSING :  missing_ok = 1;                            break;
+      case CMD_FORCE   :  sched.set_mask |= VC_VXSM_FORCE;           break;
+      case CMD_IDLE_TIME:  sched.set_mask |= VC_VXSM_IDLE_TIME;       break;
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
@@ -135,7 +300,7 @@ int main(int argc, char *argv[])
     exit(wrapper_exit_code);
   }
 
-  if (sched.set_mask==0 && optind==argc) {
+  if (sched.set_mask==0 && dir==NULL && optind==argc) {
     WRITE_MSG(2, "Neither an option nor a program was specified; try '--help' for more information\n");
     exit(wrapper_exit_code);
   }
@@ -143,9 +308,14 @@ int main(int argc, char *argv[])
   if (xid==VC_NOCTX)
     xid = Evc_get_task_xid(0);
 
-  if (sched.set_mask!=0 && vc_set_sched(xid, &sched)==-1) {
-    perror("vc_set_sched()");
-    exit(255);
+  if (dir) {
+    do_dir(xid, &sched, dir, missing_ok, 0);
+  }
+  else {
+    if (sched.set_mask!=0 && vc_set_sched(xid, &sched)==-1) {
+      perror("vc_set_sched()");
+      exit(255);
+    }
   }
 
   if (optind<argc)
index 9a7d6e2..819c461 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-info.c,v 1.23 2005/07/04 22:36:46 ensc Exp $    --*- c -*--
+// $Id: vserver-info.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -320,6 +320,13 @@ getInitPid_emulated(char *buf, xid_t xid)
 
   return 0;
 }
+#else // VC_ENABLE_API_COMPAT
+static char *
+getInitPid_emulated(char UNUSED *buf, xid_t UNUSED xid)
+{
+  WRITE_MSG(2, "tools were built without compat API, getInitPid() not available\n");
+  return 0;
+}
 #endif // VC_ENABLE_API_COMPAT
 
 static char *
@@ -492,7 +499,7 @@ execQuery(char const *vserver, VserverTag tag, int argc, char *argv[])
       signed long              xid;    // type is a small hack, but should be ok...
       struct vc_vx_info                info;
        
-      if (isNumber(vserver, &xid) && xid>=0)
+      if (isNumber(vserver, &xid, true) && xid>=0)
        res = (vc_get_vx_info(xid, &info)==-1) ? 0 : "1";
       else
        res = (vc_getVserverCtx(vserver, vcCFG_AUTO, false, 0)==VC_NOCTX) ? 0 : "1";
@@ -555,7 +562,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        exit(1);
        break;
     }
index 96033ed..afda361 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-stat.c,v 1.22 2005/07/03 12:31:25 ensc Exp $
+// $Id: vserver-stat.c 2403 2006-11-24 23:06:08Z dhozac $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on vserver-stat.cc by Guillaum Dallaire and Jacques Gelinas
@@ -501,6 +501,8 @@ fillName(void *obj_v, void UNUSED * a)
     default            : {
       char *           cfgpath;
 
+      obj->cfgstyle  = vcCFG_AUTO;
+
       if ((cfgpath   = vc_getVserverByCtx(obj->xid, &obj->cfgstyle, 0))==0 ||
          (obj->name = vc_getVserverName(cfgpath, obj->cfgstyle))==0) {
        obj->name     = 0;
@@ -541,7 +543,7 @@ int main(int argc, char **argv)
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
@@ -566,7 +568,7 @@ int main(int argc, char **argv)
     WRITE_MSG(2,
              "WARNING: can not access /proc/uptime. Usually, this is caused by\n"
              "         procfs-security. Please read the FAQ for more details\n"
-             "         http://www.linux-vserver.org/index.php?page=Linux-Vserver+FAQ\n");
+             "         http://linux-vserver.org/Proc-Security\n");
 
   Vector_init(&xid_data, sizeof(struct XidData));
 
index f599f86..7792b38 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-visitdir.hc,v 1.1 2004/02/18 04:42:38 ensc Exp $    --*- c -*--
+// $Id: vserver-visitdir.hc 934 2004-02-18 04:42:38Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 921f12d..1eb28a7 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vshelper-sync.c,v 1.5 2005/05/05 09:21:21 ensc Exp $    --*- c -*--
+// $Id: vshelper-sync.c 2087 2005-05-05 09:21:21Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2e79c7f..a67d8b5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vuname.c,v 1.7 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: vuname.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -242,7 +242,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index da55f3f..d275f0f 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vunify-init.hc,v 1.7 2005/03/18 00:24:27 ensc Exp $    --*- c -*--
+// $Id: vunify-init.hc 1921 2005-03-18 00:24:27Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 3e97409..67fac76 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vunify.c,v 1.15 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: vunify.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -384,7 +384,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index 73096ea..866c82a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vunify.h,v 1.7 2005/03/18 03:56:06 ensc Exp $    --*- c -*--
+// $Id: vunify.h 1926 2005-03-18 03:56:06Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 031bae4..3740420 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vwait.c,v 1.1 2005/05/05 09:22:03 ensc Exp $    --*- c -*--
+// $Id: vwait.c 2403 2006-11-24 23:06:08Z dhozac $    --*- c -*--
 
 // Copyright (C) 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
@@ -22,7 +22,6 @@
 
 #include "lib/vserver.h"
 #include "lib/internal.h"
-#include "linuxvirtual.h"
 #include "util.h"
 
 #include <getopt.h>
@@ -30,6 +29,7 @@
 #include <time.h>
 #include <errno.h>
 #include <libgen.h>
+#include <assert.h>
 
 #define ENSC_WRAPPERS_PREFIX   "vwait: "
 #define ENSC_WRAPPERS_STDLIB   1
@@ -105,11 +105,12 @@ handler(int UNUSED num)
 static struct StatusType
 doit(struct Arguments const *args)
 {
-  time_t                       end_time = 0;
+  time_t                       end_time = 0, now = 0;
   struct StatusType            res;
   
   if (args->timeout>0) {
     end_time = time(0) + args->timeout;
+    siginterrupt(SIGALRM, 1);
     signal(SIGALRM, handler);
     alarm(args->timeout);
   }
@@ -118,11 +119,14 @@ doit(struct Arguments const *args)
     res.rc = vc_wait_exit(args->xid);
     
     if      (res.rc==-1 && errno!=EAGAIN && errno!=EINTR) {
+       // the error-case
       res.rc     = errno;
       res.status = stERROR;
       perror(ENSC_WRAPPERS_PREFIX "vc_wait_exit()");
     }
-    else if (res.rc==-1 && args->timeout>0 && time(0)>=end_time) {
+    else if (res.rc==-1 && args->timeout>0 && (now=time(0))>=end_time) {
+       // an EINTR or EAGAIN signal was delivered, a timeout was set and
+       // reached
       if (!args->do_terminate)
        res.status = stTIMEOUT;
       else {
@@ -131,9 +135,21 @@ doit(struct Arguments const *args)
        res.status = stKILLED;
       }
     }
-    else if (res.rc==-1)
-      continue;                // signal
+    else if (res.rc==-1) {
+       // an EINTR or EAGAIN signal was delivered but the timeout not set or
+       // not reached yet
+
+       // we are here, when args->timeout==0 or 'now' was initialized (and
+       // compared with 'end_time'). So, 'now' can be used below.
+      assert(args->timeout<=0 || (now < end_time));
+
+      if (args->timeout>0)     // (re)set the alarm-clock
+       alarm(end_time-now);
+
+      continue;
+    }
     else
+       // vc_wait_exit(2) finished successfully
       res.status = stFINISHED;
 
     break;
@@ -183,7 +199,7 @@ int main(int argc, char *argv[])
       default          :
        WRITE_MSG(2, "Try '");
        WRITE_STR(2, argv[0]);
-       WRITE_MSG(2, " --help\" for more information.\n");
+       WRITE_MSG(2, " --help' for more information.\n");
        return EXIT_FAILURE;
        break;
     }
index dda759f..3200f1e 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.9 2004/08/19 14:01:33 ensc Exp $  -*- makefile -*-
+## $Id: Makefile-files 1657 2004-08-19 14:01:33Z ensc $  -*- makefile -*-
 
 ## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index 4e71de3..01041ae 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: escaperoot.c,v 1.3 2004/01/13 14:56:26 ensc Exp $
+// $Id: escaperoot.c 570 2004-01-13 14:56:26Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on tests/escaperoot.cc by Jacques Gelinas
index e7ba48f..842e3a5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: forkbomb.c,v 1.2 2003/12/26 00:48:26 uid68581 Exp $
+// $Id: forkbomb.c 495 2003-12-26 00:48:26Z uid68581 $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on tests/forkbomb.cc by Jacques Gelinas
index 250b752..3b30e1c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getctx.c,v 1.9 2004/01/21 19:01:01 ensc Exp $    --*- c++ -*--
+// $Id: getctx.c 675 2004-01-21 19:01:01Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 8133001..aa49f32 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: getinitpid.c,v 1.3 2004/01/21 19:06:14 ensc Exp $    --*- c++ -*--
+// $Id: getinitpid.c 677 2004-01-21 19:06:14Z ensc $    --*- c++ -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 1d9a28b..435c819 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: testipc.c,v 1.2 2004/01/13 14:56:26 ensc Exp $
+// $Id: testipc.c 570 2004-01-13 14:56:26Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on tests/testipc.cc by Jacques Gelinas
index 53cf205..d577f15 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: testlimit.c,v 1.3 2004/01/13 14:56:26 ensc Exp $
+// $Id: testlimit.c 570 2004-01-13 14:56:26Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on tests/testlimit.cc by Jacques Gelinas
index 37f4168..0eac9c5 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: testopenf.c,v 1.3 2004/01/13 14:56:26 ensc Exp $
+// $Id: testopenf.c 570 2004-01-13 14:56:26Z ensc $
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 // based on tests/testopenf.cc by Jacques Gelinas
index 126284d..61e581a 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-info.c,v 1.3 2004/01/17 05:25:04 ensc Exp $    --*- c -*--
+// $Id: vserver-info.c 636 2004-01-17 05:25:04Z ensc $    --*- c -*--
 
 // Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 96ccfb4..4e4ce96 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile-files,v 1.7 2005/03/18 00:33:20 ensc Exp $    --*- makefile -*--
+## $Id: Makefile-files 1923 2005-03-18 00:33:20Z ensc $        --*- makefile -*--
 
 ## Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 ##  
index bf86854..633cfc2 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: configuration-init.c,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: configuration-init.c 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b09c31c..87c1e89 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: configuration.c,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: configuration.c 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 0efcc1a..f39f643 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: configuration.h,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: configuration.h 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 8b71080..b47a36b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: defaulttty.c,v 1.2 2005/01/26 15:30:40 ensc Exp $    --*- c -*--
+// $Id: defaulttty.c 1794 2005-01-26 15:30:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index f76b7b0..17e6319 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-add.c,v 1.3 2005/03/19 02:07:40 ensc Exp $    --*- c -*--
+// $Id: interface-add.c 1939 2005-03-19 02:07:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 318fe6d..17a0b7b 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-free.hc,v 1.1 2004/07/03 00:07:42 ensc Exp $    --*- c -*--
+// $Id: interface-free.hc 1628 2004-07-03 00:07:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b1bcd99..6fdf532 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-init.hc,v 1.1 2004/07/03 00:07:42 ensc Exp $    --*- c -*--
+// $Id: interface-init.hc 1628 2004-07-03 00:07:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 30bcd24..7edd252 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-print.c,v 1.2 2005/03/19 02:07:40 ensc Exp $    --*- c -*--
+// $Id: interface-print.c 1939 2005-03-19 02:07:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index dc9e10f..6737c07 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-read.c,v 1.3 2005/03/24 12:44:17 ensc Exp $    --*- c -*--
+// $Id: interface-read.c 1980 2005-03-24 12:44:17Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index b3c63d4..284c760 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface-remove.c,v 1.2 2005/03/19 02:07:40 ensc Exp $    --*- c -*--
+// $Id: interface-remove.c 1939 2005-03-19 02:07:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 20e49f4..707d335 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface.c,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: interface.c 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 8ed1b70..e55c619 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: interface.h,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: interface.h 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index ab7c0fb..ab268b3 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: main.c,v 1.5 2005/03/19 02:07:40 ensc Exp $    --*- c -*--
+// $Id: main.c 1939 2005-03-19 02:07:40Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 6f80f48..b85ae05 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: mount.c,v 1.2 2004/08/25 00:11:50 ensc Exp $    --*- c -*--
+// $Id: mount.c 1679 2004-08-25 00:11:50Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2668512..0b5acc7 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: mount.h,v 1.1 2004/08/19 15:02:57 ensc Exp $    --*- c -*--
+// $Id: mount.h 1676 2004-08-19 15:02:57Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 9c0df65..7f4bfff 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: scriptlets.c,v 1.3 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: scriptlets.c 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 25b4d9e..edfef44 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: undo.c,v 1.1 2004/08/19 15:02:57 ensc Exp $    --*- c -*--
+// $Id: undo.c 1676 2004-08-19 15:02:57Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 06ed88c..cb69c3d 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: undo.h,v 1.1 2004/08/19 15:02:57 ensc Exp $    --*- c -*--
+// $Id: undo.h 1676 2004-08-19 15:02:57Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 52a5fe7..0acdc2c 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vserver-start.h,v 1.2 2004/10/19 21:11:10 ensc Exp $    --*- c -*--
+// $Id: vserver-start.h 1746 2004-10-19 21:11:10Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 4193379..a92a2f0 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vshelper.c,v 1.2 2004/08/19 16:06:37 ensc Exp $    --*- c -*--
+// $Id: vshelper.c 1677 2004-08-19 16:06:37Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //  
index 2f2a21e..8f38611 100644 (file)
@@ -1,4 +1,4 @@
-// $Id: vshelper.h,v 1.1 2004/07/03 00:07:42 ensc Exp $    --*- c -*--
+// $Id: vshelper.h 1628 2004-07-03 00:07:42Z ensc $    --*- c -*--
 
 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 //