Diff of the two buildlogs: -- --- b1/build.log 2024-11-23 07:19:20.670391505 +0000 +++ b2/build.log 2024-11-23 07:20:40.382791772 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Dec 26 01:41:22 -12 2025 -I: pbuilder-time-stamp: 1766756482 +I: Current time: Sat Nov 23 21:19:24 +14 2024 +I: pbuilder-time-stamp: 1732346364 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/2124357/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/745776/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +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 23 07:19 /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/745776/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/745776/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='arm64' - DEBIAN_FRONTEND='noninteractive' + 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]="aarch64-unknown-linux-gnu") + 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=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='experimental' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=experimental + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='c1078277ed48456ba8dafddeb922b4ab' - 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='2124357' - PS1='# ' - PS2='> ' + INVOCATION_ID=1b0d65103a7f496bb9a9ff1b8fb2658f + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + 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=745776 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.5YWlEP8e/pbuilderrc_7cLu --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.5YWlEP8e/b1 --logfile b1/build.log aide_0.19~dev20241110-1.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + 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.5YWlEP8e/pbuilderrc_YMKj --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.5YWlEP8e/b2 --logfile b2/build.log aide_0.19~dev20241110-1.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink01-arm64 6.1.0-27-cloud-arm64 #1 SMP Debian 6.1.115-1 (2024-11-01) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-27-cloud-arm64 #1 SMP Debian 6.1.115-1 (2024-11-01) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2124357/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/745776/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 arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 57 http://deb.debian.org/debian unstable/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 58 http://deb.debian.org/debian unstable/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1+b1 [917 kB] -Fetched 28.2 MB in 0s (126 MB/s) +Fetched 28.2 MB in 0s (96.6 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 ... 20084 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/745776/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for experimental +I: user script /srv/workspace/pbuilder/745776/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 @@ -606,8 +642,8 @@ make all-am make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' flex -osrc/conf_lex.c -Pconf src/conf_lex.l -gcc -DHAVE_CONFIG_H -I. -I./include -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 -mbranch-protection=standard -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/aide-aide.o `test -f 'src/aide.c' || echo './'`src/aide.c src/conf_lex.l:546: multiple <> rules for start condition INITIAL +gcc -DHAVE_CONFIG_H -I. -I./include -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 -mbranch-protection=standard -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/aide-aide.o `test -f 'src/aide.c' || echo './'`src/aide.c gcc -DHAVE_CONFIG_H -I. -I./include -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 -mbranch-protection=standard -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/aide-base64.o `test -f 'src/base64.c' || echo './'`src/base64.c gcc -DHAVE_CONFIG_H -I. -I./include -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 -mbranch-protection=standard -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/aide-be.o `test -f 'src/be.c' || echo './'`src/be.c gcc -DHAVE_CONFIG_H -I. -I./include -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 -mbranch-protection=standard -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/aide-commandconf.o `test -f 'src/commandconf.c' || echo './'`src/commandconf.c @@ -653,7 +689,9 @@ gcc -DHAVE_CONFIG_H -I. -I./include -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 -mbranch-protection=standard -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 -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 -mbranch-protection=standard -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 -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 -mbranch-protection=standard -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 -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 -mbranch-protection=standard -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 -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 -mbranch-protection=standard -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 -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 -mbranch-protection=standard -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 -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 -mbranch-protection=standard -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 gcc -DHAVE_CONFIG_H -I. -I./include -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 -mbranch-protection=standard -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/check_aide-log.o `test -f 'src/log.c' || echo './'`src/log.c gcc -DHAVE_CONFIG_H -I. -I./include -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 -mbranch-protection=standard -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/check_aide-util.o `test -f 'src/util.c' || echo './'`src/util.c @@ -664,8 +702,6 @@ gcc -DHAVE_CONFIG_H -I. -I./include -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 -mbranch-protection=standard -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 -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 -mbranch-protection=standard -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 -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 -mbranch-protection=standard -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 -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 -mbranch-protection=standard -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 -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 -mbranch-protection=standard -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 -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 -mbranch-protection=standard -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 @@ -675,27 +711,27 @@ progress seltree INFO: test_unrestricted_equal_rule - DEBUG: created root node '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) RULE: ┌ /: RULE: │ '=/dev (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -705,13 +741,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -719,8 +755,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -729,24 +765,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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' (0xaaaaf78982e0)) + DEBUG: │ cache no rule match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2d92e0)) 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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf78982e0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2d92e0)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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 @@ -755,53 +791,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf78983d0)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2d93d0)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list @@ -811,8 +847,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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 @@ -822,15 +858,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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' (0xaaaaf7898370)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2d9370)) 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) @@ -839,20 +875,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf7898370)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf7898370)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2d9370)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2d9370)) 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' (0xaaaaf7898460)) + DEBUG: │ cache no rule match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2d9460)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -860,18 +896,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7898550)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2d9550)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -879,7 +915,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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') @@ -888,14 +924,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -907,15 +943,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -926,8 +962,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -939,9 +975,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -949,7 +985,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' (0xaaaaf7898650)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2d9650)) 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) @@ -961,10 +997,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf7898650)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf7898650)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2d9650)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2d9650)) 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) @@ -973,9 +1009,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' (0xaaaaf7898740)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2d9740)) 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' (0xaaaaf7898650)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaadc2d9650)) 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) @@ -983,7 +1019,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' (0xaaaaf789a870)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaadc2db870)) 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) @@ -996,7 +1032,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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -1007,31 +1043,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789a980)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaadc2db980)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789aa70)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaadc2dba70)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789ab60)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaadc2dbb60)) 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) @@ -1042,9 +1078,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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -1052,7 +1088,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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') @@ -1061,14 +1097,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -1080,15 +1116,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -1099,8 +1135,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -1112,9 +1148,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -1122,7 +1158,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' (0xaaaaf78986d0)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2d96d0)) 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) @@ -1134,10 +1170,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf78986d0)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf78986d0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2d96d0)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2d96d0)) 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) @@ -1146,9 +1182,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' (0xaaaaf789a870)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2db870)) 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' (0xaaaaf78986d0)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaadc2d96d0)) 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) @@ -1156,7 +1192,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' (0xaaaaf789a900)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaadc2db900)) 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) @@ -1169,7 +1205,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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -1180,31 +1216,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789a9d0)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaadc2db9d0)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789aac0)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaadc2dbac0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789abb0)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaadc2dbbb0)) 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) @@ -1215,9 +1251,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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -1225,7 +1261,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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') @@ -1234,14 +1270,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -1253,34 +1289,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7891e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -1291,31 +1327,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7898750)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaadc2d9750)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789a870)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaadc2db870)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789a960)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaadc2db960)) 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) @@ -1326,9 +1362,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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -1336,7 +1372,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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') @@ -1345,14 +1381,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -1364,34 +1400,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7891e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -1402,31 +1438,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789a870)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaadc2db870)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789a900)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaadc2db900)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789aa10)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaadc2dba10)) 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) @@ -1437,11 +1473,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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) RULE: ┌ /: RULE: │ '!/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1449,7 +1485,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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) @@ -1457,16 +1493,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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) @@ -1474,9 +1510,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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') @@ -1484,7 +1520,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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -1496,8 +1532,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -1510,9 +1546,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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 @@ -1521,7 +1557,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' (0xaaaaf789a890)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2db890)) 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) @@ -1534,10 +1570,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf789a890)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf789a890)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2db890)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2db890)) 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) @@ -1547,9 +1583,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' (0xaaaaf789a980)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2db980)) 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' (0xaaaaf789a890)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaadc2db890)) 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 @@ -1558,7 +1594,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' (0xaaaaf789aa70)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaadc2dba70)) 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) @@ -1572,7 +1608,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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -1581,21 +1617,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789ab40)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2dbb40)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) RULE: ┌ /: RULE: │ '!/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1603,7 +1639,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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) @@ -1611,16 +1647,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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) @@ -1628,9 +1664,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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') @@ -1638,7 +1674,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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -1650,8 +1686,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -1664,9 +1700,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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 @@ -1675,7 +1711,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' (0xaaaaf789a980)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2db980)) 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) @@ -1688,10 +1724,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf789a980)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf789a980)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2db980)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2db980)) 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) @@ -1701,9 +1737,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' (0xaaaaf789aa70)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2dba70)) 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' (0xaaaaf789a980)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaadc2db980)) 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 @@ -1712,7 +1748,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' (0xaaaaf789ab60)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaadc2dbb60)) 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) @@ -1726,7 +1762,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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -1735,21 +1771,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789ac30)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2dbc30)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) RULE: ┌ /: RULE: │ '-/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1757,7 +1793,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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) @@ -1765,16 +1801,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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) @@ -1782,9 +1818,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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') @@ -1792,26 +1828,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' (0xaaaaf7891e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -1820,21 +1856,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789a9a0)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2db9a0)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) RULE: ┌ /: RULE: │ '-/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1842,7 +1878,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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) @@ -1850,16 +1886,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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) @@ -1867,9 +1903,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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') @@ -1877,26 +1913,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' (0xaaaaf7891e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -1905,24 +1941,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789aa20)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2dba20)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaf789ae70) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaf789ad80) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaf789ac90) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaadc2dbe70) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaadc2dbd80) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaadc2dbc90) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] (none) ' (check_seltree:0: 'n/a') @@ -1933,34 +1969,34 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -1971,8 +2007,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -1983,16 +2019,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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' (0xaaaaf789afb0)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dbfb0)) 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) @@ -2003,10 +2039,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf789afb0)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf789afb0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dbfb0)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2dbfb0)) 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) @@ -2014,16 +2050,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' (0xaaaaf789b0a0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2dc0a0)) 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' (0xaaaaf789afb0)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaadc2dbfb0)) 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' (0xaaaaf789b190)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaadc2dc190)) 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) @@ -2035,32 +2071,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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ check '/etc' (filetype: d) - DEBUG: │ directory node '/etc' (0xaaaaf789ac90) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/etc' (0xaaaadc2dbc90) 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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaf789ac90)) - DEBUG: │ directory node '/etc' (0xaaaaf789ac90) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaadc2dbc90)) + DEBUG: │ directory node '/etc' (0xaaaadc2dbc90) 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' (0xaaaaf789ac90)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaadc2dbc90)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xaaaaf789ad80)) - DEBUG: │ directory node '/etc/deep' (0xaaaaf789ad80) 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' (0xaaaadc2dbd80)) + DEBUG: │ directory node '/etc/deep' (0xaaaadc2dbd80) 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' (0xaaaaf789ad80)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaadc2dbd80)) 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' (0xaaaaf789ae70)) - DEBUG: │ directory node '/etc/deep/down' (0xaaaaf789ae70) 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' (0xaaaadc2dbe70)) + DEBUG: │ directory node '/etc/deep/down' (0xaaaadc2dbe70) 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') @@ -2068,7 +2104,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' (0xaaaaf789ae70)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaadc2dbe70)) 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) @@ -2081,9 +2117,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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev (none) ' (check_seltree:0: 'n/a') @@ -2091,7 +2127,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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') @@ -2100,62 +2136,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache non-recursive negative match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) RULE: ┌ /: RULE: │ '=/dev d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -2165,13 +2201,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -2179,8 +2215,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -2189,24 +2225,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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' (0xaaaaf789a910)) + DEBUG: │ cache no rule match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2db910)) 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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf789a910)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2db910)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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 @@ -2215,53 +2251,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789aa00)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2dba00)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list @@ -2271,8 +2307,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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 @@ -2282,15 +2318,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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' (0xaaaaf789a9d0)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2db9d0)) 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) @@ -2299,20 +2335,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf789a9d0)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf789a9d0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2db9d0)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2db9d0)) 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' (0xaaaaf789aac0)) + DEBUG: │ cache no rule match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2dbac0)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -2320,18 +2356,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789abb0)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2dbbb0)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2339,7 +2375,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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') @@ -2348,14 +2384,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -2367,15 +2403,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -2386,8 +2422,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -2399,9 +2435,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -2409,7 +2445,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' (0xaaaaf789ac80)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dbc80)) 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) @@ -2421,10 +2457,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf789ac80)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf789ac80)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dbc80)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2dbc80)) 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) @@ -2433,9 +2469,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' (0xaaaaf789ad70)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2dbd70)) 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' (0xaaaaf789ac80)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaadc2dbc80)) 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) @@ -2443,7 +2479,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' (0xaaaaf789ae60)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaadc2dbe60)) 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) @@ -2456,7 +2492,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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -2467,31 +2503,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789af50)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaadc2dbf50)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789b040)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaadc2dc040)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789b130)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaadc2dc130)) 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) @@ -2502,9 +2538,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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2512,7 +2548,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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') @@ -2521,14 +2557,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -2540,15 +2576,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -2559,8 +2595,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -2572,9 +2608,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -2582,7 +2618,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' (0xaaaaf789ad00)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dbd00)) 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) @@ -2594,10 +2630,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf789ad00)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf789ad00)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dbd00)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2dbd00)) 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) @@ -2606,9 +2642,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' (0xaaaaf789adf0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2dbdf0)) 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' (0xaaaaf789ad00)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaadc2dbd00)) 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) @@ -2616,7 +2652,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' (0xaaaaf789aee0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaadc2dbee0)) 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) @@ -2629,7 +2665,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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -2640,31 +2676,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789afd0)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaadc2dbfd0)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789b0c0)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaadc2dc0c0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789b1b0)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaadc2dc1b0)) 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) @@ -2675,9 +2711,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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2685,7 +2721,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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') @@ -2694,14 +2730,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -2713,34 +2749,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7891e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -2751,31 +2787,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789ad80)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaadc2dbd80)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789ae70)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaadc2dbe70)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789af60)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaadc2dbf60)) 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) @@ -2786,9 +2822,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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2796,7 +2832,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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') @@ -2805,14 +2841,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -2824,34 +2860,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf7891e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -2862,31 +2898,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789ae00)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaadc2dbe00)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789aef0)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaadc2dbef0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf7893c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789afe0)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaadc2dbfe0)) 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) @@ -2897,11 +2933,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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) RULE: ┌ /: RULE: │ '!/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -2909,7 +2945,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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) @@ -2917,16 +2953,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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) @@ -2934,9 +2970,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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') @@ -2944,7 +2980,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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -2956,8 +2992,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -2970,9 +3006,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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 @@ -2981,7 +3017,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' (0xaaaaf789ae70)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dbe70)) 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) @@ -2994,10 +3030,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf789ae70)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf789ae70)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dbe70)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2dbe70)) 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) @@ -3007,9 +3043,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' (0xaaaaf789af60)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2dbf60)) 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' (0xaaaaf789ae70)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaadc2dbe70)) 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 @@ -3018,7 +3054,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' (0xaaaaf789b050)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaadc2dc050)) 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) @@ -3032,7 +3068,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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -3041,21 +3077,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789b120)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2dc120)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) RULE: ┌ /: RULE: │ '!/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -3063,7 +3099,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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) @@ -3071,16 +3107,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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) @@ -3088,9 +3124,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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') @@ -3098,7 +3134,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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -3110,8 +3146,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -3124,9 +3160,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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 @@ -3135,7 +3171,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' (0xaaaaf789bea0)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dcea0)) 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) @@ -3148,10 +3184,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf789bea0)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf789bea0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dcea0)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2dcea0)) 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) @@ -3161,9 +3197,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' (0xaaaaf789bf90)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2dcf90)) 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' (0xaaaaf789bea0)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaadc2dcea0)) 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 @@ -3172,7 +3208,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' (0xaaaaf789c080)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaadc2dd080)) 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) @@ -3186,7 +3222,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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -3195,21 +3231,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789c150)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2dd150)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) RULE: ┌ /: RULE: │ '-/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -3217,7 +3253,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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) @@ -3225,16 +3261,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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) @@ -3242,9 +3278,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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') @@ -3252,26 +3288,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' (0xaaaaf7891e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -3280,21 +3316,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789bf40)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2dcf40)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) RULE: ┌ /: RULE: │ '-/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -3302,7 +3338,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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) @@ -3310,16 +3346,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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) @@ -3327,9 +3363,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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') @@ -3337,26 +3373,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' (0xaaaaf7891e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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) @@ -3365,24 +3401,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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaadc2d4c60)) 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' (0xaaaaf789bfc0)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaadc2dcfc0)) 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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf7891e40) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaadc2d2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaf789c370) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaf789c280) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaf789c190) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaadc2dd370) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaadc2dd280) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaadc2dd190) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] b ' (check_seltree:0: 'n/a') @@ -3393,34 +3429,34 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ directory node '/dev' (0xaaaaf7891e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ directory node '/dev' (0xaaaadc2d2e40) 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' (0xaaaaf7891e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) 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) @@ -3431,8 +3467,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) RULE: │ check '/dev/pts' (filetype: b) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list @@ -3442,16 +3478,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf7891e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaadc2d2e40)) 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' (0xaaaaf789c4b0)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dd4b0)) 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) @@ -3462,10 +3498,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: '/' (0xaaaaf7893c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf7891e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf789c4b0)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf789c4b0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaadc2d2e40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaadc2dd4b0)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaadc2dd4b0)) 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) @@ -3473,16 +3509,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' (0xaaaaf789c5a0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaadc2dd5a0)) 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' (0xaaaaf789c4b0)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaadc2dd4b0)) 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' (0xaaaaf789c690)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaadc2dd690)) 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) @@ -3494,32 +3530,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: '/' (0xaaaaf7893c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) RULE: │ check '/etc' (filetype: d) - DEBUG: │ directory node '/etc' (0xaaaaf789c190) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/etc' (0xaaaadc2dd190) 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: '/' (0xaaaaf7893c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaf789c190)) - DEBUG: │ directory node '/etc' (0xaaaaf789c190) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaadc2dd190)) + DEBUG: │ directory node '/etc' (0xaaaadc2dd190) 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' (0xaaaaf789c190)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaadc2dd190)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xaaaaf789c280)) - DEBUG: │ directory node '/etc/deep' (0xaaaaf789c280) 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' (0xaaaadc2dd280)) + DEBUG: │ directory node '/etc/deep' (0xaaaadc2dd280) 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' (0xaaaaf789c280)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaadc2dd280)) 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' (0xaaaaf789c370)) - DEBUG: │ directory node '/etc/deep/down' (0xaaaaf789c370) 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' (0xaaaadc2dd370)) + DEBUG: │ directory node '/etc/deep/down' (0xaaaadc2dd370) 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') @@ -3527,7 +3563,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' (0xaaaaf789c370)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaadc2dd370)) 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) @@ -3540,9 +3576,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 '/' (0xaaaaf7893c60) + DEBUG: created root node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf7893c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaadc2d4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev b ' (check_seltree:0: 'n/a') @@ -3550,7 +3586,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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') @@ -3559,47 +3595,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: '/' (0xaaaaf7893c60)) - DEBUG: │ directory node '/' (0xaaaaf7893c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaadc2d4c60)) + DEBUG: │ directory node '/' (0xaaaadc2d4c60) 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: '/' (0xaaaaf7893c60)) + DEBUG: │ cache non-recursive negative match of parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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: '/' (0xaaaaf7893c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaadc2d4c60)) 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 (0xfffff975d298) - DEBUG: > free md_container (0xfffff975d298) - DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xfffff975d298) - DEBUG: > free md_container (0xfffff975d298) - DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xfffff975d298) - DEBUG: > free md_container (0xfffff975d298) + DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffc4c52648) + DEBUG: > free md_container (0xffffc4c52648) + DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffc4c52648) + DEBUG: > free md_container (0xffffc4c52648) + DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffc4c52648) + DEBUG: > free md_container (0xffffc4c52648) 100%: Checks: 166, Failures: 0, Errors: 0 PASS: check_aide ============= @@ -3623,8 +3659,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' @@ -3664,10 +3700,10 @@ dh_gencontrol dh_md5sums dh_builddeb +dpkg-deb: building package 'aide-dynamic' in '../aide-dynamic_0.19~dev20241110-1_all.deb'. dpkg-deb: building package 'aide-dbgsym' in '../aide-dbgsym_0.19~dev20241110-1_arm64.deb'. dpkg-deb: building package 'aide' in '../aide_0.19~dev20241110-1_arm64.deb'. dpkg-deb: building package 'aide-common' in '../aide-common_0.19~dev20241110-1_all.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_arm64.buildinfo dpkg-genchanges --build=binary -O../aide_0.19~dev20241110-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -3675,12 +3711,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/745776/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/745776/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/2124357 and its subdirectories -I: Current time: Fri Dec 26 01:42:18 -12 2025 -I: pbuilder-time-stamp: 1766756538 +I: removing directory /srv/workspace/pbuilder/745776 and its subdirectories +I: Current time: Sat Nov 23 21:20:39 +14 2024 +I: pbuilder-time-stamp: 1732346439