Running as unit: rb-build-arm64_11-85191.service ==================================================================================== Sat Feb 22 16:47:11 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job reproducible_builder_arm64_11) on jenkins, called using "codethink04-arm64 codethink03-arm64" as arguments. Sat Feb 22 16:47:11 UTC 2025 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-tQG5BKFv" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Sat Feb 22 16:47:11 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink04-arm64.debian.net is marked as down. Sat Feb 22 16:47:11 UTC 2025 - checking via ssh if codethink04-arm64.debian.net is up. removed '/tmp/read-only-fs-test-6LYYsb' Sat Feb 22 16:47:12 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink03-arm64.debian.net is marked as down. Sat Feb 22 16:47:12 UTC 2025 - checking via ssh if codethink03-arm64.debian.net is up. removed '/tmp/read-only-fs-test-PzAI7p' ok, let's check if aide is building anywhere yet… ok, aide is not building anywhere… UPDATE 1 ============================================================================= Initialising reproducibly build of aide in experimental on arm64 on jenkins now. 1st build will be done on codethink04-arm64.debian.net. 2nd build will be done on codethink03-arm64.debian.net. ============================================================================= Sat Feb 22 16:47:28 UTC 2025 I: starting to build aide/experimental/arm64 on jenkins on '2025-02-22 16:47' Sat Feb 22 16:47:28 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/arm64_11/85191/console.log 1740242848 arm64 experimental aide Sat Feb 22 16:47:28 UTC 2025 I: Downloading source for experimental/aide=0.19~dev20241110-1 --2025-02-22 16:47:28-- http://cdn-fastly.deb.debian.org/debian/pool/main/a/aide/aide_0.19%7edev20241110-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2395 (2.3K) [text/prs.lines.tag] Saving to: ‘aide_0.19~dev20241110-1.dsc’ 0K .. 100% 379M=0s 2025-02-22 16:47:28 (379 MB/s) - ‘aide_0.19~dev20241110-1.dsc’ saved [2395/2395] --2025-02-22 16:47:28-- http://cdn-fastly.deb.debian.org/debian/pool/main/a/aide/aide_0.19%7edev20241110-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2395 (2.3K) [text/prs.lines.tag] Saving to: ‘aide_0.19~dev20241110-1.dsc’ 0K .. 100% 379M=0s 2025-02-22 16:47:28 (379 MB/s) - ‘aide_0.19~dev20241110-1.dsc’ saved [2395/2395] Sat Feb 22 16:47:29 UTC 2025 I: aide_0.19~dev20241110-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: aide Binary: aide, aide-common, aide-dynamic Architecture: any all Version: 0.19~dev20241110-1 Maintainer: Aide Maintainers Uploaders: Marc Haber , Hannes von Haugwitz Homepage: https://aide.github.io Standards-Version: 4.7.0 Vcs-Browser: https://salsa.debian.org/debian/aide Vcs-Git: https://salsa.debian.org/debian/aide.git Testsuite: autopkgtest Testsuite-Triggers: s-nail Build-Depends: bison, check, debconf-utils, debhelper-compat (= 13), autoconf-archive, flex (>= 2.5.32), libacl1-dev, libattr1-dev, libaudit-dev [linux-any], libcap-dev [linux-any], libext2fs-dev (>= 1.46.2), libpcre2-dev, libselinux1-dev [linux-any], nettle-dev, pkgconf, po-debconf (>= 0.5.0), zlib1g-dev Package-List: aide deb admin optional arch=any aide-common deb admin optional arch=all aide-dynamic deb oldlibs optional arch=all Checksums-Sha1: c83698ca925949f7f6e2f01e91031c139e0c6dda 817725 aide_0.19~dev20241110.orig.tar.gz d9d1be5d29becc06d0d98b3b20546f20f850ec7a 107592 aide_0.19~dev20241110-1.debian.tar.xz Checksums-Sha256: 75c501b3b1b509b86e353dcbb45563bc04b023d16cb0520608d5e435db5addf6 817725 aide_0.19~dev20241110.orig.tar.gz 1532df222aea907ffa5ff551a7ccc9b2ead2ff7232f03910017c15cd2f9f3fa7 107592 aide_0.19~dev20241110-1.debian.tar.xz Files: 2a25a4e032ddb44941154a227788dca3 817725 aide_0.19~dev20241110.orig.tar.gz fbdf3979cab2efc6dce59770d80380e2 107592 aide_0.19~dev20241110-1.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE6QL5UJ/L0pcuNEbjj3cgEwEyBEIFAmcyIEgACgkQj3cgEwEy BEI5SxAAnobY8AjX3zl0zDQ6P241kgk2HCpIgBnkJ9vVqdaLguLoOJbn3WTMqCqp wxGIHAIqJN0US3gy9dzdOSO3CQqp2VY2AIgqkKPRCQ/nNIKHL6LOJASEM/tUi6+Z 69cf8tkYetgNiPikdWp1vFsix6oUsMH3DtCMU5cZYfwpRCVL4IWm/cOFnTHuE4Wc mfkqRz9ktx1jKNB3bpDsnDssc9rBti/C/3vd6TZEwxTx69+HYNEmyZsZMQ2SEiCd Cza1M7hR31sUBz0nmB7X6CYhHTKhaAbyyQlWi+FA60FyJWJEt1/hd7nMcZb1NFTw q2xouPCKZrw5bO5GIqKH0O+gpxtGbFPjqLKvrZK4uwOL1FseD3Cu4NR3c8kjZSwY 9BL71Ez/6U3NWvUdBNPBMiH3lDcH0yl3iTrMIalTdRH2rvYrRKTHlYgXahZJ7ota 5gL1gLxccoo9HfZ5igucdCPKCdOUByL8LNs/Tki0qtvvaZy1suWsT5a2wFOOEQy8 O8rAvrJ2TzPo5aV3IfZ+5UaR24uu/AiARjqNLfd6nu1bHQPjscnCH1kXLdl4w3Fh G6M55Z8nU/3MqxnMUS7+ETWxf4JS85r5NF+FFJFt2nB/w9o8gMfWezVu1upBjSsF 1X5LbHAzJgHGjm+9y2P8qgkP7dETU2pBrt6SsnVAAVkNRgcNG0Q= =tp4O -----END PGP SIGNATURE----- Sat Feb 22 16:47:29 UTC 2025 I: Checking whether the package is not for us Sat Feb 22 16:47:29 UTC 2025 I: Starting 1st build on remote node codethink04-arm64.debian.net. Sat Feb 22 16:47:29 UTC 2025 I: Preparing to do remote build '1' on codethink04-arm64.debian.net. Sat Feb 22 16:47:29 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink04-arm64.debian.net is marked as down. Sat Feb 22 16:47:29 UTC 2025 - checking via ssh if codethink04-arm64.debian.net is up. removed '/tmp/read-only-fs-test-QjvQDb' ==================================================================================== Sat Feb 22 16:47:30 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on codethink04-arm64, called using "1 aide experimental /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs 0.19~dev20241110-1" as arguments. Sat Feb 22 16:47:30 UTC 2025 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-IIfrksqv" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Sat Feb 22 16:47:30 UTC 2025 I: Downloading source for experimental/aide=0.19~dev20241110-1 Reading package lists... NOTICE: 'aide' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/debian/aide.git Please use: git clone https://salsa.debian.org/debian/aide.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 928 kB of source archives. Get:1 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (dsc) [2395 B] Get:2 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (tar) [818 kB] Get:3 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (diff) [108 kB] Fetched 928 kB in 1s (1705 kB/s) Download complete and in download only mode Reading package lists... NOTICE: 'aide' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/debian/aide.git Please use: git clone https://salsa.debian.org/debian/aide.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 928 kB of source archives. Get:1 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (dsc) [2395 B] Get:2 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (tar) [818 kB] Get:3 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (diff) [108 kB] Fetched 928 kB in 1s (1705 kB/s) Download complete and in download only mode ============================================================================= Building aide in experimental on arm64 on codethink04-arm64 now. Date: Sat Feb 22 16:47:31 GMT 2025 Date UTC: Sat Feb 22 16:47:31 UTC 2025 ============================================================================= W: /root/.pbuilderrc does not exist I: Logging to b1/build.log I: pbuilder: network access will be disabled during build I: Current time: Sat Feb 22 04:47:31 -12 2025 I: pbuilder-time-stamp: 1740242851 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/experimental-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [aide_0.19~dev20241110-1.dsc] I: copying [./aide_0.19~dev20241110.orig.tar.gz] I: copying [./aide_0.19~dev20241110-1.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./aide_0.19~dev20241110-1.dsc: unsupported subcommand dpkg-source: info: extracting aide in aide-0.19~dev20241110 dpkg-source: info: unpacking aide_0.19~dev20241110.orig.tar.gz 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/2504791/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' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='experimental' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='3aea897aa9c643fc920a5ca492e10227' 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='2504791' PS1='# ' PS2='> ' 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.CmNpCzjs/pbuilderrc_zxxY --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.CmNpCzjs/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' I: uname -a Linux codethink04-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2504791/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: bison, check, debconf-utils, debhelper-compat (= 13), autoconf-archive, flex (>= 2.5.32), libacl1-dev, libattr1-dev, libaudit-dev, libcap-dev, libext2fs-dev (>= 1.46.2), libpcre2-dev, libselinux1-dev, nettle-dev, pkgconf, po-debconf (>= 0.5.0), zlib1g-dev dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19889 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on bison; however: Package bison is not installed. pbuilder-satisfydepends-dummy depends on check; however: Package check is not installed. pbuilder-satisfydepends-dummy depends on debconf-utils; however: Package debconf-utils is not installed. pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on autoconf-archive; however: Package autoconf-archive is not installed. pbuilder-satisfydepends-dummy depends on flex (>= 2.5.32); however: Package flex is not installed. pbuilder-satisfydepends-dummy depends on libacl1-dev; however: Package libacl1-dev is not installed. pbuilder-satisfydepends-dummy depends on libattr1-dev; however: Package libattr1-dev is not installed. pbuilder-satisfydepends-dummy depends on libaudit-dev; however: Package libaudit-dev is not installed. pbuilder-satisfydepends-dummy depends on libcap-dev; however: Package libcap-dev is not installed. pbuilder-satisfydepends-dummy depends on libext2fs-dev (>= 1.46.2); however: Package libext2fs-dev is not installed. pbuilder-satisfydepends-dummy depends on libpcre2-dev; however: Package libpcre2-dev is not installed. pbuilder-satisfydepends-dummy depends on libselinux1-dev; however: Package libselinux1-dev is not installed. pbuilder-satisfydepends-dummy depends on nettle-dev; however: Package nettle-dev is not installed. pbuilder-satisfydepends-dummy depends on pkgconf; however: Package pkgconf is not installed. pbuilder-satisfydepends-dummy depends on po-debconf (>= 0.5.0); however: Package po-debconf is not installed. pbuilder-satisfydepends-dummy depends on zlib1g-dev; however: Package zlib1g-dev is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} autoconf-archive{a} automake{a} autopoint{a} autotools-dev{a} bison{a} bsdextrautils{a} check{a} comerr-dev{a} debconf-utils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} flex{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libacl1-dev{a} libarchive-zip-perl{a} libattr1-dev{a} libaudit-dev{a} libcap-dev{a} libcap-ng-dev{a} libcom-err2{a} libdebhelper-perl{a} libelf1t64{a} libext2fs-dev{a} libext2fs2t64{a} libfile-stripnondeterminism-perl{a} libgmp-dev{a} libgmpxx4ldbl{a} libicu72{a} libmagic-mgc{a} libmagic1t64{a} libpcre2-16-0{a} libpcre2-32-0{a} libpcre2-dev{a} libpcre2-posix3{a} libpipeline1{a} libpkgconf3{a} libselinux1-dev{a} libsepol-dev{a} libsubunit-dev{a} libsubunit0{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} nettle-dev{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} sensible-utils{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libfl-dev libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 59 newly installed, 0 to remove and 0 not upgraded. Need to get 29.0 MB of archives. After unpacking 112 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main arm64 autoconf-archive all 20220903-3 [775 kB] Get: 2 http://deb.debian.org/debian unstable/main arm64 m4 arm64 1.4.19-5 [284 kB] Get: 3 http://deb.debian.org/debian unstable/main arm64 flex arm64 2.6.4-8.2+b4 [412 kB] Get: 4 http://deb.debian.org/debian unstable/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 5 http://deb.debian.org/debian unstable/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 6 http://deb.debian.org/debian unstable/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 7 http://deb.debian.org/debian unstable/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 8 http://deb.debian.org/debian unstable/main arm64 gettext-base arm64 0.23.1-1 [241 kB] Get: 9 http://deb.debian.org/debian unstable/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 10 http://deb.debian.org/debian unstable/main arm64 groff-base arm64 1.23.0-7 [1129 kB] Get: 11 http://deb.debian.org/debian unstable/main arm64 bsdextrautils arm64 2.40.4-4 [92.1 kB] Get: 12 http://deb.debian.org/debian unstable/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 13 http://deb.debian.org/debian unstable/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 14 http://deb.debian.org/debian unstable/main arm64 autoconf all 2.72-3 [493 kB] Get: 15 http://deb.debian.org/debian unstable/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 16 http://deb.debian.org/debian unstable/main arm64 automake all 1:1.17-3 [862 kB] Get: 17 http://deb.debian.org/debian unstable/main arm64 autopoint all 0.23.1-1 [770 kB] Get: 18 http://deb.debian.org/debian unstable/main arm64 bison arm64 2:3.8.2+dfsg-1+b2 [1149 kB] Get: 19 http://deb.debian.org/debian unstable/main arm64 libsubunit0 arm64 1.4.2-3+b1 [6520 B] Get: 20 http://deb.debian.org/debian unstable/main arm64 libsubunit-dev arm64 1.4.2-3+b1 [7416 B] Get: 21 http://deb.debian.org/debian unstable/main arm64 check arm64 0.15.2-3 [112 kB] Get: 22 http://deb.debian.org/debian unstable/main arm64 libcom-err2 arm64 1.47.2-1 [23.9 kB] Get: 23 http://deb.debian.org/debian unstable/main arm64 comerr-dev arm64 2.1-1.47.2-1 [55.9 kB] Get: 24 http://deb.debian.org/debian unstable/main arm64 debconf-utils all 1.5.89 [49.9 kB] Get: 25 http://deb.debian.org/debian unstable/main arm64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 26 http://deb.debian.org/debian unstable/main arm64 libtool all 2.5.4-3 [539 kB] Get: 27 http://deb.debian.org/debian unstable/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 28 http://deb.debian.org/debian unstable/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 29 http://deb.debian.org/debian unstable/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 30 http://deb.debian.org/debian unstable/main arm64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 31 http://deb.debian.org/debian unstable/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 32 http://deb.debian.org/debian unstable/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 33 http://deb.debian.org/debian unstable/main arm64 libunistring5 arm64 1.3-1 [449 kB] Get: 34 http://deb.debian.org/debian unstable/main arm64 libicu72 arm64 72.1-6 [9239 kB] Get: 35 http://deb.debian.org/debian unstable/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 36 http://deb.debian.org/debian unstable/main arm64 gettext arm64 0.23.1-1 [1610 kB] Get: 37 http://deb.debian.org/debian unstable/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 38 http://deb.debian.org/debian unstable/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 39 http://deb.debian.org/debian unstable/main arm64 debhelper all 13.24.1 [920 kB] Get: 40 http://deb.debian.org/debian unstable/main arm64 libattr1-dev arm64 1:2.5.2-3 [36.7 kB] Get: 41 http://deb.debian.org/debian unstable/main arm64 libacl1-dev arm64 2.3.2-2+b1 [93.8 kB] Get: 42 http://deb.debian.org/debian unstable/main arm64 libcap-ng-dev arm64 0.8.5-4 [34.5 kB] Get: 43 http://deb.debian.org/debian unstable/main arm64 libaudit-dev arm64 1:4.0.2-2+b1 [90.2 kB] Get: 44 http://deb.debian.org/debian unstable/main arm64 libcap-dev arm64 1:2.73-4 [462 kB] Get: 45 http://deb.debian.org/debian unstable/main arm64 libext2fs2t64 arm64 1.47.2-1 [204 kB] Get: 46 http://deb.debian.org/debian unstable/main arm64 libext2fs-dev arm64 1.47.2-1 [297 kB] Get: 47 http://deb.debian.org/debian unstable/main arm64 libgmpxx4ldbl arm64 2:6.3.0+dfsg-3 [329 kB] Get: 48 http://deb.debian.org/debian unstable/main arm64 libgmp-dev arm64 2:6.3.0+dfsg-3 [621 kB] Get: 49 http://deb.debian.org/debian unstable/main arm64 libpcre2-16-0 arm64 10.45-1 [247 kB] Get: 50 http://deb.debian.org/debian unstable/main arm64 libpcre2-32-0 arm64 10.45-1 [237 kB] Get: 51 http://deb.debian.org/debian unstable/main arm64 libpcre2-posix3 arm64 10.45-1 [63.7 kB] Get: 52 http://deb.debian.org/debian unstable/main arm64 libpcre2-dev arm64 10.45-1 [749 kB] Get: 53 http://deb.debian.org/debian unstable/main arm64 libpkgconf3 arm64 1.8.1-4 [35.3 kB] Get: 54 http://deb.debian.org/debian unstable/main arm64 libsepol-dev arm64 3.8-1 [356 kB] Get: 55 http://deb.debian.org/debian unstable/main arm64 libselinux1-dev arm64 3.8-3 [172 kB] Get: 56 http://deb.debian.org/debian unstable/main arm64 nettle-dev arm64 3.10.1-1 [1325 kB] Get: 57 http://deb.debian.org/debian unstable/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 58 http://deb.debian.org/debian unstable/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 59 http://deb.debian.org/debian unstable/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1+b1 [917 kB] Fetched 29.0 MB in 0s (138 MB/s) Preconfiguring packages ... 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 ... 19889 files and directories currently installed.) Preparing to unpack .../00-autoconf-archive_20220903-3_all.deb ... Unpacking autoconf-archive (20220903-3) ... Selecting previously unselected package m4. Preparing to unpack .../01-m4_1.4.19-5_arm64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package flex. Preparing to unpack .../02-flex_2.6.4-8.2+b4_arm64.deb ... Unpacking flex (2.6.4-8.2+b4) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../03-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../04-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../05-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../06-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../07-gettext-base_0.23.1-1_arm64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../08-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.23.0-7_arm64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../10-bsdextrautils_2.40.4-4_arm64.deb ... Unpacking bsdextrautils (2.40.4-4) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../11-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../12-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package autoconf. Preparing to unpack .../13-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../14-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../15-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../16-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package bison. Preparing to unpack .../17-bison_2%3a3.8.2+dfsg-1+b2_arm64.deb ... Unpacking bison (2:3.8.2+dfsg-1+b2) ... Selecting previously unselected package libsubunit0:arm64. Preparing to unpack .../18-libsubunit0_1.4.2-3+b1_arm64.deb ... Unpacking libsubunit0:arm64 (1.4.2-3+b1) ... Selecting previously unselected package libsubunit-dev:arm64. Preparing to unpack .../19-libsubunit-dev_1.4.2-3+b1_arm64.deb ... Unpacking libsubunit-dev:arm64 (1.4.2-3+b1) ... Selecting previously unselected package check:arm64. Preparing to unpack .../20-check_0.15.2-3_arm64.deb ... Unpacking check:arm64 (0.15.2-3) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../21-libcom-err2_1.47.2-1_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-1) ... Selecting previously unselected package comerr-dev:arm64. Preparing to unpack .../22-comerr-dev_2.1-1.47.2-1_arm64.deb ... Unpacking comerr-dev:arm64 (2.1-1.47.2-1) ... Selecting previously unselected package debconf-utils. Preparing to unpack .../23-debconf-utils_1.5.89_all.deb ... Unpacking debconf-utils (1.5.89) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../24-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../25-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../26-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../27-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../28-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../29-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../30-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../31-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../32-libunistring5_1.3-1_arm64.deb ... Unpacking libunistring5:arm64 (1.3-1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../33-libicu72_72.1-6_arm64.deb ... Unpacking libicu72:arm64 (72.1-6) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../34-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../35-gettext_0.23.1-1_arm64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../36-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../37-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../38-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package libattr1-dev:arm64. Preparing to unpack .../39-libattr1-dev_1%3a2.5.2-3_arm64.deb ... Unpacking libattr1-dev:arm64 (1:2.5.2-3) ... Selecting previously unselected package libacl1-dev:arm64. Preparing to unpack .../40-libacl1-dev_2.3.2-2+b1_arm64.deb ... Unpacking libacl1-dev:arm64 (2.3.2-2+b1) ... Selecting previously unselected package libcap-ng-dev:arm64. Preparing to unpack .../41-libcap-ng-dev_0.8.5-4_arm64.deb ... Unpacking libcap-ng-dev:arm64 (0.8.5-4) ... Selecting previously unselected package libaudit-dev:arm64. Preparing to unpack .../42-libaudit-dev_1%3a4.0.2-2+b1_arm64.deb ... Unpacking libaudit-dev:arm64 (1:4.0.2-2+b1) ... Selecting previously unselected package libcap-dev:arm64. Preparing to unpack .../43-libcap-dev_1%3a2.73-4_arm64.deb ... Unpacking libcap-dev:arm64 (1:2.73-4) ... Selecting previously unselected package libext2fs2t64:arm64. Preparing to unpack .../44-libext2fs2t64_1.47.2-1_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libe2p.so.2 to /lib/aarch64-linux-gnu/libe2p.so.2.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/aarch64-linux-gnu/libe2p.so.2.3 to /lib/aarch64-linux-gnu/libe2p.so.2.3.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/aarch64-linux-gnu/libext2fs.so.2 to /lib/aarch64-linux-gnu/libext2fs.so.2.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/aarch64-linux-gnu/libext2fs.so.2.4 to /lib/aarch64-linux-gnu/libext2fs.so.2.4.usr-is-merged by libext2fs2t64' Unpacking libext2fs2t64:arm64 (1.47.2-1) ... Selecting previously unselected package libext2fs-dev. Preparing to unpack .../45-libext2fs-dev_1.47.2-1_arm64.deb ... Unpacking libext2fs-dev (1.47.2-1) ... Selecting previously unselected package libgmpxx4ldbl:arm64. Preparing to unpack .../46-libgmpxx4ldbl_2%3a6.3.0+dfsg-3_arm64.deb ... Unpacking libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-3) ... Selecting previously unselected package libgmp-dev:arm64. Preparing to unpack .../47-libgmp-dev_2%3a6.3.0+dfsg-3_arm64.deb ... Unpacking libgmp-dev:arm64 (2:6.3.0+dfsg-3) ... Selecting previously unselected package libpcre2-16-0:arm64. Preparing to unpack .../48-libpcre2-16-0_10.45-1_arm64.deb ... Unpacking libpcre2-16-0:arm64 (10.45-1) ... Selecting previously unselected package libpcre2-32-0:arm64. Preparing to unpack .../49-libpcre2-32-0_10.45-1_arm64.deb ... Unpacking libpcre2-32-0:arm64 (10.45-1) ... Selecting previously unselected package libpcre2-posix3:arm64. Preparing to unpack .../50-libpcre2-posix3_10.45-1_arm64.deb ... Unpacking libpcre2-posix3:arm64 (10.45-1) ... Selecting previously unselected package libpcre2-dev:arm64. Preparing to unpack .../51-libpcre2-dev_10.45-1_arm64.deb ... Unpacking libpcre2-dev:arm64 (10.45-1) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../52-libpkgconf3_1.8.1-4_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-4) ... Selecting previously unselected package libsepol-dev:arm64. Preparing to unpack .../53-libsepol-dev_3.8-1_arm64.deb ... Unpacking libsepol-dev:arm64 (3.8-1) ... Selecting previously unselected package libselinux1-dev:arm64. Preparing to unpack .../54-libselinux1-dev_3.8-3_arm64.deb ... Unpacking libselinux1-dev:arm64 (3.8-3) ... Selecting previously unselected package nettle-dev:arm64. Preparing to unpack .../55-nettle-dev_3.10.1-1_arm64.deb ... Unpacking nettle-dev:arm64 (3.10.1-1) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../56-pkgconf-bin_1.8.1-4_arm64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../57-pkgconf_1.8.1-4_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-4) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../58-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up libicu72:arm64 (72.1-6) ... Setting up bsdextrautils (2.40.4-4) ... Setting up libattr1-dev:arm64 (1:2.5.2-3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up autoconf-archive (20220903-3) ... Setting up libcom-err2:arm64 (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libsubunit0:arm64 (1.4.2-3+b1) ... Setting up libpcre2-16-0:arm64 (10.45-1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up autotools-dev (20220109.1) ... Setting up libpcre2-32-0:arm64 (10.45-1) ... Setting up libpkgconf3:arm64 (1.8.1-4) ... Setting up libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-3) ... Setting up debconf-utils (1.5.89) ... Setting up comerr-dev:arm64 (2.1-1.47.2-1) ... Setting up libunistring5:arm64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up libsepol-dev:arm64 (3.8-1) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up autoconf (2.72-3) ... Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libpcre2-posix3:arm64 (10.45-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up libcap-ng-dev:arm64 (0.8.5-4) ... Setting up bison (2:3.8.2+dfsg-1+b2) ... update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode Setting up libext2fs2t64:arm64 (1.47.2-1) ... Setting up libext2fs-dev (1.47.2-1) ... Setting up libcap-dev:arm64 (1:2.73-4) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libacl1-dev:arm64 (2.3.2-2+b1) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up flex (2.6.4-8.2+b4) ... Setting up gettext (0.23.1-1) ... Setting up libgmp-dev:arm64 (2:6.3.0+dfsg-3) ... Setting up libpcre2-dev:arm64 (10.45-1) ... Setting up nettle-dev:arm64 (3.10.1-1) ... Setting up libtool (2.5.4-3) ... Setting up libselinux1-dev:arm64 (3.8-3) ... Setting up libaudit-dev:arm64 (1:4.0.2-2+b1) ... Setting up libsubunit-dev:arm64 (1.4.2-3+b1) ... Setting up pkgconf:arm64 (1.8.1-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up check:arm64 (0.15.2-3) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.24.1) ... Processing triggers for libc-bin (2.40-7) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... 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 dpkg-buildpackage: info: source package aide dpkg-buildpackage: info: source version 0.19~dev20241110-1 dpkg-buildpackage: info: source distribution experimental dpkg-buildpackage: info: source changed by Marc Haber dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf configure.ac:3: warning: file 'version.m4' included several times debian/rules override_dh_auto_configure make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_configure -- --prefix=/usr --sysconfdir=/var/lib/aide/please-dont-call-aide-without-parameters --without-config-file --disable-default-db --with-zlib --with-xattr --with-posix-acl --with-e2fsattrs --disable-static ASFLAGS="" ASFLAGS_FOR_BUILD="" CFLAGS="-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" CFLAGS_FOR_BUILD="-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" CPPFLAGS="-Wdate-time -D_FORTIFY_SOURCE=2" CPPFLAGS_FOR_BUILD="-Wdate-time -D_FORTIFY_SOURCE=2" CXXFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" CXXFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" DFLAGS="-frelease" DFLAGS_FOR_BUILD="-frelease" FCFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" FCFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" FFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" FFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" LDFLAGS="-Wl,-z,relro -Wl,-z,now -Wl,--as-needed" LDFLAGS_FOR_BUILD="-Wl,-z,relro -Wl,-z,now" OBJCFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" OBJCFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" OBJCXXFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" OBJCXXFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" --with-selinux --with-audit --with-capabilities ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/aarch64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --sysconfdir=/var/lib/aide/please-dont-call-aide-without-parameters --without-config-file --disable-default-db --with-zlib --with-xattr --with-posix-acl --with-e2fsattrs --disable-static ASFLAGS= ASFLAGS_FOR_BUILD= "CFLAGS=-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" "CFLAGS_FOR_BUILD=-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" "CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2" "CPPFLAGS_FOR_BUILD=-Wdate-time -D_FORTIFY_SOURCE=2" "CXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "CXXFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" DFLAGS=-frelease DFLAGS_FOR_BUILD=-frelease "FCFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "FCFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "FFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "FFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed" "LDFLAGS_FOR_BUILD=-Wl,-z,relro -Wl,-z,now" "OBJCFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "OBJCFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "OBJCXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "OBJCXXFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" --with-selinux --with-audit --with-capabilities checking build system type... aarch64-unknown-linux-gnu checking host system type... aarch64-unknown-linux-gnu checking target system type... aarch64-unknown-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking xargs -n works... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of gcc... none checking whether make sets $(MAKE)... (cached) yes checking for ranlib... ranlib checking for bison... bison -y checking for flex... flex checking for lex output file root... lex.yy checking for lex library... none needed checking whether yytext is a pointer... yes checking for ld... ld checking for pkg-config... /usr/bin/pkg-config checking for gcc option to enable large file support... none needed checking whether ld supports "-z,relro"... yes checking whether ld supports "-z,now"... yes checking whether gcc supports "-fPIE-DPIE"... yes checking whether gcc supports "-Wundef"... yes checking whether gcc supports "-Wmissing-format-attribute"... yes checking whether gcc supports "-Wshadow"... yes checking whether gcc supports "-Wlogical-op"... yes checking for library containing syslog... none required checking for vsyslog... yes checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking whether byte ordering is bigendian... no checking for byte... no checking for ushort... yes checking for ulong... yes checking for u16... no checking for u32... no checking for u64... no checking size of unsigned short... 2 checking size of unsigned int... 4 checking size of unsigned long... 8 checking size of unsigned long long... 8 checking size of int... 4 checking size of long long... 8 checking size of uid_t... 4 checking size of gid_t... 4 checking size of ino_t... 8 checking size of nlink_t... 4 checking size of off_t... 8 checking size of blkcnt_t... 8 checking for strtoll... yes checking for strtoimax... yes checking for readdir... yes checking for stricmp... no checking for strnstr... no checking for strnlen... yes checking for fcntl... yes checking for ftruncate... yes checking for posix_fadvise... yes checking for asprintf... yes checking for snprintf... yes checking for vasprintf... yes checking for vsnprintf... yes checking for va_copy... no checking for __va_copy... no checking for sigabbrev_np... yes checking for sys/prctl.h... yes checking for open/O_NOATIME... no checking for syslog.h... yes checking for inttypes.h... (cached) yes checking for fcntl.h... yes checking for ctype.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for libpcre2-8... yes checking for a sed that does not truncate output... /usr/bin/sed checking how to run the C preprocessor... gcc -E checking for egrep -e... /usr/bin/grep -E checking whether gcc is Clang... no checking whether pthreads work with "-pthread" and "-lpthread"... yes checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE checking whether more special flags are required for pthreads... no checking for PTHREAD_PRIO_INHERIT... yes checking for zlib compression... yes checking for zlib... yes checking for POSIX ACLs... yes checking for libacl... yes checking for SELinux... yes checking for libselinux... yes checking for xattr... yes checking for libattr... yes checking for POSIX 1003.1e capabilities... yes checking for libcap... yes checking for e2fsattrs... yes checking for e2p... yes checking for cURL... no checking for Nettle... check checking for GNU crypto library... check checking for nettle... yes checking for Linux Auditing Framework... yes checking for audit... yes checking for locale... no checking for syslog ident... aide checking for syslog logopt... LOG_CONS checking for syslog priority... LOG_NOTICE checking for default syslog facility... LOG_LOCAL0 checking for check >= 0.9.4... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating include/config.h config.status: executing depfiles commands make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_build make -j12 make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' bison -y -d -Wno-yacc -Wall -Werror -o src/conf_yacc.c -p conf src/conf_yacc.y make all-am make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' flex -osrc/conf_lex.c -Pconf src/conf_lex.l 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 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-attributes.o `test -f 'src/attributes.c' || echo './'`src/attributes.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-report.o `test -f 'src/report.c' || echo './'`src/report.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-report_plain.o `test -f 'src/report_plain.c' || echo './'`src/report_plain.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-report_json.o `test -f 'src/report_json.c' || echo './'`src/report_json.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-conf_ast.o `test -f 'src/conf_ast.c' || echo './'`src/conf_ast.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-conf_eval.o `test -f 'src/conf_eval.c' || echo './'`src/conf_eval.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-conf_lex.o `test -f 'src/conf_lex.c' || echo './'`src/conf_lex.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-conf_yacc.o `test -f 'src/conf_yacc.c' || echo './'`src/conf_yacc.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-db.o `test -f 'src/db.c' || echo './'`src/db.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-db_disk.o `test -f 'src/db_disk.c' || echo './'`src/db_disk.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-db_file.o `test -f 'src/db_file.c' || echo './'`src/db_file.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-db_list.o `test -f 'src/db_list.c' || echo './'`src/db_list.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-do_md.o `test -f 'src/do_md.c' || echo './'`src/do_md.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-gen_list.o `test -f 'src/gen_list.c' || echo './'`src/gen_list.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-getopt1.o `test -f 'src/getopt1.c' || echo './'`src/getopt1.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-getopt.o `test -f 'src/getopt.c' || echo './'`src/getopt.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-hashsum.o `test -f 'src/hashsum.c' || echo './'`src/hashsum.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-rx_rule.o `test -f 'src/rx_rule.c' || echo './'`src/rx_rule.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-list.o `test -f 'src/list.c' || echo './'`src/list.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-log.o `test -f 'src/log.c' || echo './'`src/log.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-md.o `test -f 'src/md.c' || echo './'`src/md.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-queue.o `test -f 'src/queue.c' || echo './'`src/queue.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-progress.o `test -f 'src/progress.c' || echo './'`src/progress.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-seltree.o `test -f 'src/seltree.c' || echo './'`src/seltree.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-symboltable.o `test -f 'src/symboltable.c' || echo './'`src/symboltable.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-tree.o `test -f 'src/tree.c' || echo './'`src/tree.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-url.o `test -f 'src/url.c' || echo './'`src/url.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-util.o `test -f 'src/util.c' || echo './'`src/util.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-e2fsattrs.o `test -f 'src/e2fsattrs.c' || echo './'`src/e2fsattrs.c gcc -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 -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -o aide src/aide-aide.o src/aide-base64.o src/aide-be.o src/aide-commandconf.o src/aide-attributes.o src/aide-report.o src/aide-report_plain.o src/aide-report_json.o src/aide-conf_ast.o src/aide-conf_eval.o src/aide-conf_lex.o src/aide-conf_yacc.o src/aide-db.o src/aide-db_disk.o src/aide-db_file.o src/aide-db_list.o src/aide-do_md.o src/aide-gen_list.o src/aide-getopt1.o src/aide-getopt.o src/aide-hashsum.o src/aide-rx_rule.o src/aide-list.o src/aide-log.o src/aide-md.o src/aide-queue.o src/aide-progress.o src/aide-seltree.o src/aide-symboltable.o src/aide-tree.o src/aide-url.o src/aide-util.o src/aide-e2fsattrs.o -lm -laudit -lcap -le2p -lnettle -lpcre2-8 -lacl -lpthread -lselinux -lattr -lz make[2]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_test make -j12 check "TESTSUITEFLAGS=-j12 --verbose" VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make check-am make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make check_aide make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' 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 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 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 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 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 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-list.o `test -f 'src/list.c' || echo './'`src/list.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-tree.o `test -f 'src/tree.c' || echo './'`src/tree.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-rx_rule.o `test -f 'src/rx_rule.c' || echo './'`src/rx_rule.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_aide.o `test -f 'tests/check_aide.c' || echo './'`tests/check_aide.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_attributes.o `test -f 'tests/check_attributes.c' || echo './'`tests/check_attributes.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 make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' Running suite(s): attributes base64 progress seltree INFO: test_unrestricted_equal_rule DEBUG: created root node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) RULE: ┌ /: RULE: │ '=/dev (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3a92f0)) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a92f0)) 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: '/' (0xaaaaec3a4c60)) 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 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a93e0)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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' (0xaaaaec3a2e40)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list RULE: ┝ '/dev/sda' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3a9380)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a9380)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3a9380)) 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' (0xaaaaec3a9470)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a9560)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev$ (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3a9670)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a9670)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3a9670)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3a9760)) 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' (0xaaaaec3a9670)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3ab890)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab980)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3aba70)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abb60)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3a96f0)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a96f0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3a96f0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3ab870)) 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' (0xaaaaec3a96f0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3ab900)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab9f0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abae0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abbd0)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev$ (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a9770)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab890)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab980)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab870)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab920)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3aba10)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '!/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3ab8b0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/0' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab8b0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ab8b0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3ab9a0)) 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' (0xaaaaec3ab8b0)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3aba90)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abb60)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '!/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3ab940)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/0' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab940)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ab940)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3aba30)) 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' (0xaaaaec3ab940)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3abb20)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abbf0)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '-/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction '(none)' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab9c0)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '-/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction '(none)' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3aba30)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaec3abdf0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaec3abd00) DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaec3abc10) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] (none) ' (check_seltree:0: 'n/a') RULE: ┝ /etc: RULE: ┝ /etc/deep: RULE: ┝ /etc/deep/down: RULE: │ '/etc/deep/down/0 (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3abf30)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/.*/[0-9]' and restriction '(none)' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abf30)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abf30)) 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) RULE: │ node: '/dev': check selective list 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' (0xaaaaec3ac020)) 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' (0xaaaaec3abf30)) 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' (0xaaaaec3ac110)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/.*/[0-9]' and restriction '(none)' 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check '/etc' (filetype: d) DEBUG: │ directory node '/etc' (0xaaaaec3abc10) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaec3abc10)) DEBUG: │ directory node '/etc' (0xaaaaec3abc10) 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' (0xaaaaec3abc10)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xaaaaec3abd00)) DEBUG: │ directory node '/etc/deep' (0xaaaaec3abd00) 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' (0xaaaaec3abd00)) 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' (0xaaaaec3abdf0)) DEBUG: │ directory node '/etc/deep/down' (0xaaaaec3abdf0) 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') 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: │ 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' (0xaaaaec3abdf0)) 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) RULE: │ node: '/etc/deep/down': check selective list RULE: ┝ '/etc/deep/down/0' matches regex '/etc/deep/down/0' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') 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: │ node: '/etc/deep/down': skip negative list (reason: list is empty) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev (none) ' (check_seltree:0: 'n/a') RULE: │ '-/ (none)' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) RULE: ┌ /: RULE: │ '=/dev d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3ab950)) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab950)) 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: '/' (0xaaaaec3a4c60)) 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 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3aba40)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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' (0xaaaaec3a2e40)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list DEBUG: │ '/dev/sda' does not match file type of rule 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3ab9b0)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab9b0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ab9b0)) 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' (0xaaaaec3abaa0)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abb90)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev$ d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abca0)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abca0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abca0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abd90)) 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' (0xaaaaec3abca0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abe80)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abf70)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac060)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac150)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' does not match file type of rule restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abd20)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' does not match file type of rule restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abd20)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abd20)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abe10)) 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' (0xaaaaec3abd20)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abf00)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abff0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac0e0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac1d0)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev$ d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abda0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abe90)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abf80)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abe20)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abf10)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac000)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '!/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3abe90)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/0' does not match file type of rule restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abe90)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abe90)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3abf80)) 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' (0xaaaaec3abe90)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3ac070)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac140)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '!/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3acec0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/0' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3acec0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3acec0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3acfb0)) 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' (0xaaaaec3acec0)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3ad0a0)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ad170)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '-/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction 'd' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3acf60)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '-/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction 'd' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3acfe0)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaec3ad3a0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaec3ad2b0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaec3ad1c0) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] b ' (check_seltree:0: 'n/a') RULE: ┝ /etc: RULE: ┝ /etc/deep: RULE: ┝ /etc/deep/down: RULE: │ '/etc/deep/down/0 f ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check '/dev/pts' (filetype: b) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3ad4e0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/.*/[0-9]' and restriction 'b' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ad4e0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ad4e0)) 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) RULE: │ node: '/dev': check selective list 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' (0xaaaaec3ad5d0)) 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' (0xaaaaec3ad4e0)) 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' (0xaaaaec3ad6c0)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/pts/deep/down/0' does not match file type of rule restriction 'b' 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check '/etc' (filetype: d) DEBUG: │ directory node '/etc' (0xaaaaec3ad1c0) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaec3ad1c0)) DEBUG: │ directory node '/etc' (0xaaaaec3ad1c0) 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' (0xaaaaec3ad1c0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xaaaaec3ad2b0)) DEBUG: │ directory node '/etc/deep' (0xaaaaec3ad2b0) 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' (0xaaaaec3ad2b0)) 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' (0xaaaaec3ad3a0)) DEBUG: │ directory node '/etc/deep/down' (0xaaaaec3ad3a0) 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') 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: │ 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' (0xaaaaec3ad3a0)) 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) RULE: │ node: '/etc/deep/down': check selective list RULE: ┝ '/etc/deep/down/0' matches regex '/etc/deep/down/0' and restriction 'f' of selective rule (check_seltree:1: 'n/a') 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: │ node: '/etc/deep/down': skip negative list (reason: list is empty) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev b ' (check_seltree:0: 'n/a') RULE: │ '-/ d' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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 (0xffffefa17b48) DEBUG: > free md_container (0xffffefa17b48) DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffefa17b48) DEBUG: > free md_container (0xffffefa17b48) DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffefa17b48) DEBUG: > free md_container (0xffffefa17b48) 100%: Checks: 166, Failures: 0, Errors: 0 PASS: check_aide ============= 1 test passed ============= make[3]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[2]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' create-stamp debian/debhelper-build-stamp dh_prep dh_installdirs debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_install make -j12 install DESTDIR=/build/reproducible-path/aide-0.19\~dev20241110/debian/tmp AM_UPDATE_INFO_DIR=no make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make install-am make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make[4]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/bin' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man1' /usr/bin/install -c aide '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/bin' /usr/bin/mkdir -p '/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' /usr/bin/install -c -m 644 doc/aide.conf.5 '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man5' 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' dh_installsystemd --name=dailyaidecheck # this is needed until dh compat 14 dh_installsysusers make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' dh_install dh_installdocs dh_installchangelogs dh_installexamples dh_installman dh_installdebconf dh_installinit dh_installtmpfiles dh_installsystemd dh_lintian dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_dwz -a dh_strip -a dh_makeshlibs -a dh_shlibdeps -a dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 from: /lib/ld-linux-aarch64.so.1 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 to: /lib/ld-linux-aarch64.so.1.usr-is-merged dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libext2fs2t64 from: /lib/aarch64-linux-gnu/libe2p.so.2 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libext2fs2t64 to: /lib/aarch64-linux-gnu/libe2p.so.2.usr-is-merged dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'aide' in '../aide_0.19~dev20241110-1_arm64.deb'. dpkg-deb: building package 'aide-dbgsym' in '../aide-dbgsym_0.19~dev20241110-1_arm64.deb'. dpkg-deb: building package 'aide-dynamic' in '../aide-dynamic_0.19~dev20241110-1_all.deb'. dpkg-deb: building package 'aide-common' in '../aide-common_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) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration 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/2504791 and its subdirectories I: Current time: Sat Feb 22 04:48:41 -12 2025 I: pbuilder-time-stamp: 1740242921 Sat Feb 22 16:48:41 UTC 2025 I: Signing ./b1/aide_0.19~dev20241110-1_arm64.buildinfo as aide_0.19~dev20241110-1_arm64.buildinfo.asc Sat Feb 22 16:48:41 UTC 2025 I: Signed ./b1/aide_0.19~dev20241110-1_arm64.buildinfo as ./b1/aide_0.19~dev20241110-1_arm64.buildinfo.asc Sat Feb 22 16:48:41 UTC 2025 - build #1 for aide/experimental/arm64 on codethink04-arm64 done. Starting cleanup. All cleanup done. Sat Feb 22 16:48:41 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-IIfrksqv, removing. /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs: total 16 -rw-r--r-- 1 jenkins jenkins 2395 Nov 11 15:22 aide_0.19~dev20241110-1.dsc drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 16:48 b1 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 16:47 b2 -rw------- 1 jenkins jenkins 3560 Feb 22 16:47 rbuildlog.4exyqs0 /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/b1: total 1696 -rw-r--r-- 1 jenkins jenkins 109932 Feb 22 16:48 aide-common_0.19~dev20241110-1_all.deb -rw-r--r-- 1 jenkins jenkins 201700 Feb 22 16:48 aide-dbgsym_0.19~dev20241110-1_arm64.deb -rw-r--r-- 1 jenkins jenkins 32592 Feb 22 16:48 aide-dynamic_0.19~dev20241110-1_all.deb -rw-r--r-- 1 jenkins jenkins 107592 Feb 22 16:48 aide_0.19~dev20241110-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2395 Feb 22 16:48 aide_0.19~dev20241110-1.dsc -rw-r--r-- 1 jenkins jenkins 6400 Feb 22 16:48 aide_0.19~dev20241110-1_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 7282 Feb 22 16:48 aide_0.19~dev20241110-1_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 2174 Feb 22 16:48 aide_0.19~dev20241110-1_arm64.changes -rw-r--r-- 1 jenkins jenkins 127516 Feb 22 16:48 aide_0.19~dev20241110-1_arm64.deb -rw-r--r-- 1 jenkins jenkins 1540 Feb 22 16:48 aide_0.19~dev20241110-1_source.changes -rw-r--r-- 1 jenkins jenkins 817725 Feb 22 16:48 aide_0.19~dev20241110.orig.tar.gz -rw-r--r-- 1 jenkins jenkins 298376 Feb 22 16:48 build.log /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/b2: total 0 Sat Feb 22 16:48:42 UTC 2025 I: Deleting $TMPDIR on codethink04-arm64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Sat Feb 22 04:47:31 -12 2025 I: pbuilder-time-stamp: 1740242851 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/experimental-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [aide_0.19~dev20241110-1.dsc] I: copying [./aide_0.19~dev20241110.orig.tar.gz] I: copying [./aide_0.19~dev20241110-1.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./aide_0.19~dev20241110-1.dsc: unsupported subcommand dpkg-source: info: extracting aide in aide-0.19~dev20241110 dpkg-source: info: unpacking aide_0.19~dev20241110.orig.tar.gz 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/2504791/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' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='experimental' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='3aea897aa9c643fc920a5ca492e10227' 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='2504791' PS1='# ' PS2='> ' 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.CmNpCzjs/pbuilderrc_zxxY --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.CmNpCzjs/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' I: uname -a Linux codethink04-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2504791/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: bison, check, debconf-utils, debhelper-compat (= 13), autoconf-archive, flex (>= 2.5.32), libacl1-dev, libattr1-dev, libaudit-dev, libcap-dev, libext2fs-dev (>= 1.46.2), libpcre2-dev, libselinux1-dev, nettle-dev, pkgconf, po-debconf (>= 0.5.0), zlib1g-dev dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19889 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on bison; however: Package bison is not installed. pbuilder-satisfydepends-dummy depends on check; however: Package check is not installed. pbuilder-satisfydepends-dummy depends on debconf-utils; however: Package debconf-utils is not installed. pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on autoconf-archive; however: Package autoconf-archive is not installed. pbuilder-satisfydepends-dummy depends on flex (>= 2.5.32); however: Package flex is not installed. pbuilder-satisfydepends-dummy depends on libacl1-dev; however: Package libacl1-dev is not installed. pbuilder-satisfydepends-dummy depends on libattr1-dev; however: Package libattr1-dev is not installed. pbuilder-satisfydepends-dummy depends on libaudit-dev; however: Package libaudit-dev is not installed. pbuilder-satisfydepends-dummy depends on libcap-dev; however: Package libcap-dev is not installed. pbuilder-satisfydepends-dummy depends on libext2fs-dev (>= 1.46.2); however: Package libext2fs-dev is not installed. pbuilder-satisfydepends-dummy depends on libpcre2-dev; however: Package libpcre2-dev is not installed. pbuilder-satisfydepends-dummy depends on libselinux1-dev; however: Package libselinux1-dev is not installed. pbuilder-satisfydepends-dummy depends on nettle-dev; however: Package nettle-dev is not installed. pbuilder-satisfydepends-dummy depends on pkgconf; however: Package pkgconf is not installed. pbuilder-satisfydepends-dummy depends on po-debconf (>= 0.5.0); however: Package po-debconf is not installed. pbuilder-satisfydepends-dummy depends on zlib1g-dev; however: Package zlib1g-dev is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} autoconf-archive{a} automake{a} autopoint{a} autotools-dev{a} bison{a} bsdextrautils{a} check{a} comerr-dev{a} debconf-utils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} flex{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libacl1-dev{a} libarchive-zip-perl{a} libattr1-dev{a} libaudit-dev{a} libcap-dev{a} libcap-ng-dev{a} libcom-err2{a} libdebhelper-perl{a} libelf1t64{a} libext2fs-dev{a} libext2fs2t64{a} libfile-stripnondeterminism-perl{a} libgmp-dev{a} libgmpxx4ldbl{a} libicu72{a} libmagic-mgc{a} libmagic1t64{a} libpcre2-16-0{a} libpcre2-32-0{a} libpcre2-dev{a} libpcre2-posix3{a} libpipeline1{a} libpkgconf3{a} libselinux1-dev{a} libsepol-dev{a} libsubunit-dev{a} libsubunit0{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} nettle-dev{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} sensible-utils{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libfl-dev libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 59 newly installed, 0 to remove and 0 not upgraded. Need to get 29.0 MB of archives. After unpacking 112 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main arm64 autoconf-archive all 20220903-3 [775 kB] Get: 2 http://deb.debian.org/debian unstable/main arm64 m4 arm64 1.4.19-5 [284 kB] Get: 3 http://deb.debian.org/debian unstable/main arm64 flex arm64 2.6.4-8.2+b4 [412 kB] Get: 4 http://deb.debian.org/debian unstable/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 5 http://deb.debian.org/debian unstable/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 6 http://deb.debian.org/debian unstable/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 7 http://deb.debian.org/debian unstable/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 8 http://deb.debian.org/debian unstable/main arm64 gettext-base arm64 0.23.1-1 [241 kB] Get: 9 http://deb.debian.org/debian unstable/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 10 http://deb.debian.org/debian unstable/main arm64 groff-base arm64 1.23.0-7 [1129 kB] Get: 11 http://deb.debian.org/debian unstable/main arm64 bsdextrautils arm64 2.40.4-4 [92.1 kB] Get: 12 http://deb.debian.org/debian unstable/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 13 http://deb.debian.org/debian unstable/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 14 http://deb.debian.org/debian unstable/main arm64 autoconf all 2.72-3 [493 kB] Get: 15 http://deb.debian.org/debian unstable/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 16 http://deb.debian.org/debian unstable/main arm64 automake all 1:1.17-3 [862 kB] Get: 17 http://deb.debian.org/debian unstable/main arm64 autopoint all 0.23.1-1 [770 kB] Get: 18 http://deb.debian.org/debian unstable/main arm64 bison arm64 2:3.8.2+dfsg-1+b2 [1149 kB] Get: 19 http://deb.debian.org/debian unstable/main arm64 libsubunit0 arm64 1.4.2-3+b1 [6520 B] Get: 20 http://deb.debian.org/debian unstable/main arm64 libsubunit-dev arm64 1.4.2-3+b1 [7416 B] Get: 21 http://deb.debian.org/debian unstable/main arm64 check arm64 0.15.2-3 [112 kB] Get: 22 http://deb.debian.org/debian unstable/main arm64 libcom-err2 arm64 1.47.2-1 [23.9 kB] Get: 23 http://deb.debian.org/debian unstable/main arm64 comerr-dev arm64 2.1-1.47.2-1 [55.9 kB] Get: 24 http://deb.debian.org/debian unstable/main arm64 debconf-utils all 1.5.89 [49.9 kB] Get: 25 http://deb.debian.org/debian unstable/main arm64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 26 http://deb.debian.org/debian unstable/main arm64 libtool all 2.5.4-3 [539 kB] Get: 27 http://deb.debian.org/debian unstable/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 28 http://deb.debian.org/debian unstable/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 29 http://deb.debian.org/debian unstable/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 30 http://deb.debian.org/debian unstable/main arm64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 31 http://deb.debian.org/debian unstable/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 32 http://deb.debian.org/debian unstable/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 33 http://deb.debian.org/debian unstable/main arm64 libunistring5 arm64 1.3-1 [449 kB] Get: 34 http://deb.debian.org/debian unstable/main arm64 libicu72 arm64 72.1-6 [9239 kB] Get: 35 http://deb.debian.org/debian unstable/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 36 http://deb.debian.org/debian unstable/main arm64 gettext arm64 0.23.1-1 [1610 kB] Get: 37 http://deb.debian.org/debian unstable/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 38 http://deb.debian.org/debian unstable/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 39 http://deb.debian.org/debian unstable/main arm64 debhelper all 13.24.1 [920 kB] Get: 40 http://deb.debian.org/debian unstable/main arm64 libattr1-dev arm64 1:2.5.2-3 [36.7 kB] Get: 41 http://deb.debian.org/debian unstable/main arm64 libacl1-dev arm64 2.3.2-2+b1 [93.8 kB] Get: 42 http://deb.debian.org/debian unstable/main arm64 libcap-ng-dev arm64 0.8.5-4 [34.5 kB] Get: 43 http://deb.debian.org/debian unstable/main arm64 libaudit-dev arm64 1:4.0.2-2+b1 [90.2 kB] Get: 44 http://deb.debian.org/debian unstable/main arm64 libcap-dev arm64 1:2.73-4 [462 kB] Get: 45 http://deb.debian.org/debian unstable/main arm64 libext2fs2t64 arm64 1.47.2-1 [204 kB] Get: 46 http://deb.debian.org/debian unstable/main arm64 libext2fs-dev arm64 1.47.2-1 [297 kB] Get: 47 http://deb.debian.org/debian unstable/main arm64 libgmpxx4ldbl arm64 2:6.3.0+dfsg-3 [329 kB] Get: 48 http://deb.debian.org/debian unstable/main arm64 libgmp-dev arm64 2:6.3.0+dfsg-3 [621 kB] Get: 49 http://deb.debian.org/debian unstable/main arm64 libpcre2-16-0 arm64 10.45-1 [247 kB] Get: 50 http://deb.debian.org/debian unstable/main arm64 libpcre2-32-0 arm64 10.45-1 [237 kB] Get: 51 http://deb.debian.org/debian unstable/main arm64 libpcre2-posix3 arm64 10.45-1 [63.7 kB] Get: 52 http://deb.debian.org/debian unstable/main arm64 libpcre2-dev arm64 10.45-1 [749 kB] Get: 53 http://deb.debian.org/debian unstable/main arm64 libpkgconf3 arm64 1.8.1-4 [35.3 kB] Get: 54 http://deb.debian.org/debian unstable/main arm64 libsepol-dev arm64 3.8-1 [356 kB] Get: 55 http://deb.debian.org/debian unstable/main arm64 libselinux1-dev arm64 3.8-3 [172 kB] Get: 56 http://deb.debian.org/debian unstable/main arm64 nettle-dev arm64 3.10.1-1 [1325 kB] Get: 57 http://deb.debian.org/debian unstable/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 58 http://deb.debian.org/debian unstable/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 59 http://deb.debian.org/debian unstable/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1+b1 [917 kB] Fetched 29.0 MB in 0s (138 MB/s) Preconfiguring packages ... 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 ... 19889 files and directories currently installed.) Preparing to unpack .../00-autoconf-archive_20220903-3_all.deb ... Unpacking autoconf-archive (20220903-3) ... Selecting previously unselected package m4. Preparing to unpack .../01-m4_1.4.19-5_arm64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package flex. Preparing to unpack .../02-flex_2.6.4-8.2+b4_arm64.deb ... Unpacking flex (2.6.4-8.2+b4) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../03-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../04-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../05-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../06-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../07-gettext-base_0.23.1-1_arm64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../08-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.23.0-7_arm64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../10-bsdextrautils_2.40.4-4_arm64.deb ... Unpacking bsdextrautils (2.40.4-4) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../11-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../12-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package autoconf. Preparing to unpack .../13-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../14-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../15-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../16-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package bison. Preparing to unpack .../17-bison_2%3a3.8.2+dfsg-1+b2_arm64.deb ... Unpacking bison (2:3.8.2+dfsg-1+b2) ... Selecting previously unselected package libsubunit0:arm64. Preparing to unpack .../18-libsubunit0_1.4.2-3+b1_arm64.deb ... Unpacking libsubunit0:arm64 (1.4.2-3+b1) ... Selecting previously unselected package libsubunit-dev:arm64. Preparing to unpack .../19-libsubunit-dev_1.4.2-3+b1_arm64.deb ... Unpacking libsubunit-dev:arm64 (1.4.2-3+b1) ... Selecting previously unselected package check:arm64. Preparing to unpack .../20-check_0.15.2-3_arm64.deb ... Unpacking check:arm64 (0.15.2-3) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../21-libcom-err2_1.47.2-1_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-1) ... Selecting previously unselected package comerr-dev:arm64. Preparing to unpack .../22-comerr-dev_2.1-1.47.2-1_arm64.deb ... Unpacking comerr-dev:arm64 (2.1-1.47.2-1) ... Selecting previously unselected package debconf-utils. Preparing to unpack .../23-debconf-utils_1.5.89_all.deb ... Unpacking debconf-utils (1.5.89) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../24-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../25-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../26-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../27-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../28-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../29-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../30-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../31-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../32-libunistring5_1.3-1_arm64.deb ... Unpacking libunistring5:arm64 (1.3-1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../33-libicu72_72.1-6_arm64.deb ... Unpacking libicu72:arm64 (72.1-6) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../34-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../35-gettext_0.23.1-1_arm64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../36-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../37-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../38-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package libattr1-dev:arm64. Preparing to unpack .../39-libattr1-dev_1%3a2.5.2-3_arm64.deb ... Unpacking libattr1-dev:arm64 (1:2.5.2-3) ... Selecting previously unselected package libacl1-dev:arm64. Preparing to unpack .../40-libacl1-dev_2.3.2-2+b1_arm64.deb ... Unpacking libacl1-dev:arm64 (2.3.2-2+b1) ... Selecting previously unselected package libcap-ng-dev:arm64. Preparing to unpack .../41-libcap-ng-dev_0.8.5-4_arm64.deb ... Unpacking libcap-ng-dev:arm64 (0.8.5-4) ... Selecting previously unselected package libaudit-dev:arm64. Preparing to unpack .../42-libaudit-dev_1%3a4.0.2-2+b1_arm64.deb ... Unpacking libaudit-dev:arm64 (1:4.0.2-2+b1) ... Selecting previously unselected package libcap-dev:arm64. Preparing to unpack .../43-libcap-dev_1%3a2.73-4_arm64.deb ... Unpacking libcap-dev:arm64 (1:2.73-4) ... Selecting previously unselected package libext2fs2t64:arm64. Preparing to unpack .../44-libext2fs2t64_1.47.2-1_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libe2p.so.2 to /lib/aarch64-linux-gnu/libe2p.so.2.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/aarch64-linux-gnu/libe2p.so.2.3 to /lib/aarch64-linux-gnu/libe2p.so.2.3.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/aarch64-linux-gnu/libext2fs.so.2 to /lib/aarch64-linux-gnu/libext2fs.so.2.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/aarch64-linux-gnu/libext2fs.so.2.4 to /lib/aarch64-linux-gnu/libext2fs.so.2.4.usr-is-merged by libext2fs2t64' Unpacking libext2fs2t64:arm64 (1.47.2-1) ... Selecting previously unselected package libext2fs-dev. Preparing to unpack .../45-libext2fs-dev_1.47.2-1_arm64.deb ... Unpacking libext2fs-dev (1.47.2-1) ... Selecting previously unselected package libgmpxx4ldbl:arm64. Preparing to unpack .../46-libgmpxx4ldbl_2%3a6.3.0+dfsg-3_arm64.deb ... Unpacking libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-3) ... Selecting previously unselected package libgmp-dev:arm64. Preparing to unpack .../47-libgmp-dev_2%3a6.3.0+dfsg-3_arm64.deb ... Unpacking libgmp-dev:arm64 (2:6.3.0+dfsg-3) ... Selecting previously unselected package libpcre2-16-0:arm64. Preparing to unpack .../48-libpcre2-16-0_10.45-1_arm64.deb ... Unpacking libpcre2-16-0:arm64 (10.45-1) ... Selecting previously unselected package libpcre2-32-0:arm64. Preparing to unpack .../49-libpcre2-32-0_10.45-1_arm64.deb ... Unpacking libpcre2-32-0:arm64 (10.45-1) ... Selecting previously unselected package libpcre2-posix3:arm64. Preparing to unpack .../50-libpcre2-posix3_10.45-1_arm64.deb ... Unpacking libpcre2-posix3:arm64 (10.45-1) ... Selecting previously unselected package libpcre2-dev:arm64. Preparing to unpack .../51-libpcre2-dev_10.45-1_arm64.deb ... Unpacking libpcre2-dev:arm64 (10.45-1) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../52-libpkgconf3_1.8.1-4_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-4) ... Selecting previously unselected package libsepol-dev:arm64. Preparing to unpack .../53-libsepol-dev_3.8-1_arm64.deb ... Unpacking libsepol-dev:arm64 (3.8-1) ... Selecting previously unselected package libselinux1-dev:arm64. Preparing to unpack .../54-libselinux1-dev_3.8-3_arm64.deb ... Unpacking libselinux1-dev:arm64 (3.8-3) ... Selecting previously unselected package nettle-dev:arm64. Preparing to unpack .../55-nettle-dev_3.10.1-1_arm64.deb ... Unpacking nettle-dev:arm64 (3.10.1-1) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../56-pkgconf-bin_1.8.1-4_arm64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../57-pkgconf_1.8.1-4_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-4) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../58-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up libicu72:arm64 (72.1-6) ... Setting up bsdextrautils (2.40.4-4) ... Setting up libattr1-dev:arm64 (1:2.5.2-3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up autoconf-archive (20220903-3) ... Setting up libcom-err2:arm64 (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libsubunit0:arm64 (1.4.2-3+b1) ... Setting up libpcre2-16-0:arm64 (10.45-1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up autotools-dev (20220109.1) ... Setting up libpcre2-32-0:arm64 (10.45-1) ... Setting up libpkgconf3:arm64 (1.8.1-4) ... Setting up libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-3) ... Setting up debconf-utils (1.5.89) ... Setting up comerr-dev:arm64 (2.1-1.47.2-1) ... Setting up libunistring5:arm64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up libsepol-dev:arm64 (3.8-1) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up autoconf (2.72-3) ... Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libpcre2-posix3:arm64 (10.45-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up libcap-ng-dev:arm64 (0.8.5-4) ... Setting up bison (2:3.8.2+dfsg-1+b2) ... update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode Setting up libext2fs2t64:arm64 (1.47.2-1) ... Setting up libext2fs-dev (1.47.2-1) ... Setting up libcap-dev:arm64 (1:2.73-4) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libacl1-dev:arm64 (2.3.2-2+b1) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up flex (2.6.4-8.2+b4) ... Setting up gettext (0.23.1-1) ... Setting up libgmp-dev:arm64 (2:6.3.0+dfsg-3) ... Setting up libpcre2-dev:arm64 (10.45-1) ... Setting up nettle-dev:arm64 (3.10.1-1) ... Setting up libtool (2.5.4-3) ... Setting up libselinux1-dev:arm64 (3.8-3) ... Setting up libaudit-dev:arm64 (1:4.0.2-2+b1) ... Setting up libsubunit-dev:arm64 (1.4.2-3+b1) ... Setting up pkgconf:arm64 (1.8.1-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up check:arm64 (0.15.2-3) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.24.1) ... Processing triggers for libc-bin (2.40-7) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... 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 dpkg-buildpackage: info: source package aide dpkg-buildpackage: info: source version 0.19~dev20241110-1 dpkg-buildpackage: info: source distribution experimental dpkg-buildpackage: info: source changed by Marc Haber dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf configure.ac:3: warning: file 'version.m4' included several times debian/rules override_dh_auto_configure make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_configure -- --prefix=/usr --sysconfdir=/var/lib/aide/please-dont-call-aide-without-parameters --without-config-file --disable-default-db --with-zlib --with-xattr --with-posix-acl --with-e2fsattrs --disable-static ASFLAGS="" ASFLAGS_FOR_BUILD="" CFLAGS="-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" CFLAGS_FOR_BUILD="-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" CPPFLAGS="-Wdate-time -D_FORTIFY_SOURCE=2" CPPFLAGS_FOR_BUILD="-Wdate-time -D_FORTIFY_SOURCE=2" CXXFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" CXXFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" DFLAGS="-frelease" DFLAGS_FOR_BUILD="-frelease" FCFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" FCFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" FFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" FFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" LDFLAGS="-Wl,-z,relro -Wl,-z,now -Wl,--as-needed" LDFLAGS_FOR_BUILD="-Wl,-z,relro -Wl,-z,now" OBJCFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" OBJCFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" OBJCXXFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" OBJCXXFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" --with-selinux --with-audit --with-capabilities ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/aarch64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --sysconfdir=/var/lib/aide/please-dont-call-aide-without-parameters --without-config-file --disable-default-db --with-zlib --with-xattr --with-posix-acl --with-e2fsattrs --disable-static ASFLAGS= ASFLAGS_FOR_BUILD= "CFLAGS=-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" "CFLAGS_FOR_BUILD=-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" "CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2" "CPPFLAGS_FOR_BUILD=-Wdate-time -D_FORTIFY_SOURCE=2" "CXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "CXXFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" DFLAGS=-frelease DFLAGS_FOR_BUILD=-frelease "FCFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "FCFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "FFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "FFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed" "LDFLAGS_FOR_BUILD=-Wl,-z,relro -Wl,-z,now" "OBJCFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "OBJCFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "OBJCXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "OBJCXXFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" --with-selinux --with-audit --with-capabilities checking build system type... aarch64-unknown-linux-gnu checking host system type... aarch64-unknown-linux-gnu checking target system type... aarch64-unknown-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking xargs -n works... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of gcc... none checking whether make sets $(MAKE)... (cached) yes checking for ranlib... ranlib checking for bison... bison -y checking for flex... flex checking for lex output file root... lex.yy checking for lex library... none needed checking whether yytext is a pointer... yes checking for ld... ld checking for pkg-config... /usr/bin/pkg-config checking for gcc option to enable large file support... none needed checking whether ld supports "-z,relro"... yes checking whether ld supports "-z,now"... yes checking whether gcc supports "-fPIE-DPIE"... yes checking whether gcc supports "-Wundef"... yes checking whether gcc supports "-Wmissing-format-attribute"... yes checking whether gcc supports "-Wshadow"... yes checking whether gcc supports "-Wlogical-op"... yes checking for library containing syslog... none required checking for vsyslog... yes checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking whether byte ordering is bigendian... no checking for byte... no checking for ushort... yes checking for ulong... yes checking for u16... no checking for u32... no checking for u64... no checking size of unsigned short... 2 checking size of unsigned int... 4 checking size of unsigned long... 8 checking size of unsigned long long... 8 checking size of int... 4 checking size of long long... 8 checking size of uid_t... 4 checking size of gid_t... 4 checking size of ino_t... 8 checking size of nlink_t... 4 checking size of off_t... 8 checking size of blkcnt_t... 8 checking for strtoll... yes checking for strtoimax... yes checking for readdir... yes checking for stricmp... no checking for strnstr... no checking for strnlen... yes checking for fcntl... yes checking for ftruncate... yes checking for posix_fadvise... yes checking for asprintf... yes checking for snprintf... yes checking for vasprintf... yes checking for vsnprintf... yes checking for va_copy... no checking for __va_copy... no checking for sigabbrev_np... yes checking for sys/prctl.h... yes checking for open/O_NOATIME... no checking for syslog.h... yes checking for inttypes.h... (cached) yes checking for fcntl.h... yes checking for ctype.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for libpcre2-8... yes checking for a sed that does not truncate output... /usr/bin/sed checking how to run the C preprocessor... gcc -E checking for egrep -e... /usr/bin/grep -E checking whether gcc is Clang... no checking whether pthreads work with "-pthread" and "-lpthread"... yes checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE checking whether more special flags are required for pthreads... no checking for PTHREAD_PRIO_INHERIT... yes checking for zlib compression... yes checking for zlib... yes checking for POSIX ACLs... yes checking for libacl... yes checking for SELinux... yes checking for libselinux... yes checking for xattr... yes checking for libattr... yes checking for POSIX 1003.1e capabilities... yes checking for libcap... yes checking for e2fsattrs... yes checking for e2p... yes checking for cURL... no checking for Nettle... check checking for GNU crypto library... check checking for nettle... yes checking for Linux Auditing Framework... yes checking for audit... yes checking for locale... no checking for syslog ident... aide checking for syslog logopt... LOG_CONS checking for syslog priority... LOG_NOTICE checking for default syslog facility... LOG_LOCAL0 checking for check >= 0.9.4... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating include/config.h config.status: executing depfiles commands make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_build make -j12 make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' bison -y -d -Wno-yacc -Wall -Werror -o src/conf_yacc.c -p conf src/conf_yacc.y make all-am make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' flex -osrc/conf_lex.c -Pconf src/conf_lex.l 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 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-attributes.o `test -f 'src/attributes.c' || echo './'`src/attributes.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-report.o `test -f 'src/report.c' || echo './'`src/report.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-report_plain.o `test -f 'src/report_plain.c' || echo './'`src/report_plain.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-report_json.o `test -f 'src/report_json.c' || echo './'`src/report_json.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-conf_ast.o `test -f 'src/conf_ast.c' || echo './'`src/conf_ast.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-conf_eval.o `test -f 'src/conf_eval.c' || echo './'`src/conf_eval.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-conf_lex.o `test -f 'src/conf_lex.c' || echo './'`src/conf_lex.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-conf_yacc.o `test -f 'src/conf_yacc.c' || echo './'`src/conf_yacc.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-db.o `test -f 'src/db.c' || echo './'`src/db.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-db_disk.o `test -f 'src/db_disk.c' || echo './'`src/db_disk.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-db_file.o `test -f 'src/db_file.c' || echo './'`src/db_file.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-db_list.o `test -f 'src/db_list.c' || echo './'`src/db_list.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-do_md.o `test -f 'src/do_md.c' || echo './'`src/do_md.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-gen_list.o `test -f 'src/gen_list.c' || echo './'`src/gen_list.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-getopt1.o `test -f 'src/getopt1.c' || echo './'`src/getopt1.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-getopt.o `test -f 'src/getopt.c' || echo './'`src/getopt.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-hashsum.o `test -f 'src/hashsum.c' || echo './'`src/hashsum.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-rx_rule.o `test -f 'src/rx_rule.c' || echo './'`src/rx_rule.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-list.o `test -f 'src/list.c' || echo './'`src/list.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-log.o `test -f 'src/log.c' || echo './'`src/log.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-md.o `test -f 'src/md.c' || echo './'`src/md.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-queue.o `test -f 'src/queue.c' || echo './'`src/queue.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-progress.o `test -f 'src/progress.c' || echo './'`src/progress.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-seltree.o `test -f 'src/seltree.c' || echo './'`src/seltree.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-symboltable.o `test -f 'src/symboltable.c' || echo './'`src/symboltable.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-tree.o `test -f 'src/tree.c' || echo './'`src/tree.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-url.o `test -f 'src/url.c' || echo './'`src/url.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-util.o `test -f 'src/util.c' || echo './'`src/util.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-e2fsattrs.o `test -f 'src/e2fsattrs.c' || echo './'`src/e2fsattrs.c gcc -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 -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -o aide src/aide-aide.o src/aide-base64.o src/aide-be.o src/aide-commandconf.o src/aide-attributes.o src/aide-report.o src/aide-report_plain.o src/aide-report_json.o src/aide-conf_ast.o src/aide-conf_eval.o src/aide-conf_lex.o src/aide-conf_yacc.o src/aide-db.o src/aide-db_disk.o src/aide-db_file.o src/aide-db_list.o src/aide-do_md.o src/aide-gen_list.o src/aide-getopt1.o src/aide-getopt.o src/aide-hashsum.o src/aide-rx_rule.o src/aide-list.o src/aide-log.o src/aide-md.o src/aide-queue.o src/aide-progress.o src/aide-seltree.o src/aide-symboltable.o src/aide-tree.o src/aide-url.o src/aide-util.o src/aide-e2fsattrs.o -lm -laudit -lcap -le2p -lnettle -lpcre2-8 -lacl -lpthread -lselinux -lattr -lz make[2]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_test make -j12 check "TESTSUITEFLAGS=-j12 --verbose" VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make check-am make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make check_aide make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' 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 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 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 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 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 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-list.o `test -f 'src/list.c' || echo './'`src/list.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-tree.o `test -f 'src/tree.c' || echo './'`src/tree.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-rx_rule.o `test -f 'src/rx_rule.c' || echo './'`src/rx_rule.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_aide.o `test -f 'tests/check_aide.c' || echo './'`tests/check_aide.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_attributes.o `test -f 'tests/check_attributes.c' || echo './'`tests/check_attributes.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 make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' Running suite(s): attributes base64 progress seltree INFO: test_unrestricted_equal_rule DEBUG: created root node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) RULE: ┌ /: RULE: │ '=/dev (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3a92f0)) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a92f0)) 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: '/' (0xaaaaec3a4c60)) 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 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a93e0)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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' (0xaaaaec3a2e40)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list RULE: ┝ '/dev/sda' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3a9380)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a9380)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3a9380)) 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' (0xaaaaec3a9470)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a9560)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev$ (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3a9670)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a9670)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3a9670)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3a9760)) 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' (0xaaaaec3a9670)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3ab890)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab980)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3aba70)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abb60)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3a96f0)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a96f0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3a96f0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3ab870)) 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' (0xaaaaec3a96f0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3ab900)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab9f0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abae0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abbd0)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev$ (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a9770)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab890)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab980)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab870)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab920)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3aba10)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '!/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3ab8b0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/0' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab8b0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ab8b0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3ab9a0)) 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' (0xaaaaec3ab8b0)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3aba90)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abb60)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '!/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3ab940)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/0' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab940)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ab940)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3aba30)) 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' (0xaaaaec3ab940)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3abb20)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abbf0)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '-/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction '(none)' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ab9c0)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '-/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction '(none)' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3aba30)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaec3abdf0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaec3abd00) DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaec3abc10) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] (none) ' (check_seltree:0: 'n/a') RULE: ┝ /etc: RULE: ┝ /etc/deep: RULE: ┝ /etc/deep/down: RULE: │ '/etc/deep/down/0 (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3abf30)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/.*/[0-9]' and restriction '(none)' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abf30)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abf30)) 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) RULE: │ node: '/dev': check selective list 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' (0xaaaaec3ac020)) 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' (0xaaaaec3abf30)) 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' (0xaaaaec3ac110)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/.*/[0-9]' and restriction '(none)' 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check '/etc' (filetype: d) DEBUG: │ directory node '/etc' (0xaaaaec3abc10) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaec3abc10)) DEBUG: │ directory node '/etc' (0xaaaaec3abc10) 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' (0xaaaaec3abc10)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xaaaaec3abd00)) DEBUG: │ directory node '/etc/deep' (0xaaaaec3abd00) 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' (0xaaaaec3abd00)) 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' (0xaaaaec3abdf0)) DEBUG: │ directory node '/etc/deep/down' (0xaaaaec3abdf0) 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') 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: │ 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' (0xaaaaec3abdf0)) 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) RULE: │ node: '/etc/deep/down': check selective list RULE: ┝ '/etc/deep/down/0' matches regex '/etc/deep/down/0' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') 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: │ node: '/etc/deep/down': skip negative list (reason: list is empty) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev (none) ' (check_seltree:0: 'n/a') RULE: │ '-/ (none)' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) RULE: ┌ /: RULE: │ '=/dev d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3ab950)) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab950)) 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: '/' (0xaaaaec3a4c60)) 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 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3aba40)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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' (0xaaaaec3a2e40)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list DEBUG: │ '/dev/sda' does not match file type of rule 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3ab9b0)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab9b0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ab9b0)) 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' (0xaaaaec3abaa0)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abb90)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev$ d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abca0)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abca0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abca0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abd90)) 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' (0xaaaaec3abca0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abe80)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abf70)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac060)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac150)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' does not match file type of rule restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abd20)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' does not match file type of rule restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abd20)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abd20)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abe10)) 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' (0xaaaaec3abd20)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaec3abf00)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abff0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac0e0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac1d0)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev$ d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abda0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abe90)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abf80)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abe20)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3abf10)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac000)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '!/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3abe90)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/0' does not match file type of rule restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abe90)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abe90)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3abf80)) 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' (0xaaaaec3abe90)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3ac070)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ac140)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '!/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3acec0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/0' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3acec0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3acec0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3acfb0)) 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' (0xaaaaec3acec0)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaec3ad0a0)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3ad170)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '-/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction 'd' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3acf60)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) RULE: ┌ /: RULE: │ '-/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction 'd' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) 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: '/' (0xaaaaec3a4c60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) 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' (0xaaaaec3acfe0)) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaec3ad3a0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaec3ad2b0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaec3ad1c0) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] b ' (check_seltree:0: 'n/a') RULE: ┝ /etc: RULE: ┝ /etc/deep: RULE: ┝ /etc/deep/down: RULE: │ '/etc/deep/down/0 f ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) 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' (0xaaaaec3a2e40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check '/dev/pts' (filetype: b) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) 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' (0xaaaaec3ad4e0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/.*/[0-9]' and restriction 'b' 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ad4e0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ad4e0)) 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) RULE: │ node: '/dev': check selective list 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' (0xaaaaec3ad5d0)) 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' (0xaaaaec3ad4e0)) 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' (0xaaaaec3ad6c0)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/pts/deep/down/0' does not match file type of rule restriction 'b' 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: │ 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: '/' (0xaaaaec3a4c60)) RULE: │ check '/etc' (filetype: d) DEBUG: │ directory node '/etc' (0xaaaaec3ad1c0) 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: '/' (0xaaaaec3a4c60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaec3ad1c0)) DEBUG: │ directory node '/etc' (0xaaaaec3ad1c0) 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' (0xaaaaec3ad1c0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xaaaaec3ad2b0)) DEBUG: │ directory node '/etc/deep' (0xaaaaec3ad2b0) 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' (0xaaaaec3ad2b0)) 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' (0xaaaaec3ad3a0)) DEBUG: │ directory node '/etc/deep/down' (0xaaaaec3ad3a0) 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') 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: │ 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' (0xaaaaec3ad3a0)) 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) RULE: │ node: '/etc/deep/down': check selective list RULE: ┝ '/etc/deep/down/0' matches regex '/etc/deep/down/0' and restriction 'f' of selective rule (check_seltree:1: 'n/a') 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: │ node: '/etc/deep/down': skip negative list (reason: list is empty) 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 '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev b ' (check_seltree:0: 'n/a') RULE: │ '-/ d' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: │ 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: '/' (0xaaaaec3a4c60)) DEBUG: │ directory node '/' (0xaaaaec3a4c60) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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: '/' (0xaaaaec3a4c60)) 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 (0xffffefa17b48) DEBUG: > free md_container (0xffffefa17b48) DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffefa17b48) DEBUG: > free md_container (0xffffefa17b48) DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffefa17b48) DEBUG: > free md_container (0xffffefa17b48) 100%: Checks: 166, Failures: 0, Errors: 0 PASS: check_aide ============= 1 test passed ============= make[3]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[2]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' create-stamp debian/debhelper-build-stamp dh_prep dh_installdirs debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_install make -j12 install DESTDIR=/build/reproducible-path/aide-0.19\~dev20241110/debian/tmp AM_UPDATE_INFO_DIR=no make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make install-am make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make[4]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/bin' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man1' /usr/bin/install -c aide '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/bin' /usr/bin/mkdir -p '/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' /usr/bin/install -c -m 644 doc/aide.conf.5 '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man5' 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' dh_installsystemd --name=dailyaidecheck # this is needed until dh compat 14 dh_installsysusers make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' dh_install dh_installdocs dh_installchangelogs dh_installexamples dh_installman dh_installdebconf dh_installinit dh_installtmpfiles dh_installsystemd dh_lintian dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_dwz -a dh_strip -a dh_makeshlibs -a dh_shlibdeps -a dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 from: /lib/ld-linux-aarch64.so.1 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 to: /lib/ld-linux-aarch64.so.1.usr-is-merged dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libext2fs2t64 from: /lib/aarch64-linux-gnu/libe2p.so.2 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libext2fs2t64 to: /lib/aarch64-linux-gnu/libe2p.so.2.usr-is-merged dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'aide' in '../aide_0.19~dev20241110-1_arm64.deb'. dpkg-deb: building package 'aide-dbgsym' in '../aide-dbgsym_0.19~dev20241110-1_arm64.deb'. dpkg-deb: building package 'aide-dynamic' in '../aide-dynamic_0.19~dev20241110-1_all.deb'. dpkg-deb: building package 'aide-common' in '../aide-common_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) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration 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/2504791 and its subdirectories I: Current time: Sat Feb 22 04:48:41 -12 2025 I: pbuilder-time-stamp: 1740242921 Sat Feb 22 16:48:43 UTC 2025 I: 1st build successful. Starting 2nd build on remote node codethink03-arm64.debian.net. Sat Feb 22 16:48:43 UTC 2025 I: Preparing to do remote build '2' on codethink03-arm64.debian.net. Sat Feb 22 16:48:43 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink03-arm64.debian.net is marked as down. Sat Feb 22 16:48:43 UTC 2025 - checking via ssh if codethink03-arm64.debian.net is up. removed '/tmp/read-only-fs-test-L8119C' ==================================================================================== Fri Mar 27 23:11:44 UTC 2026 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on codethink03-arm64, called using "2 aide experimental /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs 0.19~dev20241110-1" as arguments. Fri Mar 27 23:11:44 UTC 2026 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-CD757FIy" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Fri Mar 27 23:11:45 UTC 2026 I: Downloading source for experimental/aide=0.19~dev20241110-1 Reading package lists... NOTICE: 'aide' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/debian/aide.git Please use: git clone https://salsa.debian.org/debian/aide.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 928 kB of source archives. Get:1 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (dsc) [2395 B] Get:2 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (tar) [818 kB] Get:3 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (diff) [108 kB] Fetched 928 kB in 0s (35.4 MB/s) Download complete and in download only mode Reading package lists... NOTICE: 'aide' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/debian/aide.git Please use: git clone https://salsa.debian.org/debian/aide.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 928 kB of source archives. Get:1 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (dsc) [2395 B] Get:2 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (tar) [818 kB] Get:3 http://deb.debian.org/debian experimental/main aide 0.19~dev20241110-1 (diff) [108 kB] Fetched 928 kB in 0s (35.4 MB/s) Download complete and in download only mode ============================================================================= Re-Building aide in experimental on arm64 on codethink03-arm64 now. Date: Fri Mar 27 23:11:45 GMT 2026 Date UTC: Fri Mar 27 23:11:45 UTC 2026 ============================================================================= ++ mktemp -t pbuilderrc_XXXX --tmpdir=/srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs + local TMPCFG=/srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/pbuilderrc_VmMF + case ${ARCH} in + case $ARCH in + locale=nl_BE + language=nl + case "${SUITE}" in + reproducible_buildflags=+all + extra_deb_build_options= + case "${SRCPACKAGE}" in + cat + echo BUILDDIR=/build/reproducible-path + '[' aide = debian-installer -o aide = debian-installer-netboot-images ']' + pbuilder_options=() + local pbuilder_options + DEBBUILDOPTS=-b + BINARYTARGET= + '[' aide = u-boot ']' + case "${SRCPACKAGE}" in + PBUILDERTIMEOUT=24 + local PRESULT=0 + sudo 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.CmNpCzjs/pbuilderrc_VmMF --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.CmNpCzjs/b2 --logfile b2/build.log aide_0.19~dev20241110-1.dsc W: /root/.pbuilderrc does not exist I: Logging to b2/build.log I: pbuilder: network access will be disabled during build I: Current time: Sat Mar 28 13:11:45 +14 2026 I: pbuilder-time-stamp: 1774653105 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/experimental-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [aide_0.19~dev20241110-1.dsc] I: copying [./aide_0.19~dev20241110.orig.tar.gz] I: copying [./aide_0.19~dev20241110-1.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./aide_0.19~dev20241110-1.dsc: unsupported subcommand dpkg-source: info: extracting aide in aide-0.19~dev20241110 dpkg-source: info: unpacking aide_0.19~dev20241110.orig.tar.gz 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/3186901/tmp/hooks/D01_modify_environment starting debug: Running on codethink03-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 Mar 27 23:11 /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/3186901/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/3186901/tmp/hooks/D02_print_environment starting I: set 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]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") BASH_VERSION='5.2.37(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 ' 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=b9a6529282264ad88b049e0e5c51833b 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=3186901 PS4='+ ' 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.CmNpCzjs/pbuilderrc_VmMF --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.CmNpCzjs/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 i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3186901/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: bison, check, debconf-utils, debhelper-compat (= 13), autoconf-archive, flex (>= 2.5.32), libacl1-dev, libattr1-dev, libaudit-dev, libcap-dev, libext2fs-dev (>= 1.46.2), libpcre2-dev, libselinux1-dev, nettle-dev, pkgconf, po-debconf (>= 0.5.0), zlib1g-dev dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19889 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on bison; however: Package bison is not installed. pbuilder-satisfydepends-dummy depends on check; however: Package check is not installed. pbuilder-satisfydepends-dummy depends on debconf-utils; however: Package debconf-utils is not installed. pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on autoconf-archive; however: Package autoconf-archive is not installed. pbuilder-satisfydepends-dummy depends on flex (>= 2.5.32); however: Package flex is not installed. pbuilder-satisfydepends-dummy depends on libacl1-dev; however: Package libacl1-dev is not installed. pbuilder-satisfydepends-dummy depends on libattr1-dev; however: Package libattr1-dev is not installed. pbuilder-satisfydepends-dummy depends on libaudit-dev; however: Package libaudit-dev is not installed. pbuilder-satisfydepends-dummy depends on libcap-dev; however: Package libcap-dev is not installed. pbuilder-satisfydepends-dummy depends on libext2fs-dev (>= 1.46.2); however: Package libext2fs-dev is not installed. pbuilder-satisfydepends-dummy depends on libpcre2-dev; however: Package libpcre2-dev is not installed. pbuilder-satisfydepends-dummy depends on libselinux1-dev; however: Package libselinux1-dev is not installed. pbuilder-satisfydepends-dummy depends on nettle-dev; however: Package nettle-dev is not installed. pbuilder-satisfydepends-dummy depends on pkgconf; however: Package pkgconf is not installed. pbuilder-satisfydepends-dummy depends on po-debconf (>= 0.5.0); however: Package po-debconf is not installed. pbuilder-satisfydepends-dummy depends on zlib1g-dev; however: Package zlib1g-dev is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} autoconf-archive{a} automake{a} autopoint{a} autotools-dev{a} bison{a} bsdextrautils{a} check{a} comerr-dev{a} debconf-utils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} flex{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libacl1-dev{a} libarchive-zip-perl{a} libattr1-dev{a} libaudit-dev{a} libcap-dev{a} libcap-ng-dev{a} libcom-err2{a} libdebhelper-perl{a} libelf1t64{a} libext2fs-dev{a} libext2fs2t64{a} libfile-stripnondeterminism-perl{a} libgmp-dev{a} libgmpxx4ldbl{a} libicu72{a} libmagic-mgc{a} libmagic1t64{a} libpcre2-16-0{a} libpcre2-32-0{a} libpcre2-dev{a} libpcre2-posix3{a} libpipeline1{a} libpkgconf3{a} libselinux1-dev{a} libsepol-dev{a} libsubunit-dev{a} libsubunit0{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} nettle-dev{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} sensible-utils{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libfl-dev libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 59 newly installed, 0 to remove and 0 not upgraded. Need to get 29.0 MB of archives. After unpacking 112 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main arm64 autoconf-archive all 20220903-3 [775 kB] Get: 2 http://deb.debian.org/debian unstable/main arm64 m4 arm64 1.4.19-5 [284 kB] Get: 3 http://deb.debian.org/debian unstable/main arm64 flex arm64 2.6.4-8.2+b4 [412 kB] Get: 4 http://deb.debian.org/debian unstable/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 5 http://deb.debian.org/debian unstable/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 6 http://deb.debian.org/debian unstable/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 7 http://deb.debian.org/debian unstable/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 8 http://deb.debian.org/debian unstable/main arm64 gettext-base arm64 0.23.1-1 [241 kB] Get: 9 http://deb.debian.org/debian unstable/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 10 http://deb.debian.org/debian unstable/main arm64 groff-base arm64 1.23.0-7 [1129 kB] Get: 11 http://deb.debian.org/debian unstable/main arm64 bsdextrautils arm64 2.40.4-4 [92.1 kB] Get: 12 http://deb.debian.org/debian unstable/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 13 http://deb.debian.org/debian unstable/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 14 http://deb.debian.org/debian unstable/main arm64 autoconf all 2.72-3 [493 kB] Get: 15 http://deb.debian.org/debian unstable/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 16 http://deb.debian.org/debian unstable/main arm64 automake all 1:1.17-3 [862 kB] Get: 17 http://deb.debian.org/debian unstable/main arm64 autopoint all 0.23.1-1 [770 kB] Get: 18 http://deb.debian.org/debian unstable/main arm64 bison arm64 2:3.8.2+dfsg-1+b2 [1149 kB] Get: 19 http://deb.debian.org/debian unstable/main arm64 libsubunit0 arm64 1.4.2-3+b1 [6520 B] Get: 20 http://deb.debian.org/debian unstable/main arm64 libsubunit-dev arm64 1.4.2-3+b1 [7416 B] Get: 21 http://deb.debian.org/debian unstable/main arm64 check arm64 0.15.2-3 [112 kB] Get: 22 http://deb.debian.org/debian unstable/main arm64 libcom-err2 arm64 1.47.2-1 [23.9 kB] Get: 23 http://deb.debian.org/debian unstable/main arm64 comerr-dev arm64 2.1-1.47.2-1 [55.9 kB] Get: 24 http://deb.debian.org/debian unstable/main arm64 debconf-utils all 1.5.89 [49.9 kB] Get: 25 http://deb.debian.org/debian unstable/main arm64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 26 http://deb.debian.org/debian unstable/main arm64 libtool all 2.5.4-3 [539 kB] Get: 27 http://deb.debian.org/debian unstable/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 28 http://deb.debian.org/debian unstable/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 29 http://deb.debian.org/debian unstable/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 30 http://deb.debian.org/debian unstable/main arm64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 31 http://deb.debian.org/debian unstable/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 32 http://deb.debian.org/debian unstable/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 33 http://deb.debian.org/debian unstable/main arm64 libunistring5 arm64 1.3-1 [449 kB] Get: 34 http://deb.debian.org/debian unstable/main arm64 libicu72 arm64 72.1-6 [9239 kB] Get: 35 http://deb.debian.org/debian unstable/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 36 http://deb.debian.org/debian unstable/main arm64 gettext arm64 0.23.1-1 [1610 kB] Get: 37 http://deb.debian.org/debian unstable/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 38 http://deb.debian.org/debian unstable/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 39 http://deb.debian.org/debian unstable/main arm64 debhelper all 13.24.1 [920 kB] Get: 40 http://deb.debian.org/debian unstable/main arm64 libattr1-dev arm64 1:2.5.2-3 [36.7 kB] Get: 41 http://deb.debian.org/debian unstable/main arm64 libacl1-dev arm64 2.3.2-2+b1 [93.8 kB] Get: 42 http://deb.debian.org/debian unstable/main arm64 libcap-ng-dev arm64 0.8.5-4 [34.5 kB] Get: 43 http://deb.debian.org/debian unstable/main arm64 libaudit-dev arm64 1:4.0.2-2+b1 [90.2 kB] Get: 44 http://deb.debian.org/debian unstable/main arm64 libcap-dev arm64 1:2.73-4 [462 kB] Get: 45 http://deb.debian.org/debian unstable/main arm64 libext2fs2t64 arm64 1.47.2-1 [204 kB] Get: 46 http://deb.debian.org/debian unstable/main arm64 libext2fs-dev arm64 1.47.2-1 [297 kB] Get: 47 http://deb.debian.org/debian unstable/main arm64 libgmpxx4ldbl arm64 2:6.3.0+dfsg-3 [329 kB] Get: 48 http://deb.debian.org/debian unstable/main arm64 libgmp-dev arm64 2:6.3.0+dfsg-3 [621 kB] Get: 49 http://deb.debian.org/debian unstable/main arm64 libpcre2-16-0 arm64 10.45-1 [247 kB] Get: 50 http://deb.debian.org/debian unstable/main arm64 libpcre2-32-0 arm64 10.45-1 [237 kB] Get: 51 http://deb.debian.org/debian unstable/main arm64 libpcre2-posix3 arm64 10.45-1 [63.7 kB] Get: 52 http://deb.debian.org/debian unstable/main arm64 libpcre2-dev arm64 10.45-1 [749 kB] Get: 53 http://deb.debian.org/debian unstable/main arm64 libpkgconf3 arm64 1.8.1-4 [35.3 kB] Get: 54 http://deb.debian.org/debian unstable/main arm64 libsepol-dev arm64 3.8-1 [356 kB] Get: 55 http://deb.debian.org/debian unstable/main arm64 libselinux1-dev arm64 3.8-3 [172 kB] Get: 56 http://deb.debian.org/debian unstable/main arm64 nettle-dev arm64 3.10.1-1 [1325 kB] Get: 57 http://deb.debian.org/debian unstable/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 58 http://deb.debian.org/debian unstable/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 59 http://deb.debian.org/debian unstable/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1+b1 [917 kB] Fetched 29.0 MB in 0s (160 MB/s) Preconfiguring packages ... 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 ... 19889 files and directories currently installed.) Preparing to unpack .../00-autoconf-archive_20220903-3_all.deb ... Unpacking autoconf-archive (20220903-3) ... Selecting previously unselected package m4. Preparing to unpack .../01-m4_1.4.19-5_arm64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package flex. Preparing to unpack .../02-flex_2.6.4-8.2+b4_arm64.deb ... Unpacking flex (2.6.4-8.2+b4) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../03-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../04-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../05-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../06-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../07-gettext-base_0.23.1-1_arm64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../08-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.23.0-7_arm64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../10-bsdextrautils_2.40.4-4_arm64.deb ... Unpacking bsdextrautils (2.40.4-4) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../11-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../12-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package autoconf. Preparing to unpack .../13-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../14-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../15-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../16-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package bison. Preparing to unpack .../17-bison_2%3a3.8.2+dfsg-1+b2_arm64.deb ... Unpacking bison (2:3.8.2+dfsg-1+b2) ... Selecting previously unselected package libsubunit0:arm64. Preparing to unpack .../18-libsubunit0_1.4.2-3+b1_arm64.deb ... Unpacking libsubunit0:arm64 (1.4.2-3+b1) ... Selecting previously unselected package libsubunit-dev:arm64. Preparing to unpack .../19-libsubunit-dev_1.4.2-3+b1_arm64.deb ... Unpacking libsubunit-dev:arm64 (1.4.2-3+b1) ... Selecting previously unselected package check:arm64. Preparing to unpack .../20-check_0.15.2-3_arm64.deb ... Unpacking check:arm64 (0.15.2-3) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../21-libcom-err2_1.47.2-1_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-1) ... Selecting previously unselected package comerr-dev:arm64. Preparing to unpack .../22-comerr-dev_2.1-1.47.2-1_arm64.deb ... Unpacking comerr-dev:arm64 (2.1-1.47.2-1) ... Selecting previously unselected package debconf-utils. Preparing to unpack .../23-debconf-utils_1.5.89_all.deb ... Unpacking debconf-utils (1.5.89) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../24-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../25-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../26-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../27-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../28-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../29-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../30-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../31-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../32-libunistring5_1.3-1_arm64.deb ... Unpacking libunistring5:arm64 (1.3-1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../33-libicu72_72.1-6_arm64.deb ... Unpacking libicu72:arm64 (72.1-6) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../34-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../35-gettext_0.23.1-1_arm64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../36-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../37-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../38-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package libattr1-dev:arm64. Preparing to unpack .../39-libattr1-dev_1%3a2.5.2-3_arm64.deb ... Unpacking libattr1-dev:arm64 (1:2.5.2-3) ... Selecting previously unselected package libacl1-dev:arm64. Preparing to unpack .../40-libacl1-dev_2.3.2-2+b1_arm64.deb ... Unpacking libacl1-dev:arm64 (2.3.2-2+b1) ... Selecting previously unselected package libcap-ng-dev:arm64. Preparing to unpack .../41-libcap-ng-dev_0.8.5-4_arm64.deb ... Unpacking libcap-ng-dev:arm64 (0.8.5-4) ... Selecting previously unselected package libaudit-dev:arm64. Preparing to unpack .../42-libaudit-dev_1%3a4.0.2-2+b1_arm64.deb ... Unpacking libaudit-dev:arm64 (1:4.0.2-2+b1) ... Selecting previously unselected package libcap-dev:arm64. Preparing to unpack .../43-libcap-dev_1%3a2.73-4_arm64.deb ... Unpacking libcap-dev:arm64 (1:2.73-4) ... Selecting previously unselected package libext2fs2t64:arm64. Preparing to unpack .../44-libext2fs2t64_1.47.2-1_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libe2p.so.2 to /lib/aarch64-linux-gnu/libe2p.so.2.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/aarch64-linux-gnu/libe2p.so.2.3 to /lib/aarch64-linux-gnu/libe2p.so.2.3.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/aarch64-linux-gnu/libext2fs.so.2 to /lib/aarch64-linux-gnu/libext2fs.so.2.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/aarch64-linux-gnu/libext2fs.so.2.4 to /lib/aarch64-linux-gnu/libext2fs.so.2.4.usr-is-merged by libext2fs2t64' Unpacking libext2fs2t64:arm64 (1.47.2-1) ... Selecting previously unselected package libext2fs-dev. Preparing to unpack .../45-libext2fs-dev_1.47.2-1_arm64.deb ... Unpacking libext2fs-dev (1.47.2-1) ... Selecting previously unselected package libgmpxx4ldbl:arm64. Preparing to unpack .../46-libgmpxx4ldbl_2%3a6.3.0+dfsg-3_arm64.deb ... Unpacking libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-3) ... Selecting previously unselected package libgmp-dev:arm64. Preparing to unpack .../47-libgmp-dev_2%3a6.3.0+dfsg-3_arm64.deb ... Unpacking libgmp-dev:arm64 (2:6.3.0+dfsg-3) ... Selecting previously unselected package libpcre2-16-0:arm64. Preparing to unpack .../48-libpcre2-16-0_10.45-1_arm64.deb ... Unpacking libpcre2-16-0:arm64 (10.45-1) ... Selecting previously unselected package libpcre2-32-0:arm64. Preparing to unpack .../49-libpcre2-32-0_10.45-1_arm64.deb ... Unpacking libpcre2-32-0:arm64 (10.45-1) ... Selecting previously unselected package libpcre2-posix3:arm64. Preparing to unpack .../50-libpcre2-posix3_10.45-1_arm64.deb ... Unpacking libpcre2-posix3:arm64 (10.45-1) ... Selecting previously unselected package libpcre2-dev:arm64. Preparing to unpack .../51-libpcre2-dev_10.45-1_arm64.deb ... Unpacking libpcre2-dev:arm64 (10.45-1) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../52-libpkgconf3_1.8.1-4_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-4) ... Selecting previously unselected package libsepol-dev:arm64. Preparing to unpack .../53-libsepol-dev_3.8-1_arm64.deb ... Unpacking libsepol-dev:arm64 (3.8-1) ... Selecting previously unselected package libselinux1-dev:arm64. Preparing to unpack .../54-libselinux1-dev_3.8-3_arm64.deb ... Unpacking libselinux1-dev:arm64 (3.8-3) ... Selecting previously unselected package nettle-dev:arm64. Preparing to unpack .../55-nettle-dev_3.10.1-1_arm64.deb ... Unpacking nettle-dev:arm64 (3.10.1-1) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../56-pkgconf-bin_1.8.1-4_arm64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../57-pkgconf_1.8.1-4_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-4) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../58-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up libicu72:arm64 (72.1-6) ... Setting up bsdextrautils (2.40.4-4) ... Setting up libattr1-dev:arm64 (1:2.5.2-3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up autoconf-archive (20220903-3) ... Setting up libcom-err2:arm64 (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libsubunit0:arm64 (1.4.2-3+b1) ... Setting up libpcre2-16-0:arm64 (10.45-1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up autotools-dev (20220109.1) ... Setting up libpcre2-32-0:arm64 (10.45-1) ... Setting up libpkgconf3:arm64 (1.8.1-4) ... Setting up libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-3) ... Setting up debconf-utils (1.5.89) ... Setting up comerr-dev:arm64 (2.1-1.47.2-1) ... Setting up libunistring5:arm64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up libsepol-dev:arm64 (3.8-1) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up autoconf (2.72-3) ... Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libpcre2-posix3:arm64 (10.45-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up libcap-ng-dev:arm64 (0.8.5-4) ... Setting up bison (2:3.8.2+dfsg-1+b2) ... update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode Setting up libext2fs2t64:arm64 (1.47.2-1) ... Setting up libext2fs-dev (1.47.2-1) ... Setting up libcap-dev:arm64 (1:2.73-4) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libacl1-dev:arm64 (2.3.2-2+b1) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up flex (2.6.4-8.2+b4) ... Setting up gettext (0.23.1-1) ... Setting up libgmp-dev:arm64 (2:6.3.0+dfsg-3) ... Setting up libpcre2-dev:arm64 (10.45-1) ... Setting up nettle-dev:arm64 (3.10.1-1) ... Setting up libtool (2.5.4-3) ... Setting up libselinux1-dev:arm64 (3.8-3) ... Setting up libaudit-dev:arm64 (1:4.0.2-2+b1) ... Setting up libsubunit-dev:arm64 (1.4.2-3+b1) ... Setting up pkgconf:arm64 (1.8.1-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up check:arm64 (0.15.2-3) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.24.1) ... Processing triggers for libc-bin (2.40-7) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: user script /srv/workspace/pbuilder/3186901/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for experimental I: user script /srv/workspace/pbuilder/3186901/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 dpkg-buildpackage: info: source changed by Marc Haber dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf configure.ac:3: warning: file 'version.m4' included several times debian/rules override_dh_auto_configure make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_configure -- --prefix=/usr --sysconfdir=/var/lib/aide/please-dont-call-aide-without-parameters --without-config-file --disable-default-db --with-zlib --with-xattr --with-posix-acl --with-e2fsattrs --disable-static ASFLAGS="" ASFLAGS_FOR_BUILD="" CFLAGS="-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" CFLAGS_FOR_BUILD="-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" CPPFLAGS="-Wdate-time -D_FORTIFY_SOURCE=2" CPPFLAGS_FOR_BUILD="-Wdate-time -D_FORTIFY_SOURCE=2" CXXFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" CXXFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" DFLAGS="-frelease" DFLAGS_FOR_BUILD="-frelease" FCFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" FCFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" FFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" FFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" LDFLAGS="-Wl,-z,relro -Wl,-z,now -Wl,--as-needed" LDFLAGS_FOR_BUILD="-Wl,-z,relro -Wl,-z,now" OBJCFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" OBJCFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" OBJCXXFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" OBJCXXFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" --with-selinux --with-audit --with-capabilities ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/aarch64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --sysconfdir=/var/lib/aide/please-dont-call-aide-without-parameters --without-config-file --disable-default-db --with-zlib --with-xattr --with-posix-acl --with-e2fsattrs --disable-static ASFLAGS= ASFLAGS_FOR_BUILD= "CFLAGS=-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" "CFLAGS_FOR_BUILD=-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" "CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2" "CPPFLAGS_FOR_BUILD=-Wdate-time -D_FORTIFY_SOURCE=2" "CXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "CXXFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" DFLAGS=-frelease DFLAGS_FOR_BUILD=-frelease "FCFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "FCFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "FFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "FFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -mbranch-protection=standard" "LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed" "LDFLAGS_FOR_BUILD=-Wl,-z,relro -Wl,-z,now" "OBJCFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "OBJCFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "OBJCXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" "OBJCXXFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19~dev20241110=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard" --with-selinux --with-audit --with-capabilities checking build system type... aarch64-unknown-linux-gnu checking host system type... aarch64-unknown-linux-gnu checking target system type... aarch64-unknown-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking xargs -n works... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of gcc... none checking whether make sets $(MAKE)... (cached) yes checking for ranlib... ranlib checking for bison... bison -y checking for flex... flex checking for lex output file root... lex.yy checking for lex library... none needed checking whether yytext is a pointer... yes checking for ld... ld checking for pkg-config... /usr/bin/pkg-config checking for gcc option to enable large file support... none needed checking whether ld supports "-z,relro"... yes checking whether ld supports "-z,now"... yes checking whether gcc supports "-fPIE-DPIE"... yes checking whether gcc supports "-Wundef"... yes checking whether gcc supports "-Wmissing-format-attribute"... yes checking whether gcc supports "-Wshadow"... yes checking whether gcc supports "-Wlogical-op"... yes checking for library containing syslog... none required checking for vsyslog... yes checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking whether byte ordering is bigendian... no checking for byte... no checking for ushort... yes checking for ulong... yes checking for u16... no checking for u32... no checking for u64... no checking size of unsigned short... 2 checking size of unsigned int... 4 checking size of unsigned long... 8 checking size of unsigned long long... 8 checking size of int... 4 checking size of long long... 8 checking size of uid_t... 4 checking size of gid_t... 4 checking size of ino_t... 8 checking size of nlink_t... 4 checking size of off_t... 8 checking size of blkcnt_t... 8 checking for strtoll... yes checking for strtoimax... yes checking for readdir... yes checking for stricmp... no checking for strnstr... no checking for strnlen... yes checking for fcntl... yes checking for ftruncate... yes checking for posix_fadvise... yes checking for asprintf... yes checking for snprintf... yes checking for vasprintf... yes checking for vsnprintf... yes checking for va_copy... no checking for __va_copy... no checking for sigabbrev_np... yes checking for sys/prctl.h... yes checking for open/O_NOATIME... no checking for syslog.h... yes checking for inttypes.h... (cached) yes checking for fcntl.h... yes checking for ctype.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for libpcre2-8... yes checking for a sed that does not truncate output... /usr/bin/sed checking how to run the C preprocessor... gcc -E checking for egrep -e... /usr/bin/grep -E checking whether gcc is Clang... no checking whether pthreads work with "-pthread" and "-lpthread"... yes checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE checking whether more special flags are required for pthreads... no checking for PTHREAD_PRIO_INHERIT... yes checking for zlib compression... yes checking for zlib... yes checking for POSIX ACLs... yes checking for libacl... yes checking for SELinux... yes checking for libselinux... yes checking for xattr... yes checking for libattr... yes checking for POSIX 1003.1e capabilities... yes checking for libcap... yes checking for e2fsattrs... yes checking for e2p... yes checking for cURL... no checking for Nettle... check checking for GNU crypto library... check checking for nettle... yes checking for Linux Auditing Framework... yes checking for audit... yes checking for locale... no checking for syslog ident... aide checking for syslog logopt... LOG_CONS checking for syslog priority... LOG_NOTICE checking for default syslog facility... LOG_LOCAL0 checking for check >= 0.9.4... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating include/config.h config.status: executing depfiles commands make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_build make -j12 make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' bison -y -d -Wno-yacc -Wall -Werror -o src/conf_yacc.c -p conf src/conf_yacc.y make all-am make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' flex -osrc/conf_lex.c -Pconf src/conf_lex.l 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 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-attributes.o `test -f 'src/attributes.c' || echo './'`src/attributes.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-report.o `test -f 'src/report.c' || echo './'`src/report.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-report_plain.o `test -f 'src/report_plain.c' || echo './'`src/report_plain.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-report_json.o `test -f 'src/report_json.c' || echo './'`src/report_json.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-conf_ast.o `test -f 'src/conf_ast.c' || echo './'`src/conf_ast.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-conf_eval.o `test -f 'src/conf_eval.c' || echo './'`src/conf_eval.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-conf_lex.o `test -f 'src/conf_lex.c' || echo './'`src/conf_lex.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-conf_yacc.o `test -f 'src/conf_yacc.c' || echo './'`src/conf_yacc.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-db.o `test -f 'src/db.c' || echo './'`src/db.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-db_disk.o `test -f 'src/db_disk.c' || echo './'`src/db_disk.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-db_file.o `test -f 'src/db_file.c' || echo './'`src/db_file.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-db_list.o `test -f 'src/db_list.c' || echo './'`src/db_list.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-do_md.o `test -f 'src/do_md.c' || echo './'`src/do_md.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-gen_list.o `test -f 'src/gen_list.c' || echo './'`src/gen_list.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-getopt1.o `test -f 'src/getopt1.c' || echo './'`src/getopt1.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-getopt.o `test -f 'src/getopt.c' || echo './'`src/getopt.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-hashsum.o `test -f 'src/hashsum.c' || echo './'`src/hashsum.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-rx_rule.o `test -f 'src/rx_rule.c' || echo './'`src/rx_rule.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-list.o `test -f 'src/list.c' || echo './'`src/list.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-log.o `test -f 'src/log.c' || echo './'`src/log.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-md.o `test -f 'src/md.c' || echo './'`src/md.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-queue.o `test -f 'src/queue.c' || echo './'`src/queue.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-progress.o `test -f 'src/progress.c' || echo './'`src/progress.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-seltree.o `test -f 'src/seltree.c' || echo './'`src/seltree.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-symboltable.o `test -f 'src/symboltable.c' || echo './'`src/symboltable.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-tree.o `test -f 'src/tree.c' || echo './'`src/tree.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-url.o `test -f 'src/url.c' || echo './'`src/url.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-util.o `test -f 'src/util.c' || echo './'`src/util.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-e2fsattrs.o `test -f 'src/e2fsattrs.c' || echo './'`src/e2fsattrs.c gcc -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 -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -o aide src/aide-aide.o src/aide-base64.o src/aide-be.o src/aide-commandconf.o src/aide-attributes.o src/aide-report.o src/aide-report_plain.o src/aide-report_json.o src/aide-conf_ast.o src/aide-conf_eval.o src/aide-conf_lex.o src/aide-conf_yacc.o src/aide-db.o src/aide-db_disk.o src/aide-db_file.o src/aide-db_list.o src/aide-do_md.o src/aide-gen_list.o src/aide-getopt1.o src/aide-getopt.o src/aide-hashsum.o src/aide-rx_rule.o src/aide-list.o src/aide-log.o src/aide-md.o src/aide-queue.o src/aide-progress.o src/aide-seltree.o src/aide-symboltable.o src/aide-tree.o src/aide-url.o src/aide-util.o src/aide-e2fsattrs.o -lm -laudit -lcap -le2p -lnettle -lpcre2-8 -lacl -lpthread -lselinux -lattr -lz make[2]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_test make -j12 check "TESTSUITEFLAGS=-j12 --verbose" VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make check-am make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make check_aide make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' 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 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 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 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-list.o `test -f 'src/list.c' || echo './'`src/list.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-tree.o `test -f 'src/tree.c' || echo './'`src/tree.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-rx_rule.o `test -f 'src/rx_rule.c' || echo './'`src/rx_rule.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_aide.o `test -f 'tests/check_aide.c' || echo './'`tests/check_aide.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_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 make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' Running suite(s): attributes base64 progress seltree INFO: test_unrestricted_equal_rule DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) RULE: ┌ /: RULE: │ '=/dev (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b2be40)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaf4b322f0)) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b322f0)) 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: '/' (0xaaaaf4b2dc60)) 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 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b323e0)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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' (0xaaaaf4b2be40)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list RULE: ┝ '/dev/sda' 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaf4b32380)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b32380)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b32380)) 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' (0xaaaaf4b32470)) 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: '/' (0xaaaaf4b2dc60)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b32560)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev$ (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b2be40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b32670)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b32670)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b32670)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b32760)) 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' (0xaaaaf4b32670)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b34890)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34980)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34a70)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34b60)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b2be40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b326f0)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b326f0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b326f0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b34870)) 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' (0xaaaaf4b326f0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b34900)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b349f0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34ae0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34bd0)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev$ (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b32770)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34890)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34980)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev (none)' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34870)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34920)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34a10)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '!/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaf4b2be40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b348b0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/0' 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b348b0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b348b0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b349a0)) 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' (0xaaaaf4b348b0)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b34a90)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaf4b2dc60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34b60)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '!/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction '(none)' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaf4b2be40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b34940)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/0' 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34940)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34940)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b34a30)) 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' (0xaaaaf4b34940)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b34b20)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaf4b2dc60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34bf0)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '-/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction '(none)' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b349c0)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '-/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction '(none)' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34a30)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaf4b34df0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaf4b34d00) DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaf4b34c10) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] (none) ' (check_seltree:0: 'n/a') RULE: ┝ /etc: RULE: ┝ /etc/deep: RULE: ┝ /etc/deep/down: RULE: │ '/etc/deep/down/0 (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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' (0xaaaaf4b2be40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaf4b34f30)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/.*/[0-9]' and restriction '(none)' 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34f30)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34f30)) 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) RULE: │ node: '/dev': check selective list 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' (0xaaaaf4b35020)) 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' (0xaaaaf4b34f30)) 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' (0xaaaaf4b35110)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/.*/[0-9]' and restriction '(none)' 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check '/etc' (filetype: d) DEBUG: │ directory node '/etc' (0xaaaaf4b34c10) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaf4b34c10)) DEBUG: │ directory node '/etc' (0xaaaaf4b34c10) 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' (0xaaaaf4b34c10)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xaaaaf4b34d00)) DEBUG: │ directory node '/etc/deep' (0xaaaaf4b34d00) 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' (0xaaaaf4b34d00)) 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' (0xaaaaf4b34df0)) DEBUG: │ directory node '/etc/deep/down' (0xaaaaf4b34df0) 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') 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: │ 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' (0xaaaaf4b34df0)) 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) RULE: │ node: '/etc/deep/down': check selective list RULE: ┝ '/etc/deep/down/0' matches regex '/etc/deep/down/0' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') 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: │ node: '/etc/deep/down': skip negative list (reason: list is empty) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev (none) ' (check_seltree:0: 'n/a') RULE: │ '-/ (none)' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) RULE: ┌ /: RULE: │ '=/dev d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b2be40)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaf4b34950)) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34950)) 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: '/' (0xaaaaf4b2dc60)) 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 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34a40)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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' (0xaaaaf4b2be40)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list DEBUG: │ '/dev/sda' does not match file type of rule 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaf4b349b0)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b349b0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b349b0)) 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' (0xaaaaf4b34aa0)) 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: '/' (0xaaaaf4b2dc60)) 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) DEBUG: │ node: '/': skip selective and negative list (reason: lists are empty) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34b90)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev$ d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b2be40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b34ca0)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34ca0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34ca0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b34d90)) 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' (0xaaaaf4b34ca0)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b34e80)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34f70)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b35060)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b35150)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '!/dev d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b2be40)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/sda' 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/sda' does not match file type of rule restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b34d20)) 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) DEBUG: │ node: '/dev': skip selective and negative list (reason: lists are empty) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/0' 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/0' does not match file type of rule restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34d20)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34d20)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b34e10)) 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' (0xaaaaf4b34d20)) 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) RULE: │ node: '/': check selective list 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' (0xaaaaf4b34f00)) 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) 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) RULE: │ node: '/': check selective list RULE: ┝ '/dev/pts/deep/down/0' 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/0' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34ff0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b350e0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b351d0)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev$ d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34da0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34e90)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34f80)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev$' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') RULE: │ '-/dev d' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) 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) 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34e20)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b34f10)) RULE: │ no no-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b35000)) 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) RULE: │ node: '/': check selective list RULE: ┝ '/etc/deep/down/0' 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/0' does not match regex '/dev' of non-recursive negative rule (check_seltree:0: 'n/a') 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '!/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaf4b2be40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b34e90)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/0' does not match file type of rule restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') DEBUG: │ node: '/dev': skip negative list (reason: list is empty) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34e90)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34e90)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b34f80)) 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' (0xaaaaf4b34e90)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b35070)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) RULE: ┝ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaf4b2dc60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b35140)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '!/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction 'd' of recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaf4b2be40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' does not match regex '/dev/pts' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) DEBUG: │ node: '/dev': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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 RULE: ┝ '/dev/pts' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b35ec0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/0' 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b35ec0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b35ec0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b35fb0)) 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' (0xaaaaf4b35ec0)) 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 RULE: ┝ '/dev/pts/deep/down' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) 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' (0xaaaaf4b360a0)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/deep/down/0' matches regex '/dev/pts' and restriction '(none)' of selective rule (check_seltree:1: 'n/a') DEBUG: │ node: '/': skip selective list (reason: previous positive match) RULE: │ node: '/': check negative list (reason: previous positive/partial match) DEBUG: │ '/dev/pts/deep/down/0' 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: │ 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: '/' (0xaaaaf4b2dc60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b36170)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '-/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) RULE: ┝ '/dev' matches regex '/dev' and restriction 'd' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b35f60)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '-/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: RULE: │ '/dev/pts (none) ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) RULE: ┝ '/dev' matches regex '/dev$' and restriction 'd' of non-recursive negative rule (check_seltree:0: 'n/a') 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') DEBUG: │ node: '/': skip selective list (reason: list is empty) 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' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaf4b2dc60)) 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) DEBUG: │ node: '/': skip selective list (reason: list is empty) DEBUG: │ node: '/': skip negative list (reason: no previous positive/partial match) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaf4b35fe0)) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaf4b363a0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaf4b362b0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaf4b361c0) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] b ' (check_seltree:0: 'n/a') RULE: ┝ /etc: RULE: ┝ /etc/deep: RULE: ┝ /etc/deep/down: RULE: │ '/etc/deep/down/0 f ' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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' (0xaaaaf4b2be40)) 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) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/sda' 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check '/dev/pts' (filetype: b) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaf4b364e0)) 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) RULE: │ node: '/dev': check selective list RULE: ┝ '/dev/pts/0' matches regex '/dev/.*/[0-9]' and restriction 'b' 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b364e0)) RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b364e0)) 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) RULE: │ node: '/dev': check selective list 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' (0xaaaaf4b365d0)) 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' (0xaaaaf4b364e0)) 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' (0xaaaaf4b366c0)) 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) DEBUG: │ node: '/dev/pts': skip selective and negative list (reason: lists are empty) RULE: │ node: '/dev': check selective list DEBUG: │ '/dev/pts/deep/down/0' does not match file type of rule restriction 'b' 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: │ 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: '/' (0xaaaaf4b2dc60)) RULE: │ check '/etc' (filetype: d) DEBUG: │ directory node '/etc' (0xaaaaf4b361c0) 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: '/' (0xaaaaf4b2dc60)) RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaf4b361c0)) DEBUG: │ directory node '/etc' (0xaaaaf4b361c0) 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' (0xaaaaf4b361c0)) RULE: │ no no-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xaaaaf4b362b0)) DEBUG: │ directory node '/etc/deep' (0xaaaaf4b362b0) 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' (0xaaaaf4b362b0)) 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' (0xaaaaf4b363a0)) DEBUG: │ directory node '/etc/deep/down' (0xaaaaf4b363a0) 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') 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: │ 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' (0xaaaaf4b363a0)) 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) RULE: │ node: '/etc/deep/down': check selective list RULE: ┝ '/etc/deep/down/0' matches regex '/etc/deep/down/0' and restriction 'f' of selective rule (check_seltree:1: 'n/a') 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: │ node: '/etc/deep/down': skip negative list (reason: list is empty) 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 '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev b ' (check_seltree:0: 'n/a') RULE: │ '-/ d' (check_seltree:1: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: │ 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: '/' (0xaaaaf4b2dc60)) DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaf4b2dc60)) 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 (0xffffd3e36428) DEBUG: > free md_container (0xffffd3e36428) DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffd3e36428) DEBUG: > free md_container (0xffffd3e36428) DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffd3e36428) DEBUG: > free md_container (0xffffd3e36428) 100%: Checks: 166, Failures: 0, Errors: 0 PASS: check_aide ============= 1 test passed ============= make[3]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[2]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' create-stamp debian/debhelper-build-stamp dh_prep dh_installdirs debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' dh_auto_install make -j12 install DESTDIR=/build/reproducible-path/aide-0.19\~dev20241110/debian/tmp AM_UPDATE_INFO_DIR=no make[2]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make install-am make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make[4]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/bin' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man5' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man1' /usr/bin/install -c aide '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/bin' /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' dh_installsystemd --name=dailyaidecheck # this is needed until dh compat 14 dh_installsysusers make[1]: Leaving directory '/build/reproducible-path/aide-0.19~dev20241110' dh_install dh_installdocs dh_installchangelogs dh_installexamples dh_installman dh_installdebconf dh_installinit dh_installtmpfiles dh_installsystemd dh_lintian dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_dwz -a dh_strip -a dh_makeshlibs -a dh_shlibdeps -a dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libext2fs2t64 from: /lib/aarch64-linux-gnu/libe2p.so.2 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libext2fs2t64 to: /lib/aarch64-linux-gnu/libe2p.so.2.usr-is-merged dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 from: /lib/ld-linux-aarch64.so.1 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 to: /lib/ld-linux-aarch64.so.1.usr-is-merged dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'aide' in '../aide_0.19~dev20241110-1_arm64.deb'. dpkg-deb: building package 'aide-dbgsym' in '../aide-dbgsym_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) dpkg-source --after-build . 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/3186901/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/3186901/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/3186901 and its subdirectories I: Current time: Sat Mar 28 13:12:43 +14 2026 I: pbuilder-time-stamp: 1774653163 + false + set +x Fri Mar 27 23:12:43 UTC 2026 I: Signing ./b2/aide_0.19~dev20241110-1_arm64.buildinfo as aide_0.19~dev20241110-1_arm64.buildinfo.asc Fri Mar 27 23:12:43 UTC 2026 I: Signed ./b2/aide_0.19~dev20241110-1_arm64.buildinfo as ./b2/aide_0.19~dev20241110-1_arm64.buildinfo.asc Fri Mar 27 23:12:43 UTC 2026 - build #2 for aide/experimental/arm64 on codethink03-arm64 done. Starting cleanup. All cleanup done. Fri Mar 27 23:12:43 UTC 2026 - reproducible_build.sh stopped running as /tmp/jenkins-script-CD757FIy, removing. /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs: total 312 -rw-r--r-- 1 jenkins jenkins 2395 Nov 11 15:22 aide_0.19~dev20241110-1.dsc drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 16:48 b1 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 16:49 b2 -rw------- 1 jenkins jenkins 302237 Feb 22 16:48 rbuildlog.4exyqs0 /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/b1: total 1720 -rw-r--r-- 1 jenkins jenkins 109932 Feb 22 16:48 aide-common_0.19~dev20241110-1_all.deb -rw-r--r-- 1 jenkins jenkins 201700 Feb 22 16:48 aide-dbgsym_0.19~dev20241110-1_arm64.deb -rw-r--r-- 1 jenkins jenkins 32592 Feb 22 16:48 aide-dynamic_0.19~dev20241110-1_all.deb -rw-r--r-- 1 jenkins jenkins 107592 Feb 22 16:48 aide_0.19~dev20241110-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2395 Feb 22 16:48 aide_0.19~dev20241110-1.dsc -rw-r--r-- 1 jenkins jenkins 6400 Feb 22 16:48 aide_0.19~dev20241110-1_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 7282 Feb 22 16:48 aide_0.19~dev20241110-1_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 2174 Feb 22 16:48 aide_0.19~dev20241110-1_arm64.changes -rw-r--r-- 1 jenkins jenkins 127516 Feb 22 16:48 aide_0.19~dev20241110-1_arm64.deb -rw-r--r-- 1 jenkins jenkins 1540 Feb 22 16:48 aide_0.19~dev20241110-1_source.changes -rw-r--r-- 1 jenkins jenkins 817725 Feb 22 16:48 aide_0.19~dev20241110.orig.tar.gz -rw-r--r-- 1 jenkins jenkins 298376 Feb 22 16:48 build.log /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/b2: total 1700 -rw-r--r-- 1 jenkins jenkins 109932 Feb 22 16:49 aide-common_0.19~dev20241110-1_all.deb -rw-r--r-- 1 jenkins jenkins 201700 Feb 22 16:49 aide-dbgsym_0.19~dev20241110-1_arm64.deb -rw-r--r-- 1 jenkins jenkins 32592 Feb 22 16:49 aide-dynamic_0.19~dev20241110-1_all.deb -rw-r--r-- 1 jenkins jenkins 107592 Feb 22 16:49 aide_0.19~dev20241110-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2395 Feb 22 16:49 aide_0.19~dev20241110-1.dsc -rw-r--r-- 1 jenkins jenkins 6400 Feb 22 16:49 aide_0.19~dev20241110-1_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 7282 Feb 22 16:49 aide_0.19~dev20241110-1_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 2174 Feb 22 16:49 aide_0.19~dev20241110-1_arm64.changes -rw-r--r-- 1 jenkins jenkins 127516 Feb 22 16:49 aide_0.19~dev20241110-1_arm64.deb -rw-r--r-- 1 jenkins jenkins 1540 Feb 22 16:49 aide_0.19~dev20241110-1_source.changes -rw-r--r-- 1 jenkins jenkins 817725 Feb 22 16:49 aide_0.19~dev20241110.orig.tar.gz -rw-r--r-- 1 jenkins jenkins 300325 Feb 22 16:49 build.log Sat Feb 22 16:49:44 UTC 2025 I: Deleting $TMPDIR on codethink03-arm64.debian.net. Sat Feb 22 16:49:45 UTC 2025 I: aide_0.19~dev20241110-1_arm64.changes: Format: 1.8 Date: Mon, 11 Nov 2024 16:00:25 +0100 Source: aide Binary: aide aide-common aide-dbgsym aide-dynamic Architecture: all arm64 Version: 0.19~dev20241110-1 Distribution: experimental Urgency: medium Maintainer: Aide Maintainers Changed-By: Marc Haber Description: aide - Advanced Intrusion Detection Environment - dynamic binary aide-common - Advanced Intrusion Detection Environment - Common files aide-dynamic - Advanced Intrusion Detection Environment - transitional package Changes: aide (0.19~dev20241110-1) experimental; urgency=medium . * New upstream version 0.19~dev20241110 Checksums-Sha1: 4c7412a35eb29d88b92527f456d45973745b45f4 109932 aide-common_0.19~dev20241110-1_all.deb 0cc2677e6fb3cd4d332b59ede28d324daf46594e 201700 aide-dbgsym_0.19~dev20241110-1_arm64.deb c0e706bdeb71ef7eb39c46f69da4949bb8460966 32592 aide-dynamic_0.19~dev20241110-1_all.deb a591ec9f9a5a605ee9ed4c9b0a0b1a5f943f6e17 6400 aide_0.19~dev20241110-1_arm64.buildinfo aa104f4bdd44aeb4bca2321cf27b6f5e17adcd2b 127516 aide_0.19~dev20241110-1_arm64.deb Checksums-Sha256: 9fa1a5115e98963ef10bd3e415669cab1af27c64e3418202f94f0d9579fe7ccf 109932 aide-common_0.19~dev20241110-1_all.deb a408cde165e7f38c98ce7ee72180ec4f7beb833de17ed5cddc85694c236f4ba5 201700 aide-dbgsym_0.19~dev20241110-1_arm64.deb d541f6c35e9fae9eaf41e88731057f651a1bc70690480ad6536ac34ceccedf30 32592 aide-dynamic_0.19~dev20241110-1_all.deb 9f8f6bf9800e80fd681f761bc223c9054a92e679cb26fb73afda397a091542ce 6400 aide_0.19~dev20241110-1_arm64.buildinfo 65e6892e9909b9c9d146a5da51ff819653d4c8c63f13473ee67610a48fcb96cb 127516 aide_0.19~dev20241110-1_arm64.deb Files: 0dc9493fef0fb8852253865fbf84f9d5 109932 admin optional aide-common_0.19~dev20241110-1_all.deb bb0cb0fe2a1b894fe6bf4c8ba7c0f7ab 201700 debug optional aide-dbgsym_0.19~dev20241110-1_arm64.deb 42c83b5d62ae6f17d06c912a7505bec1 32592 oldlibs optional aide-dynamic_0.19~dev20241110-1_all.deb 6e05b4162d528817769a8ce5d735ba4c 6400 admin optional aide_0.19~dev20241110-1_arm64.buildinfo 4c4d63445e1091d9b8741b3803ddb6b0 127516 admin optional aide_0.19~dev20241110-1_arm64.deb removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/experimental/arm64/aide_0.19~dev20241110-1.rbuild.log' removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/experimental/arm64/aide_0.19~dev20241110-1.rbuild.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/experimental/arm64/aide_0.19~dev20241110-1.build1.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/experimental/arm64/aide_0.19~dev20241110-1.build2.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/buildinfo/experimental/arm64/aide_0.19~dev20241110-1_arm64.buildinfo' removed '/var/lib/jenkins/userContent/reproducible/debian/logdiffs/experimental/arm64/aide_0.19~dev20241110-1.diff.gz' Diff of the two buildlogs: -- --- b1/build.log 2025-02-22 16:48:42.788066125 +0000 +++ b2/build.log 2025-02-22 16:49:44.861247854 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Feb 22 04:47:31 -12 2025 -I: pbuilder-time-stamp: 1740242851 +I: Current time: Sat Mar 28 13:11:45 +14 2026 +I: pbuilder-time-stamp: 1774653105 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/experimental-reproducible-base.tgz] I: copying local configuration @@ -22,52 +22,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/2504791/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3186901/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-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 Mar 27 23:11 /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/3186901/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3186901/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]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(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='3aea897aa9c643fc920a5ca492e10227' - 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='2504791' - PS1='# ' - PS2='> ' + INVOCATION_ID=b9a6529282264ad88b049e0e5c51833b + 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=3186901 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.CmNpCzjs/pbuilderrc_zxxY --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.CmNpCzjs/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.CmNpCzjs/pbuilderrc_VmMF --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.CmNpCzjs/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 codethink04-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2504791/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3186901/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -194,7 +226,7 @@ Get: 57 http://deb.debian.org/debian unstable/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 58 http://deb.debian.org/debian unstable/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 59 http://deb.debian.org/debian unstable/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1+b1 [917 kB] -Fetched 29.0 MB in 0s (138 MB/s) +Fetched 29.0 MB in 0s (160 MB/s) Preconfiguring packages ... 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 ... 19889 files and directories currently installed.) @@ -450,7 +482,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/3186901/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for experimental +I: user script /srv/workspace/pbuilder/3186901/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 @@ -656,13 +692,9 @@ make check_aide make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' 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 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 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 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 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 @@ -671,6 +703,10 @@ 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-rx_rule.o `test -f 'src/rx_rule.c' || echo './'`src/rx_rule.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_aide.o `test -f 'tests/check_aide.c' || echo './'`tests/check_aide.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_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 @@ -680,27 +716,27 @@ progress seltree INFO: test_unrestricted_equal_rule - DEBUG: created root node '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) RULE: ┌ /: RULE: │ '=/dev (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -710,13 +746,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -724,8 +760,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -734,24 +770,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaec3a92f0)) + DEBUG: │ cache no rule match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b322f0)) 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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a92f0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b322f0)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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 @@ -760,53 +796,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a93e0)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b323e0)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list @@ -816,8 +852,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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 @@ -827,15 +863,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaec3a9380)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b32380)) 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) @@ -844,20 +880,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a9380)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3a9380)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b32380)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b32380)) 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' (0xaaaaec3a9470)) + DEBUG: │ cache no rule match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b32470)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -865,18 +901,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a9560)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b32560)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -884,7 +920,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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') @@ -893,14 +929,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -912,15 +948,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -931,8 +967,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -944,9 +980,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -954,7 +990,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' (0xaaaaec3a9670)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b32670)) 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) @@ -966,10 +1002,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a9670)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3a9670)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b32670)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b32670)) 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) @@ -978,9 +1014,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' (0xaaaaec3a9760)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b32760)) 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' (0xaaaaec3a9670)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaaf4b32670)) 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) @@ -988,7 +1024,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' (0xaaaaec3ab890)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaaf4b34890)) 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) @@ -1001,7 +1037,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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -1012,31 +1048,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ab980)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34980)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3aba70)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaaf4b34a70)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abb60)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaaf4b34b60)) 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) @@ -1047,9 +1083,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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -1057,7 +1093,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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') @@ -1066,14 +1102,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -1085,15 +1121,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -1104,8 +1140,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -1117,9 +1153,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -1127,7 +1163,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' (0xaaaaec3a96f0)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b326f0)) 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) @@ -1139,10 +1175,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3a96f0)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3a96f0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b326f0)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b326f0)) 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) @@ -1151,9 +1187,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' (0xaaaaec3ab870)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b34870)) 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' (0xaaaaec3a96f0)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaaf4b326f0)) 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) @@ -1161,7 +1197,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' (0xaaaaec3ab900)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaaf4b34900)) 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) @@ -1174,7 +1210,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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -1185,31 +1221,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ab9f0)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaaf4b349f0)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abae0)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaaf4b34ae0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abbd0)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaaf4b34bd0)) 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) @@ -1220,9 +1256,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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -1230,7 +1266,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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') @@ -1239,14 +1275,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -1258,34 +1294,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -1296,31 +1332,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a9770)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaaf4b32770)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ab890)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaaf4b34890)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ab980)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaaf4b34980)) 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) @@ -1331,9 +1367,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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -1341,7 +1377,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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') @@ -1350,14 +1386,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -1369,34 +1405,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -1407,31 +1443,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ab870)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34870)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ab920)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaaf4b34920)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3aba10)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaaf4b34a10)) 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) @@ -1442,11 +1478,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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '!/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1454,7 +1490,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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) @@ -1462,16 +1498,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) @@ -1479,9 +1515,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') @@ -1489,7 +1525,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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -1501,8 +1537,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -1515,9 +1551,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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 @@ -1526,7 +1562,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' (0xaaaaec3ab8b0)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b348b0)) 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) @@ -1539,10 +1575,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab8b0)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ab8b0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b348b0)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b348b0)) 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) @@ -1552,9 +1588,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' (0xaaaaec3ab9a0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b349a0)) 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' (0xaaaaec3ab8b0)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaaf4b348b0)) 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 @@ -1563,7 +1599,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' (0xaaaaec3aba90)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaaf4b34a90)) 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) @@ -1577,7 +1613,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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -1586,21 +1622,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abb60)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34b60)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '!/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1608,7 +1644,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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) @@ -1616,16 +1652,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) @@ -1633,9 +1669,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') @@ -1643,7 +1679,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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -1655,8 +1691,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -1669,9 +1705,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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 @@ -1680,7 +1716,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' (0xaaaaec3ab940)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34940)) 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) @@ -1693,10 +1729,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab940)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ab940)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34940)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34940)) 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) @@ -1706,9 +1742,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' (0xaaaaec3aba30)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b34a30)) 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' (0xaaaaec3ab940)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34940)) 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 @@ -1717,7 +1753,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' (0xaaaaec3abb20)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaaf4b34b20)) 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) @@ -1731,7 +1767,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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -1740,21 +1776,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abbf0)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34bf0)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '-/dev (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1762,7 +1798,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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) @@ -1770,16 +1806,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) @@ -1787,9 +1823,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') @@ -1797,26 +1833,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' (0xaaaaec3a2e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -1825,21 +1861,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ab9c0)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b349c0)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '-/dev$ (none)' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -1847,7 +1883,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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) @@ -1855,16 +1891,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) @@ -1872,9 +1908,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') @@ -1882,26 +1918,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' (0xaaaaec3a2e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -1910,24 +1946,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3aba30)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34a30)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaec3abdf0) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaec3abd00) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaec3abc10) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaf4b34df0) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaf4b34d00) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaf4b34c10) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] (none) ' (check_seltree:0: 'n/a') @@ -1938,34 +1974,34 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -1976,8 +2012,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -1988,16 +2024,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaec3abf30)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34f30)) 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) @@ -2008,10 +2044,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abf30)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abf30)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34f30)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34f30)) 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) @@ -2019,16 +2055,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' (0xaaaaec3ac020)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b35020)) 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' (0xaaaaec3abf30)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34f30)) 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' (0xaaaaec3ac110)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaaf4b35110)) 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) @@ -2040,32 +2076,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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ check '/etc' (filetype: d) - DEBUG: │ directory node '/etc' (0xaaaaec3abc10) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/etc' (0xaaaaf4b34c10) 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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaec3abc10)) - DEBUG: │ directory node '/etc' (0xaaaaec3abc10) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaf4b34c10)) + DEBUG: │ directory node '/etc' (0xaaaaf4b34c10) 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' (0xaaaaec3abc10)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34c10)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xaaaaec3abd00)) - DEBUG: │ directory node '/etc/deep' (0xaaaaec3abd00) 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' (0xaaaaf4b34d00)) + DEBUG: │ directory node '/etc/deep' (0xaaaaf4b34d00) 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' (0xaaaaec3abd00)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaaf4b34d00)) 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' (0xaaaaec3abdf0)) - DEBUG: │ directory node '/etc/deep/down' (0xaaaaec3abdf0) 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' (0xaaaaf4b34df0)) + DEBUG: │ directory node '/etc/deep/down' (0xaaaaf4b34df0) 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') @@ -2073,7 +2109,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' (0xaaaaec3abdf0)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaaf4b34df0)) 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) @@ -2086,9 +2122,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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev (none) ' (check_seltree:0: 'n/a') @@ -2096,7 +2132,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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') @@ -2105,62 +2141,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache non-recursive negative match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) RULE: ┌ /: RULE: │ '=/dev d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -2170,13 +2206,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -2184,8 +2220,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -2194,24 +2230,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaec3ab950)) + DEBUG: │ cache no rule match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34950)) 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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab950)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ (cache) no rule match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34950)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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 @@ -2220,53 +2256,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3aba40)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34a40)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ no no-recurse match found for parent directory '/dev' RULE: │ check '/dev/sda' (filetype: b) RULE: │ node: '/dev': check equal list @@ -2276,8 +2312,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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 @@ -2287,15 +2323,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaec3ab9b0)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b349b0)) 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) @@ -2304,20 +2340,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ab9b0)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ab9b0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b349b0)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b349b0)) 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' (0xaaaaec3abaa0)) + DEBUG: │ cache no rule match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b34aa0)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -2325,18 +2361,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abb90)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34b90)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2344,7 +2380,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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') @@ -2353,14 +2389,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -2372,15 +2408,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -2391,8 +2427,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -2404,9 +2440,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -2414,7 +2450,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' (0xaaaaec3abca0)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34ca0)) 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) @@ -2426,10 +2462,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abca0)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abca0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34ca0)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34ca0)) 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) @@ -2438,9 +2474,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' (0xaaaaec3abd90)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b34d90)) 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' (0xaaaaec3abca0)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34ca0)) 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) @@ -2448,7 +2484,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' (0xaaaaec3abe80)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaaf4b34e80)) 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) @@ -2461,7 +2497,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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -2472,31 +2508,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abf70)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34f70)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ac060)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaaf4b35060)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ac150)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaaf4b35150)) 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) @@ -2507,9 +2543,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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2517,7 +2553,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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') @@ -2526,14 +2562,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -2545,15 +2581,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -2564,8 +2600,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -2577,9 +2613,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -2587,7 +2623,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' (0xaaaaec3abd20)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34d20)) 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) @@ -2599,10 +2635,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abd20)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abd20)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34d20)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34d20)) 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) @@ -2611,9 +2647,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' (0xaaaaec3abe10)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b34e10)) 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' (0xaaaaec3abd20)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34d20)) 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) @@ -2621,7 +2657,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' (0xaaaaec3abf00)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaaf4b34f00)) 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) @@ -2634,7 +2670,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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -2645,31 +2681,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abff0)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34ff0)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ac0e0)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaaf4b350e0)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ac1d0)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaaf4b351d0)) 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) @@ -2680,9 +2716,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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2690,7 +2726,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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') @@ -2699,14 +2735,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -2718,34 +2754,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -2756,31 +2792,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abda0)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34da0)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abe90)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaaf4b34e90)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abf80)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaaf4b34f80)) 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) @@ -2791,9 +2827,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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/ (none) ' (check_seltree:1: 'n/a') @@ -2801,7 +2837,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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') @@ -2810,14 +2846,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -2829,34 +2865,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -2867,31 +2903,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abe20)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaaf4b34e20)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3abf10)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaaf4b34f10)) RULE: │ no no-recurse match found for parent directory '/etc/deep' - RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + RULE: │ check parent directory '/etc/deep/down' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ac000)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaaf4b35000)) 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) @@ -2902,11 +2938,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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '!/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -2914,7 +2950,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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) @@ -2922,16 +2958,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) @@ -2939,9 +2975,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') @@ -2949,7 +2985,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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -2961,8 +2997,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -2975,9 +3011,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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 @@ -2986,7 +3022,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' (0xaaaaec3abe90)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34e90)) 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) @@ -2999,10 +3035,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3abe90)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3abe90)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b34e90)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34e90)) 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) @@ -3012,9 +3048,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' (0xaaaaec3abf80)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b34f80)) 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' (0xaaaaec3abe90)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaaf4b34e90)) 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 @@ -3023,7 +3059,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' (0xaaaaec3ac070)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaaf4b35070)) 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) @@ -3037,7 +3073,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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -3046,21 +3082,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ac140)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b35140)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '!/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -3068,7 +3104,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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) @@ -3076,16 +3112,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) @@ -3093,9 +3129,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') @@ -3103,7 +3139,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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -3115,8 +3151,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -3129,9 +3165,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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 @@ -3140,7 +3176,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' (0xaaaaec3acec0)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b35ec0)) 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) @@ -3153,10 +3189,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3acec0)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3acec0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b35ec0)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b35ec0)) 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) @@ -3166,9 +3202,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' (0xaaaaec3acfb0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b35fb0)) 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' (0xaaaaec3acec0)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaaf4b35ec0)) 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 @@ -3177,7 +3213,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' (0xaaaaec3ad0a0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaaf4b360a0)) 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) @@ -3191,7 +3227,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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -3200,21 +3236,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3ad170)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b36170)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '-/dev d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -3222,7 +3258,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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) @@ -3230,16 +3266,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) @@ -3247,9 +3283,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') @@ -3257,26 +3293,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' (0xaaaaec3a2e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -3285,21 +3321,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3acf60)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b35f60)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev$' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/pts' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) RULE: ┌ /: RULE: │ '-/dev$ d' (check_seltree:0: 'n/a') RULE: ┝ /dev: @@ -3307,7 +3343,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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) @@ -3315,16 +3351,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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) @@ -3332,9 +3368,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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') @@ -3342,26 +3378,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' (0xaaaaec3a2e40)) + DEBUG: │ cache non-recursive negative match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) - RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ (cache) negative match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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) @@ -3370,24 +3406,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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) 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' (0xaaaaec3acfe0)) + DEBUG: │ cache no rule match of parent directory '/etc' (node: '/etc' (0xaaaaf4b35fe0)) 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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaec3a2e40) - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0xaaaaf4b2be40) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaec3ad3a0) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaec3ad2b0) - DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaec3ad1c0) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0xaaaaf4b363a0) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0xaaaaf4b362b0) + DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0xaaaaf4b361c0) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '/dev/.*/[0-9] b ' (check_seltree:0: 'n/a') @@ -3398,34 +3434,34 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache positive match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ no no-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ directory node '/dev' (0xaaaaec3a2e40) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/dev' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ directory node '/dev' (0xaaaaf4b2be40) 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' (0xaaaaec3a2e40)) + DEBUG: │ cache positive match of parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) 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) @@ -3436,8 +3472,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) RULE: │ check '/dev/pts' (filetype: b) DEBUG: │ node: '/dev': skip equal list (reason: list is empty) RULE: │ node: '/dev': check selective list @@ -3447,16 +3483,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaec3a2e40)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + RULE: │ check parent directory '/dev/pts' for no-recurse match (node: '/dev' (0xaaaaf4b2be40)) 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' (0xaaaaec3ad4e0)) + DEBUG: │ cache positive match of parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b364e0)) 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) @@ -3467,10 +3503,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaec3a2e40)) - DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaec3ad4e0)) - RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaec3ad4e0)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ (cache) positive match for parent directory '/dev' (node: '/dev' (0xaaaaf4b2be40)) + DEBUG: │ (cache) positive match for parent directory '/dev/pts' (node: '/dev/pts' (0xaaaaf4b364e0)) + RULE: │ check parent directory '/dev/pts/deep' for no-recurse match (node: '/dev/pts' (0xaaaaf4b364e0)) 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) @@ -3478,16 +3514,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' (0xaaaaec3ad5d0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep' (node: '/dev/pts/deep' (0xaaaaf4b365d0)) 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' (0xaaaaec3ad4e0)) + RULE: │ check parent directory '/dev/pts/deep/down' for no-recurse match (node: '/dev/pts' (0xaaaaf4b364e0)) 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' (0xaaaaec3ad6c0)) + DEBUG: │ cache positive match of parent directory '/dev/pts/deep/down' (node: '/dev/pts/deep/down' (0xaaaaf4b366c0)) 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) @@ -3499,32 +3535,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: '/' (0xaaaaec3a4c60)) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) RULE: │ check '/etc' (filetype: d) - DEBUG: │ directory node '/etc' (0xaaaaec3ad1c0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/etc' (0xaaaaf4b361c0) 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: '/' (0xaaaaec3a4c60)) - RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaec3ad1c0)) - DEBUG: │ directory node '/etc' (0xaaaaec3ad1c0) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ (cache) positive match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) + RULE: │ check parent directory '/etc' for no-recurse match (node: '/etc' (0xaaaaf4b361c0)) + DEBUG: │ directory node '/etc' (0xaaaaf4b361c0) 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' (0xaaaaec3ad1c0)) + DEBUG: │ cache positive match of parent directory '/etc' (node: '/etc' (0xaaaaf4b361c0)) RULE: │ no no-recurse match found for parent directory '/etc' - RULE: │ check parent directory '/etc/deep' for no-recurse match (node: '/etc/deep' (0xaaaaec3ad2b0)) - DEBUG: │ directory node '/etc/deep' (0xaaaaec3ad2b0) 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' (0xaaaaf4b362b0)) + DEBUG: │ directory node '/etc/deep' (0xaaaaf4b362b0) 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' (0xaaaaec3ad2b0)) + DEBUG: │ cache positive match of parent directory '/etc/deep' (node: '/etc/deep' (0xaaaaf4b362b0)) 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' (0xaaaaec3ad3a0)) - DEBUG: │ directory node '/etc/deep/down' (0xaaaaec3ad3a0) 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' (0xaaaaf4b363a0)) + DEBUG: │ directory node '/etc/deep/down' (0xaaaaf4b363a0) 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') @@ -3532,7 +3568,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' (0xaaaaec3ad3a0)) + DEBUG: │ cache positive match of parent directory '/etc/deep/down' (node: '/etc/deep/down' (0xaaaaf4b363a0)) 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) @@ -3545,9 +3581,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 '/' (0xaaaaec3a4c60) + DEBUG: created root node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/dev' successful - DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaec3a4c60) + DEBUG: set NODE_HAS_SUB_RULES for node '/' (0xaaaaf4b2dc60) DEBUG: JIT compilation for regex '/' successful RULE: ┌ /: RULE: │ '/dev b ' (check_seltree:0: 'n/a') @@ -3555,7 +3591,7 @@ RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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') @@ -3564,47 +3600,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: '/' (0xaaaaec3a4c60)) - DEBUG: │ directory node '/' (0xaaaaec3a4c60) has NODE_HAS_SUB_RULES set (set default match result to RESULT_PARTIAL_MATCH) + RULE: │ check parent directory '/' for no-recurse match (node: '/' (0xaaaaf4b2dc60)) + DEBUG: │ directory node '/' (0xaaaaf4b2dc60) 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: '/' (0xaaaaec3a4c60)) + DEBUG: │ cache non-recursive negative match of parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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: '/' (0xaaaaec3a4c60)) + RULE: │ (cache) negative match for parent directory '/' (node: '/' (0xaaaaf4b2dc60)) 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 (0xffffefa17b48) - DEBUG: > free md_container (0xffffefa17b48) - DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffefa17b48) - DEBUG: > free md_container (0xffffefa17b48) - DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffefa17b48) - DEBUG: > free md_container (0xffffefa17b48) + DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffd3e36428) + DEBUG: > free md_container (0xffffd3e36428) + DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffd3e36428) + DEBUG: > free md_container (0xffffd3e36428) + DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0xffffd3e36428) + DEBUG: > free md_container (0xffffd3e36428) 100%: Checks: 166, Failures: 0, Errors: 0 PASS: check_aide ============= @@ -3625,11 +3661,11 @@ make[3]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' make[4]: Entering directory '/build/reproducible-path/aide-0.19~dev20241110' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/bin' + /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man5' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/share/man/man1' /usr/bin/install -c aide '/build/reproducible-path/aide-0.19~dev20241110/debian/tmp/usr/bin' - /usr/bin/mkdir -p '/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' /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' @@ -3658,21 +3694,21 @@ dh_makeshlibs -a dh_shlibdeps -a dpkg-shlibdeps: warning: diversions involved - output may be incorrect - diversion by libc6 from: /lib/ld-linux-aarch64.so.1 -dpkg-shlibdeps: warning: diversions involved - output may be incorrect - diversion by libc6 to: /lib/ld-linux-aarch64.so.1.usr-is-merged -dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libext2fs2t64 from: /lib/aarch64-linux-gnu/libe2p.so.2 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libext2fs2t64 to: /lib/aarch64-linux-gnu/libe2p.so.2.usr-is-merged +dpkg-shlibdeps: warning: diversions involved - output may be incorrect + diversion by libc6 from: /lib/ld-linux-aarch64.so.1 +dpkg-shlibdeps: warning: diversions involved - output may be incorrect + diversion by libc6 to: /lib/ld-linux-aarch64.so.1.usr-is-merged dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'aide' in '../aide_0.19~dev20241110-1_arm64.deb'. dpkg-deb: building package 'aide-dbgsym' in '../aide-dbgsym_0.19~dev20241110-1_arm64.deb'. -dpkg-deb: building package 'aide-dynamic' in '../aide-dynamic_0.19~dev20241110-1_all.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) @@ -3680,12 +3716,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/3186901/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3186901/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/2504791 and its subdirectories -I: Current time: Sat Feb 22 04:48:41 -12 2025 -I: pbuilder-time-stamp: 1740242921 +I: removing directory /srv/workspace/pbuilder/3186901 and its subdirectories +I: Current time: Sat Mar 28 13:12:43 +14 2026 +I: pbuilder-time-stamp: 1774653163 Compressing the 2nd log... /var/lib/jenkins/userContent/reproducible/debian/logdiffs/experimental/arm64/aide_0.19~dev20241110-1.diff: 95.0% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/logdiffs/experimental/arm64/aide_0.19~dev20241110-1.diff.gz b2/build.log: 94.2% -- replaced with stdout Compressing the 1st log... b1/build.log: 94.4% -- replaced with stdout Sat Feb 22 16:49:46 UTC 2025 I: diffoscope 288 will be used to compare the two builds: ++ date -u +%s + DIFFOSCOPE_STAMP=/var/log/reproducible-builds/diffoscope_stamp_aide_experimental_arm64_1740242986 + touch /var/log/reproducible-builds/diffoscope_stamp_aide_experimental_arm64_1740242986 + RESULT=0 + systemd-run '--description=diffoscope on aide/0.19~dev20241110-1 in experimental/arm64' --slice=rb-build-diffoscope.slice -u rb-diffoscope-arm64_11-85191 '--property=SuccessExitStatus=1 124' --user --send-sighup --pipe --wait -E TMPDIR timeout 155m nice schroot --directory /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs --run-session -c jenkins-reproducible-unstable-diffoscope-382a36d2-e0f2-4e6e-8724-cf910fac2c0d -- sh -c 'export TMPDIR=/srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/dbd-tmp-KDqiEHD ; timeout 150m diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/aide_0.19~dev20241110-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/aide_0.19~dev20241110-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/aide_0.19~dev20241110-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/b1/aide_0.19~dev20241110-1_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/b2/aide_0.19~dev20241110-1_arm64.changes' + false + set +x Running as unit: rb-diffoscope-arm64_11-85191.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/aide_0.19~dev20241110-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/aide_0.19~dev20241110-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/aide_0.19~dev20241110-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/b1/aide_0.19~dev20241110-1_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.CmNpCzjs/b2/aide_0.19~dev20241110-1_arm64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call diffoscope.comparators.binary.FilesystemFile ## main (total time: 0.003s) 0.003s 2 calls outputs 0.000s 1 call cleanup Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 223ms CPU time consumed: 224ms _ _ __ _(_) __| | ___ / _` | |/ _` |/ _ \ | (_| | | (_| | __/ \__,_|_|\__,_|\___| Sat Feb 22 16:49:47 UTC 2025 I: diffoscope 288 found no differences in the changes files, and a .buildinfo file also exists. Sat Feb 22 16:49:47 UTC 2025 I: aide from experimental built successfully and reproducibly on arm64. INSERT 0 1 INSERT 0 1 DELETE 1 [2025-02-22 16:49:47] INFO: Starting at 2025-02-22 16:49:47.660603 [2025-02-22 16:49:47] INFO: Generating the pages of 1 package(s) [2025-02-22 16:49:48] CRITICAL: https://tests.reproducible-builds.org/debian/experimental/arm64/aide didn't produce a buildlog, even though it has been built. [2025-02-22 16:49:48] INFO: Finished at 2025-02-22 16:49:48.283479, took: 0:00:00.622883 Sat Feb 22 16:49:48 UTC 2025 - successfully updated the database and updated https://tests.reproducible-builds.org/debian/rb-pkg/experimental/arm64/aide.html Sat Feb 22 16:49:48 UTC 2025 I: Submitting .buildinfo files to external archives: Sat Feb 22 16:49:48 UTC 2025 I: Submitting 8.0K b1/aide_0.19~dev20241110-1_arm64.buildinfo.asc https://buildinfo.debian.net/a591ec9f9a5a605ee9ed4c9b0a0b1a5f943f6e17/aide_0.19~dev20241110-1_all Sat Feb 22 16:49:50 UTC 2025 I: Submitting 8.0K b2/aide_0.19~dev20241110-1_arm64.buildinfo.asc https://buildinfo.debian.net/4a1c76d6e0f32db84470676d3f394513d09f1274/aide_0.19~dev20241110-1_all Sat Feb 22 16:49:51 UTC 2025 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Sat Feb 22 16:49:51 UTC 2025 I: Done submitting .buildinfo files. Sat Feb 22 16:49:51 UTC 2025 I: Removing signed aide_0.19~dev20241110-1_arm64.buildinfo.asc files: removed './b1/aide_0.19~dev20241110-1_arm64.buildinfo.asc' removed './b2/aide_0.19~dev20241110-1_arm64.buildinfo.asc' 1740242991 arm64 experimental aide Starting cleanup. /var/lib/jenkins/userContent/reproducible/debian/rbuild/experimental/arm64/aide_0.19~dev20241110-1.rbuild.log: 93.5% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/rbuild/experimental/arm64/aide_0.19~dev20241110-1.rbuild.log.gz [2025-02-22 16:49:52] INFO: Starting at 2025-02-22 16:49:52.150231 [2025-02-22 16:49:52] INFO: Generating the pages of 1 package(s) [2025-02-22 16:49:52] INFO: Finished at 2025-02-22 16:49:52.749362, took: 0:00:00.599139 All cleanup done. Sat Feb 22 16:49:52 UTC 2025 - total duration: 0h 2m 36s. Sat Feb 22 16:49:52 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-tQG5BKFv, removing. Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 2min 41.454s CPU time consumed: 7.093s