Diff of the two buildlogs: -- --- b1/build.log 2024-11-20 01:48:34.027232468 +0000 +++ b2/build.log 2024-11-20 01:51:19.379779916 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Nov 19 13:46:23 -12 2024 -I: pbuilder-time-stamp: 1732067183 +I: Current time: Wed Nov 20 15:48:43 +14 2024 +I: pbuilder-time-stamp: 1732067323 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/experimental-reproducible-base.tgz] I: copying local configuration @@ -25,52 +25,84 @@ dpkg-source: info: unpacking aide_0.19~dev20241110-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/28991/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/20924/tmp/hooks/D01_modify_environment starting +debug: Running on ff4a. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Nov 20 01:49 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/20924/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/20924/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='experimental' - HOME='/root' - HOST_ARCH='armhf' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="32" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.32(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=experimental + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='5a289f6a59884787b081e81210ee48ea' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='28991' - PS1='# ' - PS2='> ' + INVOCATION_ID=aeae93212a9844548fafdc4b43101db4 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=20924 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.gDwMEJjg/pbuilderrc_yzF8 --distribution experimental --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/experimental-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.gDwMEJjg/b1 --logfile b1/build.log aide_0.19~dev20241110-1.dsc' - SUDO_GID='113' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.gDwMEJjg/pbuilderrc_r6Ho --distribution experimental --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/experimental-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.gDwMEJjg/b2 --logfile b2/build.log aide_0.19~dev20241110-1.dsc' + SUDO_GID=113 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux virt64c 6.1.0-27-arm64 #1 SMP Debian 6.1.115-1 (2024-11-01) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-27-armmp-lpae #1 SMP Debian 6.1.115-1 (2024-11-01) armv7l GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/28991/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/20924/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -196,7 +228,7 @@ Get: 56 http://deb.debian.org/debian unstable/main armhf pkgconf-bin armhf 1.8.1-4 [29.2 kB] Get: 57 http://deb.debian.org/debian unstable/main armhf pkgconf armhf 1.8.1-4 [26.1 kB] Get: 58 http://deb.debian.org/debian unstable/main armhf zlib1g-dev armhf 1:1.3.dfsg+really1.3.1-1+b1 [905 kB] -Fetched 27.7 MB in 1s (27.2 MB/s) +Fetched 27.7 MB in 2s (12.9 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package autoconf-archive. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19686 files and directories currently installed.) @@ -448,7 +480,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/aide-0.19~dev20241110/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../aide_0.19~dev20241110-1_source.changes +I: user script /srv/workspace/pbuilder/20924/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for experimental +I: user script /srv/workspace/pbuilder/20924/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/aide-0.19~dev20241110/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../aide_0.19~dev20241110-1_source.changes dpkg-buildpackage: info: source package aide dpkg-buildpackage: info: source version 0.19~dev20241110-1 dpkg-buildpackage: info: source distribution experimental @@ -600,7 +636,7 @@ config.status: executing depfiles commands make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_build - make -j3 + make -j4 make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' bison -y -d -Wno-yacc -Wall -Werror -o src/conf_yacc.c -p conf src/conf_yacc.y make all-am @@ -632,6 +668,7 @@ | | size_t {aka unsigned int} | long unsigned int | %u +gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I./include -W -Wall -g -I/usr/include/e2p -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/aide-gen_list.o `test -f 'src/gen_list.c' || echo './'`src/gen_list.c src/do_md.c: In function 'calc_hashsums': src/do_md.c:282:82: warning: format '%zi' expects argument of type 'signed size_t', but argument 3 has type '__off64_t' {aka 'long long int'} [-Wformat=] 282 | log_msg(LOG_LEVEL_DEBUG, "hash calculation: stat size (%zi) reached for growing file '%s'", old_fs->st_size, fullpath); @@ -639,7 +676,6 @@ | | | | int __off64_t {aka long long int} | %lli -gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I./include -W -Wall -g -I/usr/include/e2p -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/aide-gen_list.o `test -f 'src/gen_list.c' || echo './'`src/gen_list.c gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I./include -W -Wall -g -I/usr/include/e2p -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/aide-getopt1.o `test -f 'src/getopt1.c' || echo './'`src/getopt1.c gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I./include -W -Wall -g -I/usr/include/e2p -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/aide-getopt.o `test -f 'src/getopt.c' || echo './'`src/getopt.c gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I./include -W -Wall -g -I/usr/include/e2p -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/aide-hashsum.o `test -f 'src/hashsum.c' || echo './'`src/hashsum.c @@ -659,7 +695,7 @@ make[2]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_test - make -j3 check "TESTSUITEFLAGS=-j3 --verbose" VERBOSE=1 + make -j4 check "TESTSUITEFLAGS=-j4 --verbose" VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make check-am make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' @@ -667,9 +703,7 @@ make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/check_aide-attributes.o `test -f 'src/attributes.c' || echo './'`src/attributes.c gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/check_aide-base64.o `test -f 'src/base64.c' || echo './'`src/base64.c -gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o tests/check_aide-check_hashsum.o `test -f 'tests/check_hashsum.c' || echo './'`tests/check_hashsum.c gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/check_aide-hashsum.o `test -f 'src/hashsum.c' || echo './'`src/hashsum.c -gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o tests/check_aide-check_seltree.o `test -f 'tests/check_seltree.c' || echo './'`tests/check_seltree.c gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/check_aide-seltree.o `test -f 'src/seltree.c' || echo './'`src/seltree.c gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o tests/check_aide-check_progress.o `test -f 'tests/check_progress.c' || echo './'`tests/check_progress.c gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/check_aide-md.o `test -f 'src/md.c' || echo './'`src/md.c @@ -681,6 +715,8 @@ gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o tests/check_aide-check_aide.o `test -f 'tests/check_aide.c' || echo './'`tests/check_aide.c gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o tests/check_aide-check_attributes.o `test -f 'tests/check_attributes.c' || echo './'`tests/check_attributes.c gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o tests/check_aide-check_base64.o `test -f 'tests/check_base64.c' || echo './'`tests/check_base64.c +gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o tests/check_aide-check_hashsum.o `test -f 'tests/check_hashsum.c' || echo './'`tests/check_hashsum.c +gcc -DHAVE_CONFIG_H -I. -I./include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o tests/check_aide-check_seltree.o `test -f 'tests/check_seltree.c' || echo './'`tests/check_seltree.c gcc -I./include -pthread -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -o check_aide tests/check_aide-check_aide.o tests/check_aide-check_attributes.o src/check_aide-attributes.o tests/check_aide-check_base64.o src/check_aide-base64.o tests/check_aide-check_hashsum.o src/check_aide-hashsum.o tests/check_aide-check_seltree.o src/check_aide-seltree.o tests/check_aide-check_progress.o src/check_aide-md.o src/check_aide-log.o src/check_aide-util.o src/check_aide-list.o src/check_aide-tree.o src/check_aide-rx_rule.o -lm -lcheck_pic -lrt -lm -lsubunit -lnettle -lpcre2-8 make[3]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make check-TESTS @@ -690,27 +726,27 @@ progress seltree INFO: test_unrestricted_equal_rule - DEBUG: created root node '/' (0xf1b658) + DEBUG: created root node '/' (0x1fbd658) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1b658) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbd658) RULE: ┌ /: RULE: │ '=/dev (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1b658) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbd658) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) RULE: │ node: '/': check equal list DEBUG: │ '/' partially matches regex '/dev' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1b658)) - DEBUG: │ directory node '/' (0xf1b658) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbd658)) + DEBUG: │ directory node '/' (0x1fbd658) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) RULE: │ node: '/': check equal list DEBUG: │ '/' partially matches regex '/dev' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1b658)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbd658)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) @@ -720,13 +756,13 @@ DEBUG: │ check_selree: match result RESULT_EQUAL_MATCH (8) for '/dev' RULE: ┴ result: RESULT_EQUAL_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b658)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xf1b658)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd658)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0x1fbd658)) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) RULE: │ node: '/': check equal list RULE: ┝ '/dev' matches regex '/dev' and restriction '(none)' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1b7f0)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbd7f0)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -734,8 +770,8 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/sda' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b658)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1b7f0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd658)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbd7f0)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -744,24 +780,24 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/pts' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b658)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1b7f0)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1b7f0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd658)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbd7f0)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbd7f0)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache no rule match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1b870)) + DEBUG: │ cache no rule match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbd870)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/pts/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b658)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1b7f0)) - RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1b870)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd658)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbd7f0)) + RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbd870)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b658)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd658)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) RULE: │ node: '/': check equal list @@ -770,53 +806,53 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b658)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1b658)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd658)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbd658)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) RULE: │ node: '/': check equal list DEBUG: │ '/etc' does not match regex '/dev' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1b8f8)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbd8f8)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_equal_rule_slash - DEBUG: created root node '/' (0xf1b6b0) + DEBUG: created root node '/' (0x1fbd6b0) DEBUG: JIT compilation for regex '/dev/' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1b7f8) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1b6b0) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbd7f8) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbd6b0) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1b6b0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbd6b0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1b6b0)) - DEBUG: │ directory node '/' (0xf1b6b0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbd6b0)) + DEBUG: │ directory node '/' (0x1fbd6b0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1b6b0)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbd6b0)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1b7f8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbd7f8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b6b0)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1b7f8)) - DEBUG: │ directory node '/dev' (0xf1b7f8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd6b0)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbd7f8)) + DEBUG: │ directory node '/dev' (0x1fbd7f8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) RULE: │ node: '/dev': check equal list DEBUG: │ '/dev' partially matches regex '/dev/' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1b7f8)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbd7f8)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list @@ -826,8 +862,8 @@ DEBUG: │ check_selree: match result RESULT_EQUAL_MATCH (8) for '/dev/sda' RULE: ┴ result: RESULT_EQUAL_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b6b0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1b7f8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd6b0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbd7f8)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) RULE: │ node: '/dev': check equal list @@ -837,15 +873,15 @@ DEBUG: │ check_selree: match result RESULT_EQUAL_MATCH (8) for '/dev/pts' RULE: ┴ result: RESULT_EQUAL_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b6b0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1b7f8)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1b7f8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd6b0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbd7f8)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbd7f8)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) RULE: │ node: '/dev': check equal list RULE: ┝ '/dev/pts' matches regex '/dev/' and restriction '(none)' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1b888)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbd888)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -854,20 +890,20 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/pts/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b6b0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1b7f8)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1b888)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1b888)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd6b0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbd7f8)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbd888)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbd888)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache no rule match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1b8f8)) + DEBUG: │ cache no rule match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbd8f8)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b6b0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd6b0)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -875,18 +911,18 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b6b0)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1b6b0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd6b0)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbd6b0)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1b998)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbd998)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_recursive_negative_rule_eol - DEBUG: created root node '/' (0xf1b708) + DEBUG: created root node '/' (0x1fbd708) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1b708) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbd708) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -894,7 +930,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1b708) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbd708) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') @@ -903,14 +939,14 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1b708)) - DEBUG: │ directory node '/' (0xf1b708) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbd708)) + DEBUG: │ directory node '/' (0x1fbd708) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1b708)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbd708)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) @@ -922,15 +958,15 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b708)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xf1b708)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd708)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0x1fbd708)) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev$' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1b9d0)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbd9d0)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -941,8 +977,8 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/sda' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b708)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1b9d0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd708)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbd9d0)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -954,9 +990,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b708)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1b9d0)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1b9d0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd708)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbd9d0)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbd9d0)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) @@ -964,7 +1000,7 @@ RULE: ┝ '/dev/pts' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1ba50)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbda50)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -976,10 +1012,10 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b708)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1b9d0)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1ba50)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1ba50)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd708)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbd9d0)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbda50)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbda50)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) @@ -988,9 +1024,9 @@ RULE: ┝ '/dev/pts/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1bac0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbdac0)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep' - RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xf1ba50)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0x1fbda50)) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) @@ -998,7 +1034,7 @@ RULE: ┝ '/dev/pts/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep/down' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xf1bb48)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0x1fbdb48)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) @@ -1011,7 +1047,7 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b708)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd708)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -1022,31 +1058,31 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b708)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1b708)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd708)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbd708)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/etc' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xf1bbe8)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0x1fbdbe8)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xf1b708)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0x1fbd708)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xf1bc48)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0x1fbdc48)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xf1b708)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0x1fbd708)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep/down' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xf1bcc8)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0x1fbdcc8)) RULE: │ no no-recurse match found for parent directory '/etc/deep/down' RULE: │ check '/etc/deep/down/0' (filetype: f) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -1057,9 +1093,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH INFO: test_unrestricted_recursive_negative_rule - DEBUG: created root node '/' (0xf1b760) + DEBUG: created root node '/' (0x1fbd760) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1b760) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbd760) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -1067,7 +1103,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1b760) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbd760) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') @@ -1076,14 +1112,14 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1b760)) - DEBUG: │ directory node '/' (0xf1b760) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbd760)) + DEBUG: │ directory node '/' (0x1fbd760) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1b760)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbd760)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) @@ -1095,15 +1131,15 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b760)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xf1b760)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd760)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0x1fbd760)) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1ba28)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbda28)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -1114,8 +1150,8 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev/sda' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b760)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1ba28)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd760)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbda28)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -1127,9 +1163,9 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev/pts' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b760)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1ba28)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1ba28)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd760)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbda28)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbda28)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) @@ -1137,7 +1173,7 @@ RULE: ┝ '/dev/pts' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1baa8)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdaa8)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -1149,10 +1185,10 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev/pts/0' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b760)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1ba28)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1baa8)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1baa8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd760)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbda28)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdaa8)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbdaa8)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) @@ -1161,9 +1197,9 @@ RULE: ┝ '/dev/pts/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1bb18)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbdb18)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep' - RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xf1baa8)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0x1fbdaa8)) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) @@ -1171,7 +1207,7 @@ RULE: ┝ '/dev/pts/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep/down' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xf1bba0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0x1fbdba0)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) @@ -1184,7 +1220,7 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b760)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd760)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -1195,31 +1231,31 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b760)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1b760)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd760)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbd760)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/etc' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xf1bc40)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0x1fbdc40)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xf1b760)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0x1fbd760)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xf1bca0)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0x1fbdca0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xf1b760)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0x1fbd760)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep/down' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xf1bd20)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0x1fbdd20)) RULE: │ no no-recurse match found for parent directory '/etc/deep/down' RULE: │ check '/etc/deep/down/0' (filetype: f) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -1230,9 +1266,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH INFO: test_unrestricted_non_recursive_negative_rule_eol - DEBUG: created root node '/' (0xf1b7b8) + DEBUG: created root node '/' (0x1fbd7b8) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1b7b8) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbd7b8) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -1240,7 +1276,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1b7b8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbd7b8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') @@ -1249,14 +1285,14 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1b7b8)) - DEBUG: │ directory node '/' (0xf1b7b8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbd7b8)) + DEBUG: │ directory node '/' (0x1fbd7b8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1b7b8)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbd7b8)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) @@ -1268,34 +1304,34 @@ DEBUG: │ check_selree: match result RESULT_NON_RECURSIVE_NEGATIVE_MATCH (2) for '/dev' RULE: ┴ result: RESULT_NON_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b7b8)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xf1b7b8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd7b8)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0x1fbd7b8)) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev$' and restriction '(none)' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xf1ba80)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0x1fbda80)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b7b8)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1ba80)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd7b8)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbda80)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b7b8)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1ba80)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd7b8)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbda80)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b7b8)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1ba80)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd7b8)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbda80)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b7b8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd7b8)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -1306,31 +1342,31 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b7b8)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1b7b8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd7b8)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbd7b8)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/etc' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xf1bb08)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0x1fbdb08)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xf1b7b8)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0x1fbd7b8)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xf1bb68)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0x1fbdb68)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xf1b7b8)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0x1fbd7b8)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep/down' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xf1bbe8)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0x1fbdbe8)) RULE: │ no no-recurse match found for parent directory '/etc/deep/down' RULE: │ check '/etc/deep/down/0' (filetype: f) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -1341,9 +1377,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH INFO: test_unrestricted_non_recursive_negative_rule - DEBUG: created root node '/' (0xf1b810) + DEBUG: created root node '/' (0x1fbd810) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1b810) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbd810) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -1351,7 +1387,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1b810) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbd810) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') @@ -1360,14 +1396,14 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1b810)) - DEBUG: │ directory node '/' (0xf1b810) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbd810)) + DEBUG: │ directory node '/' (0x1fbd810) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1b810)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbd810)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) @@ -1379,34 +1415,34 @@ DEBUG: │ check_selree: match result RESULT_NON_RECURSIVE_NEGATIVE_MATCH (2) for '/dev' RULE: ┴ result: RESULT_NON_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b810)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xf1b810)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd810)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0x1fbd810)) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev' and restriction '(none)' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xf1bad8)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0x1fbdad8)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b810)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bad8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd810)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdad8)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b810)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bad8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd810)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdad8)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b810)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bad8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd810)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdad8)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b810)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd810)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -1417,31 +1453,31 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b810)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1b810)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd810)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbd810)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/etc' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xf1bb60)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0x1fbdb60)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xf1b810)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0x1fbd810)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xf1bbc0)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0x1fbdbc0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xf1b810)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0x1fbd810)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep/down' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xf1bc40)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0x1fbdc40)) RULE: │ no no-recurse match found for parent directory '/etc/deep/down' RULE: │ check '/etc/deep/down/0' (filetype: f) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -1452,11 +1488,11 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH INFO: test_unrestricted_recursive_negative_rule_deep_selective - DEBUG: created root node '/' (0xf1b868) + DEBUG: created root node '/' (0x1fbd868) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1b868) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbd868) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1bb68) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbdb68) RULE: ┌ /: RULE: │ '!/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1464,7 +1500,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1b868) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbd868) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -1472,16 +1508,16 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1b868)) - DEBUG: │ directory node '/' (0xf1b868) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbd868)) + DEBUG: │ directory node '/' (0x1fbd868) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1b868)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbd868)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1bb68) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbdb68) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -1489,9 +1525,9 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b868)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1bb68)) - DEBUG: │ directory node '/dev' (0xf1bb68) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd868)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbdb68)) + DEBUG: │ directory node '/dev' (0x1fbdb68) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev' partially matches regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') @@ -1499,7 +1535,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1bb68)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbdb68)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -1511,8 +1547,8 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/sda' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b868)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bb68)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd868)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdb68)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -1525,9 +1561,9 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev/pts' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b868)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bb68)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1bb68)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd868)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdb68)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbdb68)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list @@ -1536,7 +1572,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: previous negative match) - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1bc20)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdc20)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -1549,10 +1585,10 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev/pts/0' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b868)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bb68)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1bc20)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1bc20)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd868)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdb68)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdc20)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbdc20)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) @@ -1562,9 +1598,9 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: previous negative match) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1bc90)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbdc90)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep' - RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xf1bc20)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0x1fbdc20)) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list @@ -1573,7 +1609,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep/down' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: previous negative match) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xf1bd18)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0x1fbdd18)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) @@ -1587,7 +1623,7 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b868)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd868)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -1596,21 +1632,21 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b868)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1b868)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd868)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbd868)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1bdb8)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbddb8)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_recursive_negative_rule_eol_deep_selective - DEBUG: created root node '/' (0xf1b8c0) + DEBUG: created root node '/' (0x1fbd8c0) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1b8c0) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbd8c0) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1bbc0) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbdbc0) RULE: ┌ /: RULE: │ '!/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1618,7 +1654,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1b8c0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbd8c0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -1626,16 +1662,16 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1b8c0)) - DEBUG: │ directory node '/' (0xf1b8c0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbd8c0)) + DEBUG: │ directory node '/' (0x1fbd8c0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1b8c0)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbd8c0)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1bbc0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbdbc0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -1643,9 +1679,9 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b8c0)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1bbc0)) - DEBUG: │ directory node '/dev' (0xf1bbc0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd8c0)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbdbc0)) + DEBUG: │ directory node '/dev' (0x1fbdbc0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev' partially matches regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') @@ -1653,7 +1689,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev$' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1bbc0)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbdbc0)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -1665,8 +1701,8 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/sda' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b8c0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bbc0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd8c0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdbc0)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -1679,9 +1715,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b8c0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bbc0)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1bbc0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd8c0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdbc0)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbdbc0)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list @@ -1690,7 +1726,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1bc78)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdc78)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -1703,10 +1739,10 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b8c0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bbc0)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1bc78)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1bc78)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd8c0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdbc0)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdc78)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbdc78)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) @@ -1716,9 +1752,9 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1bce8)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbdce8)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep' - RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xf1bc78)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0x1fbdc78)) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list @@ -1727,7 +1763,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep/down' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xf1bd70)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0x1fbdd70)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) @@ -1741,7 +1777,7 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b8c0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd8c0)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -1750,21 +1786,21 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b8c0)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1b8c0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd8c0)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbd8c0)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1be10)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbde10)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_non_recursive_negative_rule_deep_selective - DEBUG: created root node '/' (0xf1b918) + DEBUG: created root node '/' (0x1fbd918) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1b918) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbd918) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1bc18) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbdc18) RULE: ┌ /: RULE: │ '-/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1772,7 +1808,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1b918) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbd918) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -1780,16 +1816,16 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1b918)) - DEBUG: │ directory node '/' (0xf1b918) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbd918)) + DEBUG: │ directory node '/' (0x1fbd918) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1b918)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbd918)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1bc18) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbdc18) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -1797,9 +1833,9 @@ DEBUG: │ check_selree: match result RESULT_NON_RECURSIVE_NEGATIVE_MATCH (2) for '/dev' RULE: ┴ result: RESULT_NON_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b918)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1bc18)) - DEBUG: │ directory node '/dev' (0xf1bc18) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd918)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbdc18)) + DEBUG: │ directory node '/dev' (0x1fbdc18) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev' partially matches regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') @@ -1807,26 +1843,26 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev' and restriction '(none)' of non-recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: previous negative match) - DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xf1bc18)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0x1fbdc18)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b918)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bc18)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd918)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdc18)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b918)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bc18)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd918)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdc18)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b918)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bc18)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd918)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdc18)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b918)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd918)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -1835,21 +1871,21 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b918)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1b918)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd918)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbd918)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1bce8)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbdce8)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_non_recursive_negative_rule_eol_deep_selective - DEBUG: created root node '/' (0xf1b970) + DEBUG: created root node '/' (0x1fbd970) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1b970) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbd970) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1bc70) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbdc70) RULE: ┌ /: RULE: │ '-/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1857,7 +1893,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1b970) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbd970) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -1865,16 +1901,16 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1b970)) - DEBUG: │ directory node '/' (0xf1b970) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbd970)) + DEBUG: │ directory node '/' (0x1fbd970) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1b970)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbd970)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1bc70) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbdc70) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -1882,9 +1918,9 @@ DEBUG: │ check_selree: match result RESULT_NON_RECURSIVE_NEGATIVE_MATCH (2) for '/dev' RULE: ┴ result: RESULT_NON_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b970)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1bc70)) - DEBUG: │ directory node '/dev' (0xf1bc70) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd970)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbdc70)) + DEBUG: │ directory node '/dev' (0x1fbdc70) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev' partially matches regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') @@ -1892,26 +1928,26 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev$' and restriction '(none)' of non-recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: previous negative match) - DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xf1bc70)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0x1fbdc70)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b970)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bc70)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd970)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdc70)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b970)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bc70)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd970)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdc70)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b970)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bc70)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd970)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdc70)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b970)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd970)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -1920,24 +1956,24 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b970)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1b970)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd970)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbd970)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1bd40)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbdd40)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_deep_selective_rule - DEBUG: created root node '/' (0xf1b9c8) + DEBUG: created root node '/' (0x1fbd9c8) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1bc88) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1b9c8) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbdc88) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbd9c8) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xf1bff0) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xf1bf70) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xf1bf00) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0x1fbdff0) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0x1fbdf70) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0x1fbdf00) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] (none) ' (check_seltree:0: 'n/a') @@ -1948,34 +1984,34 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1b9c8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbd9c8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1b9c8)) - DEBUG: │ directory node '/' (0xf1b9c8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbd9c8)) + DEBUG: │ directory node '/' (0x1fbd9c8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1b9c8)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbd9c8)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1bc88) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbdc88) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b9c8)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1bc88)) - DEBUG: │ directory node '/dev' (0xf1bc88) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd9c8)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbdc88)) + DEBUG: │ directory node '/dev' (0x1fbdc88) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev' partially matches regex '/dev/.*/[0-9]' of selective rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1bc88)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbdc88)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -1986,8 +2022,8 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev/sda' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b9c8)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bc88)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd9c8)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdc88)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -1998,16 +2034,16 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev/pts' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b9c8)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bc88)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1bc88)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd9c8)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdc88)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbdc88)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/pts' partially matches regex '/dev/.*/[0-9]' of selective rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1c0c8)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbe0c8)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -2018,10 +2054,10 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b9c8)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bc88)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1c0c8)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1c0c8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd9c8)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdc88)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbe0c8)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbe0c8)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) @@ -2029,16 +2065,16 @@ DEBUG: │ '/dev/pts/deep' partially matches regex '/dev/.*/[0-9]' of selective rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1c148)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbe148)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep' - RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xf1c0c8)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0x1fbe0c8)) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/pts/deep/down' partially matches regex '/dev/.*/[0-9]' of selective rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xf1c1b8)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0x1fbe1b8)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) @@ -2050,32 +2086,32 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b9c8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd9c8)) RULE: │ check '/etc' (filetype: d) - DEBUG: │ directory node '/etc' (0xf1bf00) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/etc' (0x1fbdf00) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/etc' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1b9c8)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xf1bf00)) - DEBUG: │ directory node '/etc' (0xf1bf00) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbd9c8)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0x1fbdf00)) + DEBUG: │ directory node '/etc' (0x1fbdf00) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/etc': skip equal list (reason: list is empty) DEBUG: │ node: '/etc': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xf1bf00)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0x1fbdf00)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xf1bf70)) - DEBUG: │ directory node '/etc/deep' (0xf1bf70) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0x1fbdf70)) + DEBUG: │ directory node '/etc/deep' (0x1fbdf70) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/etc/deep': skip equal list (reason: list is empty) DEBUG: │ node: '/etc/deep': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/etc': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xf1bf70)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0x1fbdf70)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/etc/deep/down' (0xf1bff0)) - DEBUG: │ directory node '/etc/deep/down' (0xf1bff0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/etc/deep/down' (0x1fbdff0)) + DEBUG: │ directory node '/etc/deep/down' (0x1fbdff0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/etc/deep/down': skip equal list (reason: list is empty) RULE: │ node: '/etc/deep/down': check selective list DEBUG: │ '/etc/deep/down' partially matches regex '/etc/deep/down/0' of selective rule (check_seltree:1: 'n/a') @@ -2083,7 +2119,7 @@ DEBUG: │ node: '/etc': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/etc/deep/down': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xf1bff0)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0x1fbdff0)) RULE: │ no no-recurse match found for parent directory '/etc/deep/down' RULE: │ check '/etc/deep/down/0' (filetype: f) DEBUG: │ node: '/etc/deep/down': skip equal list (reason: list is empty) @@ -2096,9 +2132,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH INFO: test_unrestricted_forbid_root - DEBUG: created root node '/' (0xf1ba20) + DEBUG: created root node '/' (0x1fbda20) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1ba20) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbda20) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev (none) ' (check_seltree:0: 'n/a') @@ -2106,7 +2142,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1ba20) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbda20) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list DEBUG: │ '/' partially matches regex '/dev' of selective rule (check_seltree:0: 'n/a') @@ -2115,62 +2151,62 @@ DEBUG: │ check_selree: match result RESULT_NON_RECURSIVE_NEGATIVE_MATCH (2) for '/' RULE: ┴ result: RESULT_NON_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1ba20)) - DEBUG: │ directory node '/' (0xf1ba20) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbda20)) + DEBUG: │ directory node '/' (0x1fbda20) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list DEBUG: │ '/' partially matches regex '/dev' of selective rule (check_seltree:0: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/' matches regex '/' and restriction '(none)' of non-recursive negative rule (check_seltree:1: 'n/a') - DEBUG: │ cache non-recursive negative match of parent directory '/' (node: '/' (0xf1ba20)) + DEBUG: │ cache non-recursive negative match of parent directory '/' (node: '/' (0x1fbda20)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1ba20)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbda20)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: b) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1ba20)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbda20)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1ba20)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbda20)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1ba20)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbda20)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1ba20)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbda20)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/etc' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1ba20)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbda20)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH INFO: test_f_type_restricted_equal_rule - DEBUG: created root node '/' (0xf1ba78) + DEBUG: created root node '/' (0x1fbda78) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1ba78) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbda78) RULE: ┌ /: RULE: │ '=/dev d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1ba78) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbda78) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) RULE: │ node: '/': check equal list DEBUG: │ '/' partially matches regex '/dev' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1ba78)) - DEBUG: │ directory node '/' (0xf1ba78) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbda78)) + DEBUG: │ directory node '/' (0x1fbda78) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) RULE: │ node: '/': check equal list DEBUG: │ '/' partially matches regex '/dev' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1ba78)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbda78)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) @@ -2180,13 +2216,13 @@ DEBUG: │ check_selree: match result RESULT_EQUAL_MATCH (8) for '/dev' RULE: ┴ result: RESULT_EQUAL_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1ba78)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xf1ba78)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbda78)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0x1fbda78)) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) RULE: │ node: '/': check equal list RULE: ┝ '/dev' matches regex '/dev' and restriction 'd' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1bc10)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbdc10)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -2194,8 +2230,8 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/sda' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1ba78)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bc10)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbda78)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdc10)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -2204,24 +2240,24 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/pts' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1ba78)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bc10)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1bc10)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbda78)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdc10)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbdc10)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache no rule match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1bc90)) + DEBUG: │ cache no rule match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdc90)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/pts/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1ba78)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bc10)) - RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1bc90)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbda78)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdc10)) + RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdc90)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1ba78)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbda78)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) RULE: │ node: '/': check equal list @@ -2230,53 +2266,53 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1ba78)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1ba78)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbda78)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbda78)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) RULE: │ node: '/': check equal list DEBUG: │ '/etc' does not match regex '/dev' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1bd18)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbdd18)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_f_type_restricted_equal_rule_slash - DEBUG: created root node '/' (0xf1bad0) + DEBUG: created root node '/' (0x1fbdad0) DEBUG: JIT compilation for regex '/dev/' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1bc18) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1bad0) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbdc18) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbdad0) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1bad0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbdad0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1bad0)) - DEBUG: │ directory node '/' (0xf1bad0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbdad0)) + DEBUG: │ directory node '/' (0x1fbdad0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1bad0)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbdad0)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1bc18) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbdc18) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bad0)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1bc18)) - DEBUG: │ directory node '/dev' (0xf1bc18) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdad0)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbdc18)) + DEBUG: │ directory node '/dev' (0x1fbdc18) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) RULE: │ node: '/dev': check equal list DEBUG: │ '/dev' partially matches regex '/dev/' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1bc18)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbdc18)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list @@ -2286,8 +2322,8 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev/sda' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bad0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bc18)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdad0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdc18)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) RULE: │ node: '/dev': check equal list @@ -2297,15 +2333,15 @@ DEBUG: │ check_selree: match result RESULT_EQUAL_MATCH (8) for '/dev/pts' RULE: ┴ result: RESULT_EQUAL_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bad0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bc18)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1bc18)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdad0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdc18)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbdc18)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) RULE: │ node: '/dev': check equal list RULE: ┝ '/dev/pts' matches regex '/dev/' and restriction 'd' of equal rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1bca8)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdca8)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -2314,20 +2350,20 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/pts/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bad0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bc18)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1bca8)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1bca8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdad0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdc18)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdca8)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbdca8)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache no rule match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1bd18)) + DEBUG: │ cache no rule match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbdd18)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bad0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdad0)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -2335,18 +2371,18 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bad0)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1bad0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdad0)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbdad0)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1bdb8)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbddb8)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_f_type_restricted_recursive_negative_rule_eol - DEBUG: created root node '/' (0xf1bb28) + DEBUG: created root node '/' (0x1fbdb28) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1bb28) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbdb28) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2354,7 +2390,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1bb28) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbdb28) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') @@ -2363,14 +2399,14 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1bb28)) - DEBUG: │ directory node '/' (0xf1bb28) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbdb28)) + DEBUG: │ directory node '/' (0x1fbdb28) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1bb28)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbdb28)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) @@ -2382,15 +2418,15 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb28)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xf1bb28)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb28)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0x1fbdb28)) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev$' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1bdf0)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbddf0)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -2401,8 +2437,8 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/sda' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb28)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bdf0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb28)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbddf0)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -2414,9 +2450,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb28)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bdf0)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1bdf0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb28)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbddf0)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbddf0)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) @@ -2424,7 +2460,7 @@ RULE: ┝ '/dev/pts' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1be70)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbde70)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -2436,10 +2472,10 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb28)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bdf0)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1be70)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1be70)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb28)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbddf0)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbde70)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbde70)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) @@ -2448,9 +2484,9 @@ RULE: ┝ '/dev/pts/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1bf00)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbdf00)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep' - RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xf1be70)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0x1fbde70)) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) @@ -2458,7 +2494,7 @@ RULE: ┝ '/dev/pts/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep/down' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xf1bf88)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0x1fbdf88)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) @@ -2471,7 +2507,7 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb28)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb28)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -2482,31 +2518,31 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb28)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1bb28)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb28)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbdb28)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/etc' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xf1c028)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0x1fbe028)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xf1bb28)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0x1fbdb28)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xf1c088)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0x1fbe088)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xf1bb28)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0x1fbdb28)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep/down' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xf1c108)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0x1fbe108)) RULE: │ no no-recurse match found for parent directory '/etc/deep/down' RULE: │ check '/etc/deep/down/0' (filetype: f) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -2517,9 +2553,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH INFO: test_f_type_restricted_recursive_negative_rule - DEBUG: created root node '/' (0xf1bb80) + DEBUG: created root node '/' (0x1fbdb80) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1bb80) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbdb80) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2527,7 +2563,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1bb80) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbdb80) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') @@ -2536,14 +2572,14 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1bb80)) - DEBUG: │ directory node '/' (0xf1bb80) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbdb80)) + DEBUG: │ directory node '/' (0x1fbdb80) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1bb80)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbdb80)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) @@ -2555,15 +2591,15 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb80)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xf1bb80)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb80)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0x1fbdb80)) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1be48)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbde48)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -2574,8 +2610,8 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/sda' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb80)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1be48)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb80)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbde48)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -2587,9 +2623,9 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev/pts' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb80)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1be48)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1be48)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb80)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbde48)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbde48)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) @@ -2597,7 +2633,7 @@ RULE: ┝ '/dev/pts' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1bf00)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdf00)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -2609,10 +2645,10 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb80)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1be48)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1bf00)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1bf00)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb80)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbde48)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbdf00)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbdf00)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) @@ -2621,9 +2657,9 @@ RULE: ┝ '/dev/pts/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1bf70)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbdf70)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep' - RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xf1bf00)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0x1fbdf00)) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) @@ -2631,7 +2667,7 @@ RULE: ┝ '/dev/pts/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep/down' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xf1bfe0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0x1fbdfe0)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) @@ -2644,7 +2680,7 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb80)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb80)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -2655,31 +2691,31 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bb80)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1bb80)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdb80)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbdb80)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/etc' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xf1c080)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0x1fbe080)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xf1bb80)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0x1fbdb80)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xf1c0e0)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0x1fbe0e0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xf1bb80)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0x1fbdb80)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep/down' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xf1c160)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0x1fbe160)) RULE: │ no no-recurse match found for parent directory '/etc/deep/down' RULE: │ check '/etc/deep/down/0' (filetype: f) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -2690,9 +2726,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH INFO: test_f_type_restricted_non_recursive_negative_rule_eol - DEBUG: created root node '/' (0xf1bbd8) + DEBUG: created root node '/' (0x1fbdbd8) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1bbd8) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbdbd8) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2700,7 +2736,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1bbd8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbdbd8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') @@ -2709,14 +2745,14 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1bbd8)) - DEBUG: │ directory node '/' (0xf1bbd8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbdbd8)) + DEBUG: │ directory node '/' (0x1fbdbd8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1bbd8)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbdbd8)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) @@ -2728,34 +2764,34 @@ DEBUG: │ check_selree: match result RESULT_NON_RECURSIVE_NEGATIVE_MATCH (2) for '/dev' RULE: ┴ result: RESULT_NON_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bbd8)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xf1bbd8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdbd8)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0x1fbdbd8)) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev$' and restriction 'd' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xf1bf00)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0x1fbdf00)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bbd8)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bf00)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdbd8)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdf00)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bbd8)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bf00)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdbd8)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdf00)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bbd8)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bf00)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdbd8)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdf00)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bbd8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdbd8)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -2766,31 +2802,31 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bbd8)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1bbd8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdbd8)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbdbd8)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/etc' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xf1bf50)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0x1fbdf50)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xf1bbd8)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0x1fbdbd8)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xf1bfb0)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0x1fbdfb0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xf1bbd8)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0x1fbdbd8)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep/down' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xf1c030)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0x1fbe030)) RULE: │ no no-recurse match found for parent directory '/etc/deep/down' RULE: │ check '/etc/deep/down/0' (filetype: f) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -2801,9 +2837,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH INFO: test_f_type_restricted_non_recursive_negative_rule - DEBUG: created root node '/' (0xf1bc30) + DEBUG: created root node '/' (0x1fbdc30) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1bc30) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbdc30) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2811,7 +2847,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1bc30) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbdc30) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') @@ -2820,14 +2856,14 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1bc30)) - DEBUG: │ directory node '/' (0xf1bc30) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbdc30)) + DEBUG: │ directory node '/' (0x1fbdc30) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1bc30)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbdc30)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) @@ -2839,34 +2875,34 @@ DEBUG: │ check_selree: match result RESULT_NON_RECURSIVE_NEGATIVE_MATCH (2) for '/dev' RULE: ┴ result: RESULT_NON_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc30)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xf1bc30)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc30)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0x1fbdc30)) DEBUG: │ no node for directory '/dev' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev' and restriction 'd' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xf1bf20)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0x1fbdf20)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc30)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bf20)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc30)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdf20)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc30)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bf20)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc30)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdf20)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc30)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1bf20)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc30)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbdf20)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc30)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc30)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -2877,31 +2913,31 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc30)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1bc30)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc30)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbdc30)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list RULE: ┝ '/etc' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xf1bfa8)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0x1fbdfa8)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xf1bc30)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0x1fbdc30)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xf1c008)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0x1fbe008)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xf1bc30)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0x1fbdc30)) DEBUG: │ node: '/' skip equal list (reason: not on top level) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down' matches regex '/' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/etc/deep/down' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xf1c088)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0x1fbe088)) RULE: │ no no-recurse match found for parent directory '/etc/deep/down' RULE: │ check '/etc/deep/down/0' (filetype: f) DEBUG: │ node: '/' skip equal list (reason: not on top level) @@ -2912,11 +2948,11 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH INFO: test_restricted_recursive_negative_rule_deep_selective - DEBUG: created root node '/' (0xf1bc88) + DEBUG: created root node '/' (0x1fbdc88) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1bc88) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbdc88) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1bfb0) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbdfb0) RULE: ┌ /: RULE: │ '!/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -2924,7 +2960,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1bc88) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbdc88) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -2932,16 +2968,16 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1bc88)) - DEBUG: │ directory node '/' (0xf1bc88) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbdc88)) + DEBUG: │ directory node '/' (0x1fbdc88) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1bc88)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbdc88)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1bfb0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbdfb0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -2949,9 +2985,9 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc88)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1bfb0)) - DEBUG: │ directory node '/dev' (0xf1bfb0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc88)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbdfb0)) + DEBUG: │ directory node '/dev' (0x1fbdfb0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev' partially matches regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') @@ -2959,7 +2995,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1bfb0)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbdfb0)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -2971,8 +3007,8 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/sda' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc88)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bfb0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc88)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdfb0)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -2985,9 +3021,9 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev/pts' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc88)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bfb0)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1bfb0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc88)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdfb0)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbdfb0)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list @@ -2996,7 +3032,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: previous negative match) - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1c068)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbe068)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -3009,10 +3045,10 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc88)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1bfb0)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1c068)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1c068)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc88)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbdfb0)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbe068)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbe068)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) @@ -3022,9 +3058,9 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: previous negative match) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1c0d8)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbe0d8)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep' - RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xf1c068)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0x1fbe068)) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list @@ -3033,7 +3069,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep/down' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: previous negative match) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xf1c160)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0x1fbe160)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) @@ -3047,7 +3083,7 @@ DEBUG: │ check_selree: match result RESULT_RECURSIVE_NEGATIVE_MATCH (1) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc88)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc88)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -3056,21 +3092,21 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bc88)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1bc88)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdc88)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbdc88)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1c200)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbe200)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_restricted_recursive_negative_rule_eol_deep_selective - DEBUG: created root node '/' (0xf1bce0) + DEBUG: created root node '/' (0x1fbdce0) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1bce0) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbdce0) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1c000) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbe000) RULE: ┌ /: RULE: │ '!/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -3078,7 +3114,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1bce0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbdce0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -3086,16 +3122,16 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1bce0)) - DEBUG: │ directory node '/' (0xf1bce0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbdce0)) + DEBUG: │ directory node '/' (0x1fbdce0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1bce0)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbdce0)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1c000) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbe000) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -3103,9 +3139,9 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bce0)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1c000)) - DEBUG: │ directory node '/dev' (0xf1c000) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdce0)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbe000)) + DEBUG: │ directory node '/dev' (0x1fbe000) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev' partially matches regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') @@ -3113,7 +3149,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev$' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1c000)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbe000)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -3125,8 +3161,8 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/dev/sda' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bce0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1c000)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdce0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbe000)) RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -3139,9 +3175,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bce0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1c000)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1c000)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdce0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbe000)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbe000)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list @@ -3150,7 +3186,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1c0b8)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbe0b8)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -3163,10 +3199,10 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bce0)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1c000)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1c0b8)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1c0b8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdce0)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbe000)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbe0b8)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbe0b8)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) @@ -3176,9 +3212,9 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1c128)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbe128)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep' - RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xf1c0b8)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0x1fbe0b8)) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list @@ -3187,7 +3223,7 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep/down' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xf1c1b0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0x1fbe1b0)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) @@ -3201,7 +3237,7 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bce0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdce0)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -3210,21 +3246,21 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bce0)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1bce0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdce0)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbdce0)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1c250)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbe250)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_restricted_non_recursive_negative_rule_deep_selective - DEBUG: created root node '/' (0xf1bd38) + DEBUG: created root node '/' (0x1fbdd38) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1bd38) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbdd38) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1c058) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbe058) RULE: ┌ /: RULE: │ '-/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -3232,7 +3268,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1bd38) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbdd38) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -3240,16 +3276,16 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1bd38)) - DEBUG: │ directory node '/' (0xf1bd38) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbdd38)) + DEBUG: │ directory node '/' (0x1fbdd38) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1bd38)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbdd38)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1c058) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbe058) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -3257,9 +3293,9 @@ DEBUG: │ check_selree: match result RESULT_NON_RECURSIVE_NEGATIVE_MATCH (2) for '/dev' RULE: ┴ result: RESULT_NON_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd38)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1c058)) - DEBUG: │ directory node '/dev' (0xf1c058) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd38)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbe058)) + DEBUG: │ directory node '/dev' (0x1fbe058) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev' partially matches regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') @@ -3267,26 +3303,26 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev' and restriction 'd' of non-recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: previous negative match) - DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xf1c058)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0x1fbe058)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd38)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1c058)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd38)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbe058)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd38)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1c058)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd38)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbe058)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd38)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1c058)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd38)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbe058)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd38)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd38)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -3295,21 +3331,21 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd38)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1bd38)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd38)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbdd38)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1c128)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbe128)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_restricted_non_recursive_negative_rule_eol_deep_selective - DEBUG: created root node '/' (0xf1bd90) + DEBUG: created root node '/' (0x1fbdd90) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1bd90) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbdd90) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1c118) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbe118) RULE: ┌ /: RULE: │ '-/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -3317,7 +3353,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1bd90) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbdd90) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -3325,16 +3361,16 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1bd90)) - DEBUG: │ directory node '/' (0xf1bd90) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbdd90)) + DEBUG: │ directory node '/' (0x1fbdd90) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/' partially matches regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1bd90)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbdd90)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1c118) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbe118) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) RULE: │ node: '/': check negative list (reason: previous positive/partial match) @@ -3342,9 +3378,9 @@ DEBUG: │ check_selree: match result RESULT_NON_RECURSIVE_NEGATIVE_MATCH (2) for '/dev' RULE: ┴ result: RESULT_NON_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd90)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1c118)) - DEBUG: │ directory node '/dev' (0xf1c118) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd90)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbe118)) + DEBUG: │ directory node '/dev' (0x1fbe118) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev' partially matches regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') @@ -3352,26 +3388,26 @@ RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev' matches regex '/dev$' and restriction 'd' of non-recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: previous negative match) - DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xf1c118)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0x1fbe118)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd90)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1c118)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd90)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbe118)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd90)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1c118)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd90)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbe118)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd90)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xf1c118)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd90)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0x1fbe118)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd90)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd90)) RULE: │ check '/etc' (filetype: d) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) @@ -3380,24 +3416,24 @@ DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bd90)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xf1bd90)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdd90)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0x1fbdd90)) DEBUG: │ no node for directory '/etc' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) - DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xf1c1e8)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0x1fbe1e8)) DEBUG: │ check_selree: match result RESULT_NO_RULE_MATCH (0) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_f_type_restricted_deep_selective_rule - DEBUG: created root node '/' (0xf1bde8) + DEBUG: created root node '/' (0x1fbdde8) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xf1c0e8) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1bde8) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x1fbe0e8) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbdde8) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xf1c410) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xf1c390) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xf1c320) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0x1fbe410) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0x1fbe390) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0x1fbe320) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] b ' (check_seltree:0: 'n/a') @@ -3408,34 +3444,34 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1bde8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbdde8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1bde8)) - DEBUG: │ directory node '/' (0xf1bde8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbdde8)) + DEBUG: │ directory node '/' (0x1fbdde8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xf1bde8)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0x1fbdde8)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xf1c0e8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0x1fbe0e8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bde8)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xf1c0e8)) - DEBUG: │ directory node '/dev' (0xf1c0e8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdde8)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0x1fbe0e8)) + DEBUG: │ directory node '/dev' (0x1fbe0e8) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev' partially matches regex '/dev/.*/[0-9]' of selective rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xf1c0e8)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0x1fbe0e8)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) @@ -3446,8 +3482,8 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev/sda' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/pts' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bde8)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1c0e8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdde8)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbe0e8)) RULE: │ check '/dev/pts' (filetype: b) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list @@ -3457,16 +3493,16 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev/pts' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bde8)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1c0e8)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xf1c0e8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdde8)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbe0e8)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0x1fbe0e8)) DEBUG: │ no node for directory '/dev/pts' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/pts' partially matches regex '/dev/.*/[0-9]' of selective rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xf1c4e8)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0x1fbe4e8)) RULE: │ no no-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) @@ -3477,10 +3513,10 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/dev/pts/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bde8)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xf1c0e8)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xf1c4e8)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xf1c4e8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdde8)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0x1fbe0e8)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0x1fbe4e8)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0x1fbe4e8)) DEBUG: │ no node for directory '/dev/pts/deep' exists (keep default match result at RESULT_NO_RULE_MATCH) DEBUG: │ node: '/dev/pts': skip equal list (reason: list is empty) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) @@ -3488,16 +3524,16 @@ DEBUG: │ '/dev/pts/deep' partially matches regex '/dev/.*/[0-9]' of selective rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xf1c568)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0x1fbe568)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep' - RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xf1c4e8)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0x1fbe4e8)) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/pts/deep/down' partially matches regex '/dev/.*/[0-9]' of selective rule (check_seltree:0: 'n/a') DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/dev': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xf1c5d8)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0x1fbe5d8)) RULE: │ no no-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev/pts' skip equal list (reason: not on top level) @@ -3509,32 +3545,32 @@ DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/etc' (filetype: d) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bde8)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdde8)) RULE: │ check '/etc' (filetype: d) - DEBUG: │ directory node '/etc' (0xf1c320) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/etc' (0x1fbe320) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ check_selree: match result RESULT_PARTIAL_MATCH (16) for '/etc' RULE: ┴ result: RESULT_PARTIAL_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xf1bde8)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xf1c320)) - DEBUG: │ directory node '/etc' (0xf1c320) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0x1fbdde8)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0x1fbe320)) + DEBUG: │ directory node '/etc' (0x1fbe320) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/etc': skip equal list (reason: list is empty) DEBUG: │ node: '/etc': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xf1c320)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0x1fbe320)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xf1c390)) - DEBUG: │ directory node '/etc/deep' (0xf1c390) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0x1fbe390)) + DEBUG: │ directory node '/etc/deep' (0x1fbe390) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/etc/deep': skip equal list (reason: list is empty) DEBUG: │ node: '/etc/deep': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/etc': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) - DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xf1c390)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0x1fbe390)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/etc/deep/down' (0xf1c410)) - DEBUG: │ directory node '/etc/deep/down' (0xf1c410) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/etc/deep/down' (0x1fbe410)) + DEBUG: │ directory node '/etc/deep/down' (0x1fbe410) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/etc/deep/down': skip equal list (reason: list is empty) RULE: │ node: '/etc/deep/down': check selective list DEBUG: │ '/etc/deep/down' partially matches regex '/etc/deep/down/0' of selective rule (check_seltree:1: 'n/a') @@ -3542,7 +3578,7 @@ DEBUG: │ node: '/etc': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/etc/deep/down': skip negative list (reason: list is empty) - DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xf1c410)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0x1fbe410)) RULE: │ no no-recurse match found for parent directory '/etc/deep/down' RULE: │ check '/etc/deep/down/0' (filetype: f) DEBUG: │ node: '/etc/deep/down': skip equal list (reason: list is empty) @@ -3555,9 +3591,9 @@ DEBUG: │ check_selree: match result RESULT_SELECTIVE_MATCH (4) for '/etc/deep/down/0' RULE: ┴ result: RESULT_SELECTIVE_MATCH INFO: test_f_type_restricted_forbid_root - DEBUG: created root node '/' (0xf1be40) + DEBUG: created root node '/' (0x1fbde40) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xf1be40) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x1fbde40) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev b ' (check_seltree:0: 'n/a') @@ -3565,7 +3601,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xf1be40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0x1fbde40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list DEBUG: │ '/' partially matches regex '/dev' of selective rule (check_seltree:0: 'n/a') @@ -3574,47 +3610,47 @@ DEBUG: │ check_selree: match result RESULT_NON_RECURSIVE_NEGATIVE_MATCH (2) for '/' RULE: ┴ result: RESULT_NON_RECURSIVE_NEGATIVE_MATCH RULE: ┬ check '/dev' (filetype: d) - RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xf1be40)) - DEBUG: │ directory node '/' (0xf1be40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0x1fbde40)) + DEBUG: │ directory node '/' (0x1fbde40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) DEBUG: │ node: '/': skip equal list (reason: list is empty) RULE: │ node: '/': check selective list DEBUG: │ '/' partially matches regex '/dev' of selective rule (check_seltree:0: 'n/a') RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/' matches regex '/' and restriction 'd' of non-recursive negative rule (check_seltree:1: 'n/a') - DEBUG: │ cache non-recursive negative match of parent directory '/' (node: '/' (0xf1be40)) + DEBUG: │ cache non-recursive negative match of parent directory '/' (node: '/' (0x1fbde40)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/sda' (filetype: b) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1be40)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbde40)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: b) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1be40)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbde40)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1be40)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbde40)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1be40)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbde40)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1be40)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbde40)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/etc' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) - RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xf1be40)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0x1fbde40)) DEBUG: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/etc/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH hashsum - DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffc0fb40) - DEBUG: > free md_container (0xffc0fb40) - DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffc0fb40) - DEBUG: > free md_container (0xffc0fb40) - DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffc0fb40) - DEBUG: > free md_container (0xffc0fb40) + DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xbeca7120) + DEBUG: > free md_container (0xbeca7120) + DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xbeca7120) + DEBUG: > free md_container (0xbeca7120) + DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xbeca7120) + DEBUG: > free md_container (0xbeca7120) 100%: Checks: 166, Failures: 0, Errors: 0 PASS: check_aide ============= @@ -3629,7 +3665,7 @@ debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_install - make -j3 install DESTDIR=/build/reproducible-path/aide-0.19\~dev20241110/debian/tmp AM_UPDATE_INFO_DIR=no + make -j4 install DESTDIR=/build/reproducible-path/aide-0.19\~dev20241110/debian/tmp AM_UPDATE_INFO_DIR=no make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make install-am make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' @@ -3638,8 +3674,8 @@ /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man1' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man5' /usr/bin/install -c aide '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/bin' - /usr/bin/install -c -m 644 doc/aide.1 '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man1' /usr/bin/install -c -m 644 doc/aide.conf.5 '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man5' + /usr/bin/install -c -m 644 doc/aide.1 '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man1' make[4]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[3]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[2]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' @@ -3668,20 +3704,20 @@ dh_makeshlibs -a dh_shlibdeps -a dpkg-shlibdeps: warning: diversions involved - output may be incorrect - diversion by libc6 from: /lib/ld-linux-armhf.so.3 -dpkg-shlibdeps: warning: diversions involved - output may be incorrect - diversion by libc6 to: /lib/ld-linux-armhf.so.3.usr-is-merged -dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libext2fs2t64 from: /lib/arm-linux-gnueabihf/libe2p.so.2 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libext2fs2t64 to: /lib/arm-linux-gnueabihf/libe2p.so.2.usr-is-merged +dpkg-shlibdeps: warning: diversions involved - output may be incorrect + diversion by libc6 from: /lib/ld-linux-armhf.so.3 +dpkg-shlibdeps: warning: diversions involved - output may be incorrect + diversion by libc6 to: /lib/ld-linux-armhf.so.3.usr-is-merged dh_installdeb dh_gencontrol dh_md5sums dh_builddeb +dpkg-deb: building package 'aide-dbgsym' in '../aide-dbgsym_0.19~dev20241110-1_armhf.deb'. dpkg-deb: building package 'aide' in '../aide_0.19~dev20241110-1_armhf.deb'. dpkg-deb: building package 'aide-common' in '../aide-common_0.19~dev20241110-1_all.deb'. -dpkg-deb: building package 'aide-dbgsym' in '../aide-dbgsym_0.19~dev20241110-1_armhf.deb'. dpkg-deb: building package 'aide-dynamic' in '../aide-dynamic_0.19~dev20241110-1_all.deb'. dpkg-genbuildinfo --build=binary -O../aide_0.19~dev20241110-1_armhf.buildinfo dpkg-genchanges --build=binary -O../aide_0.19~dev20241110-1_armhf.changes @@ -3690,12 +3726,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/20924/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/20924/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/28991 and its subdirectories -I: Current time: Tue Nov 19 13:48:26 -12 2024 -I: pbuilder-time-stamp: 1732067306 +I: removing directory /srv/workspace/pbuilder/20924 and its subdirectories +I: Current time: Wed Nov 20 15:51:05 +14 2024 +I: pbuilder-time-stamp: 1732067465