From: <smi...@us...> - 2003-12-26 14:34:43
|
Update of /cvsroot/devil-linux/build/config/etc/init.d In directory sc8-pr-cvs1:/tmp/cvs-serv24895/config/etc/init.d Modified Files: jail Log Message: - fixed the corner case when an empty directory is being copied to the jail dir (fl) Index: jail =================================================================== RCS file: /cvsroot/devil-linux/build/config/etc/init.d/jail,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- jail 24 Dec 2003 01:18:33 -0000 1.24 +++ jail 26 Dec 2003 14:34:39 -0000 1.25 @@ -81,9 +81,13 @@ function copy_files_links() { FILES=$1 - [ -d "$FILES" ] && FILES=$FILES/* - - for FILE in $(ls -d $FILES) + if [ -d "$FILES" ]; then + mkdir -p $JAILDIR/$FILES + chown -f --reference=$FILES $JAILDIR/$FILES + FILES=$FILES/* + fi + + for FILE in $(ls -d $FILES 2>/dev/null) do if [ -d "$FILE" ]; then # a subdirectory found @@ -91,9 +95,11 @@ else # a file or symlink found TARGETDIR=${FILE%/*} - FILE=$FILE - mkdir -p $JAILDIR/$TARGETDIR - chown -f --reference=$TARGETDIR $JAILDIR/$TARGETDIR + if [ ! -d $JAILDIR/$TARGETDIR ]; then + # in case $1 contained only a file we have to create the directory + mkdir -p $JAILDIR/$TARGETDIR + chown -f --reference=$TARGETDIR $JAILDIR/$TARGETDIR + fi cp -dfpR $FILE $JAILDIR/$TARGETDIR if [ -L "$FILE" ]; then LINK=$(read_link $FILE) |