#!/bin/sh # Test that we don't follow .augnew symlinks (regression test) ROOT=$abs_top_builddir/build/test-put-symlink-augtemp LENSES=$abs_top_srcdir/lenses HOSTS=$ROOT/etc/hosts HOSTS_AUGNEW=${HOSTS}.augnew ATTACK_FILE=$ROOT/other/attack rm -rf $ROOT mkdir -p $(dirname $HOSTS) mkdir -p $(dirname $ATTACK_FILE) cat < $HOSTS 127.0.0.1 localhost EOF touch $ATTACK_FILE (cd $(dirname $HOSTS) && ln -s ../other/attack $(basename $HOSTS).augnew) # Test the normal save code path which would use a temp augnew file augtool --nostdinc -I $LENSES -r $ROOT > /dev/null </dev/null; then echo "/etc/hosts does not contain the modification" exit 1 fi if [ ! -h $HOSTS_AUGNEW ] ; then echo "/etc/hosts.augnew is not a symbolic link" exit 1 fi LINK=$(readlink $HOSTS_AUGNEW) if [ "x$LINK" != "x../other/attack" ] ; then echo "/etc/hosts.augnew no longer links to ../other/attack" exit 1 fi if [ -s $ATTACK_FILE ]; then echo "/other/attack now contains data, should be blank" exit 1 fi