Sun Sep 7 12:21:09 UTC 2025 I: starting to build aide/forky/amd64 on jenkins on '2025-09-07 12:21' Sun Sep 7 12:21:09 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_6/56848/console.log Sun Sep 7 12:21:09 UTC 2025 I: Downloading source for forky/aide=0.19.2-2 --2025-09-07 12:21:09-- http://deb.debian.org/debian/pool/main/a/aide/aide_0.19.2-2.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2576 (2.5K) [text/prs.lines.tag] Saving to: ‘aide_0.19.2-2.dsc’ 0K .. 100% 289M=0s 2025-09-07 12:21:09 (289 MB/s) - ‘aide_0.19.2-2.dsc’ saved [2576/2576] Sun Sep 7 12:21:09 UTC 2025 I: aide_0.19.2-2.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: aide Binary: aide, aide-common, aide-dynamic Architecture: any all Version: 0.19.2-2 Maintainer: Aide Maintainers Uploaders: Marc Haber , Hannes von Haugwitz Homepage: https://aide.github.io Standards-Version: 4.7.2 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: debhelper-compat (= 13) Build-Depends-Arch: autoconf-archive, bison, check, 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], linux-libc-dev (>= 6), nettle-dev (>= 3.8), pkgconf, zlib1g-dev Package-List: aide deb admin optional arch=any aide-common deb admin optional arch=all aide-dynamic deb oldlibs optional arch=any Checksums-Sha1: 8f5a43df4256133b66902fd412b2d03a9e770435 393120 aide_0.19.2.orig.tar.gz 9ddb0ad30d9bcff29725fc08c67fe6cb56cf9e87 659 aide_0.19.2.orig.tar.gz.asc 9dda05ad0f069b3b5813907298b688b9a79518bb 116632 aide_0.19.2-2.debian.tar.xz Checksums-Sha256: 23762b05f46111edeb3c8a05016c8731c01bdb8c1f91be48c156c31ab85e74c4 393120 aide_0.19.2.orig.tar.gz 14ff4af904fd628905e8b0f84309cd9f2a3f0618d7a9910d88398f5f7c114487 659 aide_0.19.2.orig.tar.gz.asc f75855e2a1430c8dc096dabbbd68b7a11d48b1b140b97c33bae2e7c64a7a9e55 116632 aide_0.19.2-2.debian.tar.xz Files: 538a5660b753fe6ccdd1093f8924f5c3 393120 aide_0.19.2.orig.tar.gz f2829cde8c63a184177e22a7a405465c 659 aide_0.19.2.orig.tar.gz.asc 8ea423ea06c6e858744e27ac4345d9a0 116632 aide_0.19.2-2.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEE6QL5UJ/L0pcuNEbjj3cgEwEyBEIFAmi6g6sACgkQj3cgEwEy BEKEDBAAiIBDOgJsquVWZiOyzl5tKWiU+A+Q/vm76ik6/YxfdhnnyvwgSkVaGpud +l2HwIT+PW7Ojyt1g1EL3qhfq+4HpbdGXDMfQBsvsOmP33wzcjkgOVQh1ji6NTqb ugk4XM9ZPcWPFOCs/FoRxdxobestFBiufZtEVDLv6iuANYXox7Y24Q9LlTyBwjXg 7l/TfHz0lkCrdiw57rZkm5nwclOtVxWD5GeMMD6QuUepb1lU10TvHVE8SnuDtXRg 28JxsHqIRpvlcMI3BvmqBrNThOe77RXMZ6pzfSdJlPApmp0gYzQbFrmpF4TwgS3K H3/VI6iKwcZ5jWy5JOa7MXuPOCZoThGj2++QjdqkIfIc/EQIKxbqzVPsqa6Mbjif 60X7rYYbo7eMHKaGUCzXtFADJUFOEuKDSrQwOycHHyt4n3Y+aGEP6LT6ab4dHlgb gpdmu9OonRblik/66gAaOngZb/sqbdWI5W/1LkczRMoPN430O/TvdPMgxBpzDkeA beSxBL0OdY9vFDg2hE/NxrIR9e5lb02rX76hwLQJi8as9Arwzv163SQeoewCjGbv l4EXwN3tqZJv/AYdM/6OE567s8s8nWIBC4nNvyPLg6/4G10QQEr4QSM4zWeHITdl +60ab0tBZuc/Go9iEef+Vv4nzs2MfLZuzx3G806K/wqn/j3uaxM= =moJ3 -----END PGP SIGNATURE----- Sun Sep 7 12:21:09 UTC 2025 I: Checking whether the package is not for us Sun Sep 7 12:21:09 UTC 2025 I: Starting 1st build on remote node ionos5-amd64.debian.net. Sun Sep 7 12:21:09 UTC 2025 I: Preparing to do remote build '1' on ionos5-amd64.debian.net. Sun Sep 7 12:23:58 UTC 2025 I: Deleting $TMPDIR on ionos5-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Sat Oct 10 06:44:11 -12 2026 I: pbuilder-time-stamp: 1791657851 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-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.2-2.dsc] I: copying [./aide_0.19.2.orig.tar.gz] I: copying [./aide_0.19.2.orig.tar.gz.asc] I: copying [./aide_0.19.2-2.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./aide_0.19.2-2.dsc: no acceptable signature found dpkg-source: info: extracting aide in aide-0.19.2 dpkg-source: info: unpacking aide_0.19.2.orig.tar.gz dpkg-source: info: unpacking aide_0.19.2-2.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/922486/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='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' DISTRIBUTION='forky' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='3c6a3b3d917a4681a0f57c3d11ca759d' 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='922486' 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.Kc6hN5lo/pbuilderrc_rXRT --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Kc6hN5lo/b1 --logfile b1/build.log aide_0.19.2-2.dsc' SUDO_GID='110' SUDO_HOME='/var/lib/jenkins' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://213.165.73.152:3128' I: uname -a Linux ionos5-amd64 6.12.43+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.43-1 (2025-08-27) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin I: user script /srv/workspace/pbuilder/922486/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: amd64 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: debhelper-compat (= 13), autoconf-archive, bison, check, flex (>= 2.5.32), libacl1-dev, libattr1-dev, libaudit-dev, libcap-dev, libext2fs-dev (>= 1.46.2), libpcre2-dev, libselinux1-dev, linux-libc-dev (>= 6), nettle-dev (>= 3.8), pkgconf, 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 ... 19897 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 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 bison; however: Package bison is not installed. pbuilder-satisfydepends-dummy depends on check; however: Package check 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 (>= 3.8); however: Package nettle-dev is not installed. pbuilder-satisfydepends-dummy depends on pkgconf; however: Package pkgconf 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} 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} 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-16{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, 57 newly installed, 0 to remove and 0 not upgraded. Need to get 20.4 MB of archives. After unpacking 74.1 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian forky/main amd64 autoconf-archive all 20220903-3 [775 kB] Get: 2 http://deb.debian.org/debian forky/main amd64 m4 amd64 1.4.20-1 [324 kB] Get: 3 http://deb.debian.org/debian forky/main amd64 flex amd64 2.6.4-8.2+b4 [423 kB] Get: 4 http://deb.debian.org/debian forky/main amd64 sensible-utils all 0.0.26 [27.0 kB] Get: 5 http://deb.debian.org/debian forky/main amd64 libmagic-mgc amd64 1:5.46-5 [338 kB] Get: 6 http://deb.debian.org/debian forky/main amd64 libmagic1t64 amd64 1:5.46-5 [109 kB] Get: 7 http://deb.debian.org/debian forky/main amd64 file amd64 1:5.46-5 [43.6 kB] Get: 8 http://deb.debian.org/debian forky/main amd64 gettext-base amd64 0.23.1-2+b1 [244 kB] Get: 9 http://deb.debian.org/debian forky/main amd64 libuchardet0 amd64 0.0.8-2 [68.5 kB] Get: 10 http://deb.debian.org/debian forky/main amd64 groff-base amd64 1.23.0-9 [1187 kB] Get: 11 http://deb.debian.org/debian forky/main amd64 bsdextrautils amd64 2.41.1-2 [95.0 kB] Get: 12 http://deb.debian.org/debian forky/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 13 http://deb.debian.org/debian forky/main amd64 man-db amd64 2.13.1-1 [1469 kB] Get: 14 http://deb.debian.org/debian forky/main amd64 autoconf all 2.72-3.1 [494 kB] Get: 15 http://deb.debian.org/debian forky/main amd64 autotools-dev all 20240727.1 [60.2 kB] Get: 16 http://deb.debian.org/debian forky/main amd64 automake all 1:1.17-4 [862 kB] Get: 17 http://deb.debian.org/debian forky/main amd64 autopoint all 0.23.1-2 [770 kB] Get: 18 http://deb.debian.org/debian forky/main amd64 bison amd64 2:3.8.2+dfsg-1+b2 [1170 kB] Get: 19 http://deb.debian.org/debian forky/main amd64 libsubunit0 amd64 1.4.2-3+b1 [6436 B] Get: 20 http://deb.debian.org/debian forky/main amd64 libsubunit-dev amd64 1.4.2-3+b1 [7352 B] Get: 21 http://deb.debian.org/debian forky/main amd64 check amd64 0.15.2-3 [113 kB] Get: 22 http://deb.debian.org/debian forky/main amd64 libcom-err2 amd64 1.47.2-3+b3 [25.0 kB] Get: 23 http://deb.debian.org/debian forky/main amd64 comerr-dev amd64 2.1-1.47.2-3+b3 [56.7 kB] Get: 24 http://deb.debian.org/debian forky/main amd64 libdebhelper-perl all 13.26 [91.8 kB] Get: 25 http://deb.debian.org/debian forky/main amd64 libtool all 2.5.4-5 [540 kB] Get: 26 http://deb.debian.org/debian forky/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 27 http://deb.debian.org/debian forky/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 28 http://deb.debian.org/debian forky/main amd64 libfile-stripnondeterminism-perl all 1.14.2-1 [19.8 kB] Get: 29 http://deb.debian.org/debian forky/main amd64 dh-strip-nondeterminism all 1.14.2-1 [8768 B] Get: 30 http://deb.debian.org/debian forky/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 31 http://deb.debian.org/debian forky/main amd64 dwz amd64 0.16-2 [108 kB] Get: 32 http://deb.debian.org/debian forky/main amd64 libunistring5 amd64 1.3-2 [477 kB] Get: 33 http://deb.debian.org/debian forky/main amd64 libxml2-16 amd64 2.14.5+dfsg-0.2 [638 kB] Get: 34 http://deb.debian.org/debian forky/main amd64 gettext amd64 0.23.1-2+b1 [1680 kB] Get: 35 http://deb.debian.org/debian forky/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 36 http://deb.debian.org/debian forky/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 37 http://deb.debian.org/debian forky/main amd64 debhelper all 13.26 [939 kB] Get: 38 http://deb.debian.org/debian forky/main amd64 libattr1-dev amd64 1:2.5.2-3 [36.5 kB] Get: 39 http://deb.debian.org/debian forky/main amd64 libacl1-dev amd64 2.3.2-2+b1 [94.1 kB] Get: 40 http://deb.debian.org/debian forky/main amd64 libcap-ng-dev amd64 0.8.5-4+b1 [34.6 kB] Get: 41 http://deb.debian.org/debian forky/main amd64 libaudit-dev amd64 1:4.0.5-1 [94.9 kB] Get: 42 http://deb.debian.org/debian forky/main amd64 libcap-dev amd64 1:2.75-10+b1 [546 kB] Get: 43 http://deb.debian.org/debian forky/main amd64 libext2fs2t64 amd64 1.47.2-3+b3 [213 kB] Get: 44 http://deb.debian.org/debian forky/main amd64 libext2fs-dev amd64 1.47.2-3+b3 [299 kB] Get: 45 http://deb.debian.org/debian forky/main amd64 libgmpxx4ldbl amd64 2:6.3.0+dfsg-5 [330 kB] Get: 46 http://deb.debian.org/debian forky/main amd64 libgmp-dev amd64 2:6.3.0+dfsg-5 [658 kB] Get: 47 http://deb.debian.org/debian forky/main amd64 libpcre2-16-0 amd64 10.46-1 [281 kB] Get: 48 http://deb.debian.org/debian forky/main amd64 libpcre2-32-0 amd64 10.46-1 [268 kB] Get: 49 http://deb.debian.org/debian forky/main amd64 libpcre2-posix3 amd64 10.46-1 [63.9 kB] Get: 50 http://deb.debian.org/debian forky/main amd64 libpcre2-dev amd64 10.46-1 [853 kB] Get: 51 http://deb.debian.org/debian forky/main amd64 libpkgconf3 amd64 1.8.1-4 [36.4 kB] Get: 52 http://deb.debian.org/debian forky/main amd64 libsepol-dev amd64 3.8.1-1 [373 kB] Get: 53 http://deb.debian.org/debian forky/main amd64 libselinux1-dev amd64 3.8.1-1 [169 kB] Get: 54 http://deb.debian.org/debian forky/main amd64 nettle-dev amd64 3.10.1-1 [1318 kB] Get: 55 http://deb.debian.org/debian forky/main amd64 pkgconf-bin amd64 1.8.1-4 [30.2 kB] Get: 56 http://deb.debian.org/debian forky/main amd64 pkgconf amd64 1.8.1-4 [26.2 kB] Get: 57 http://deb.debian.org/debian forky/main amd64 zlib1g-dev amd64 1:1.3.dfsg+really1.3.1-1+b1 [920 kB] Fetched 20.4 MB in 0s (68.4 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 ... 19897 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.20-1_amd64.deb ... Unpacking m4 (1.4.20-1) ... Selecting previously unselected package flex. Preparing to unpack .../02-flex_2.6.4-8.2+b4_amd64.deb ... Unpacking flex (2.6.4-8.2+b4) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../03-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../04-libmagic-mgc_1%3a5.46-5_amd64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../05-libmagic1t64_1%3a5.46-5_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../06-file_1%3a5.46-5_amd64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../07-gettext-base_0.23.1-2+b1_amd64.deb ... Unpacking gettext-base (0.23.1-2+b1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../08-libuchardet0_0.0.8-2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-2) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.23.0-9_amd64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../10-bsdextrautils_2.41.1-2_amd64.deb ... Unpacking bsdextrautils (2.41.1-2) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../11-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../12-man-db_2.13.1-1_amd64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package autoconf. Preparing to unpack .../13-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../14-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../15-automake_1%3a1.17-4_all.deb ... Unpacking automake (1:1.17-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../16-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package bison. Preparing to unpack .../17-bison_2%3a3.8.2+dfsg-1+b2_amd64.deb ... Unpacking bison (2:3.8.2+dfsg-1+b2) ... Selecting previously unselected package libsubunit0:amd64. Preparing to unpack .../18-libsubunit0_1.4.2-3+b1_amd64.deb ... Unpacking libsubunit0:amd64 (1.4.2-3+b1) ... Selecting previously unselected package libsubunit-dev:amd64. Preparing to unpack .../19-libsubunit-dev_1.4.2-3+b1_amd64.deb ... Unpacking libsubunit-dev:amd64 (1.4.2-3+b1) ... Selecting previously unselected package check:amd64. Preparing to unpack .../20-check_0.15.2-3_amd64.deb ... Unpacking check:amd64 (0.15.2-3) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../21-libcom-err2_1.47.2-3+b3_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.2-3+b3) ... Selecting previously unselected package comerr-dev:amd64. Preparing to unpack .../22-comerr-dev_2.1-1.47.2-3+b3_amd64.deb ... Unpacking comerr-dev:amd64 (2.1-1.47.2-3+b3) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../23-libdebhelper-perl_13.26_all.deb ... Unpacking libdebhelper-perl (13.26) ... Selecting previously unselected package libtool. Preparing to unpack .../24-libtool_2.5.4-5_all.deb ... Unpacking libtool (2.5.4-5) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../25-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../26-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 .../27-libfile-stripnondeterminism-perl_1.14.2-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.2-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../28-dh-strip-nondeterminism_1.14.2-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.2-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../29-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../30-dwz_0.16-2_amd64.deb ... Unpacking dwz (0.16-2) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../31-libunistring5_1.3-2_amd64.deb ... Unpacking libunistring5:amd64 (1.3-2) ... Selecting previously unselected package libxml2-16:amd64. Preparing to unpack .../32-libxml2-16_2.14.5+dfsg-0.2_amd64.deb ... Unpacking libxml2-16:amd64 (2.14.5+dfsg-0.2) ... Selecting previously unselected package gettext. Preparing to unpack .../33-gettext_0.23.1-2+b1_amd64.deb ... Unpacking gettext (0.23.1-2+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../34-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 .../35-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../36-debhelper_13.26_all.deb ... Unpacking debhelper (13.26) ... Selecting previously unselected package libattr1-dev:amd64. Preparing to unpack .../37-libattr1-dev_1%3a2.5.2-3_amd64.deb ... Unpacking libattr1-dev:amd64 (1:2.5.2-3) ... Selecting previously unselected package libacl1-dev:amd64. Preparing to unpack .../38-libacl1-dev_2.3.2-2+b1_amd64.deb ... Unpacking libacl1-dev:amd64 (2.3.2-2+b1) ... Selecting previously unselected package libcap-ng-dev:amd64. Preparing to unpack .../39-libcap-ng-dev_0.8.5-4+b1_amd64.deb ... Unpacking libcap-ng-dev:amd64 (0.8.5-4+b1) ... Selecting previously unselected package libaudit-dev:amd64. Preparing to unpack .../40-libaudit-dev_1%3a4.0.5-1_amd64.deb ... Unpacking libaudit-dev:amd64 (1:4.0.5-1) ... Selecting previously unselected package libcap-dev:amd64. Preparing to unpack .../41-libcap-dev_1%3a2.75-10+b1_amd64.deb ... Unpacking libcap-dev:amd64 (1:2.75-10+b1) ... Selecting previously unselected package libext2fs2t64:amd64. Preparing to unpack .../42-libext2fs2t64_1.47.2-3+b3_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libe2p.so.2 to /lib/x86_64-linux-gnu/libe2p.so.2.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/x86_64-linux-gnu/libe2p.so.2.3 to /lib/x86_64-linux-gnu/libe2p.so.2.3.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/x86_64-linux-gnu/libext2fs.so.2 to /lib/x86_64-linux-gnu/libext2fs.so.2.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/x86_64-linux-gnu/libext2fs.so.2.4 to /lib/x86_64-linux-gnu/libext2fs.so.2.4.usr-is-merged by libext2fs2t64' Unpacking libext2fs2t64:amd64 (1.47.2-3+b3) ... Selecting previously unselected package libext2fs-dev. Preparing to unpack .../43-libext2fs-dev_1.47.2-3+b3_amd64.deb ... Unpacking libext2fs-dev (1.47.2-3+b3) ... Selecting previously unselected package libgmpxx4ldbl:amd64. Preparing to unpack .../44-libgmpxx4ldbl_2%3a6.3.0+dfsg-5_amd64.deb ... Unpacking libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-5) ... Selecting previously unselected package libgmp-dev:amd64. Preparing to unpack .../45-libgmp-dev_2%3a6.3.0+dfsg-5_amd64.deb ... Unpacking libgmp-dev:amd64 (2:6.3.0+dfsg-5) ... Selecting previously unselected package libpcre2-16-0:amd64. Preparing to unpack .../46-libpcre2-16-0_10.46-1_amd64.deb ... Unpacking libpcre2-16-0:amd64 (10.46-1) ... Selecting previously unselected package libpcre2-32-0:amd64. Preparing to unpack .../47-libpcre2-32-0_10.46-1_amd64.deb ... Unpacking libpcre2-32-0:amd64 (10.46-1) ... Selecting previously unselected package libpcre2-posix3:amd64. Preparing to unpack .../48-libpcre2-posix3_10.46-1_amd64.deb ... Unpacking libpcre2-posix3:amd64 (10.46-1) ... Selecting previously unselected package libpcre2-dev:amd64. Preparing to unpack .../49-libpcre2-dev_10.46-1_amd64.deb ... Unpacking libpcre2-dev:amd64 (10.46-1) ... Selecting previously unselected package libpkgconf3:amd64. Preparing to unpack .../50-libpkgconf3_1.8.1-4_amd64.deb ... Unpacking libpkgconf3:amd64 (1.8.1-4) ... Selecting previously unselected package libsepol-dev:amd64. Preparing to unpack .../51-libsepol-dev_3.8.1-1_amd64.deb ... Unpacking libsepol-dev:amd64 (3.8.1-1) ... Selecting previously unselected package libselinux1-dev:amd64. Preparing to unpack .../52-libselinux1-dev_3.8.1-1_amd64.deb ... Unpacking libselinux1-dev:amd64 (3.8.1-1) ... Selecting previously unselected package nettle-dev:amd64. Preparing to unpack .../53-nettle-dev_3.10.1-1_amd64.deb ... Unpacking nettle-dev:amd64 (3.10.1-1) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../54-pkgconf-bin_1.8.1-4_amd64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:amd64. Preparing to unpack .../55-pkgconf_1.8.1-4_amd64.deb ... Unpacking pkgconf:amd64 (1.8.1-4) ... Selecting previously unselected package zlib1g-dev:amd64. Preparing to unpack .../56-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_amd64.deb ... Unpacking zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up bsdextrautils (2.41.1-2) ... Setting up libattr1-dev:amd64 (1:2.5.2-3) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libxml2-16:amd64 (2.14.5+dfsg-0.2) ... Setting up libdebhelper-perl (13.26) ... Setting up libmagic1t64:amd64 (1:5.46-5) ... Setting up gettext-base (0.23.1-2+b1) ... Setting up m4 (1.4.20-1) ... Setting up autoconf-archive (20220903-3) ... Setting up libcom-err2:amd64 (1.47.2-3+b3) ... Setting up file (1:5.46-5) ... Setting up libsubunit0:amd64 (1.4.2-3+b1) ... Setting up libpcre2-16-0:amd64 (10.46-1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up autotools-dev (20240727.1) ... Setting up libpcre2-32-0:amd64 (10.46-1) ... Setting up libpkgconf3:amd64 (1.8.1-4) ... Setting up libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-5) ... Setting up comerr-dev:amd64 (2.1-1.47.2-3+b3) ... Setting up libunistring5:amd64 (1.3-2) ... Setting up autopoint (0.23.1-2) ... Setting up libsepol-dev:amd64 (3.8.1-1) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up autoconf (2.72-3.1) ... Setting up zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up libpcre2-posix3:amd64 (10.46-1) ... Setting up dwz (0.16-2) ... Setting up sensible-utils (0.0.26) ... Setting up libuchardet0:amd64 (0.0.8-2) ... Setting up libcap-ng-dev:amd64 (0.8.5-4+b1) ... 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:amd64 (1.47.2-3+b3) ... Setting up libext2fs-dev (1.47.2-3+b3) ... Setting up libcap-dev:amd64 (1:2.75-10+b1) ... Setting up libacl1-dev:amd64 (2.3.2-2+b1) ... Setting up automake (1:1.17-4) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.2-1) ... Setting up flex (2.6.4-8.2+b4) ... Setting up gettext (0.23.1-2+b1) ... Setting up libgmp-dev:amd64 (2:6.3.0+dfsg-5) ... Setting up libpcre2-dev:amd64 (10.46-1) ... Setting up nettle-dev:amd64 (3.10.1-1) ... Setting up libtool (2.5.4-5) ... Setting up libselinux1-dev:amd64 (3.8.1-1) ... Setting up libaudit-dev:amd64 (1:4.0.5-1) ... Setting up libsubunit-dev:amd64 (1.4.2-3+b1) ... Setting up pkgconf:amd64 (1.8.1-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up check:amd64 (0.15.2-3) ... Setting up dh-strip-nondeterminism (1.14.2-1) ... Setting up groff-base (1.23.0-9) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.26) ... Processing triggers for libc-bin (2.41-12) ... 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.2/ && 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.2-2_source.changes dpkg-buildpackage: info: source package aide dpkg-buildpackage: info: source version 0.19.2-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Marc Haber dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf -Naide-common configure.ac:3: warning: file 'version.m4' included several times debian/rules override_dh_auto_configure-arch make[1]: Entering directory '/build/reproducible-path/aide-0.19.2' 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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic" CFLAGS_FOR_BUILD="-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" 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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" CXXFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" DFLAGS="-frelease" DFLAGS_FOR_BUILD="-frelease" FCFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" FCFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" FFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" FFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" 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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" OBJCFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" OBJCXXFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" OBJCXXFLAGS_FOR_BUILD="-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" --with-selinux --with-audit --with-capabilities ./configure --build=x86_64-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/x86_64-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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic" "CFLAGS_FOR_BUILD=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "CXXFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" DFLAGS=-frelease DFLAGS_FOR_BUILD=-frelease "FCFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" "FCFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" "FFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" "FFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection" "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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "OBJCFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "OBJCXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" "OBJCXXFLAGS_FOR_BUILD=-g -O2 -ffile-prefix-map=/build/reproducible-path/aide-0.19.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" --with-selinux --with-audit --with-capabilities checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking target system type... x86_64-pc-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 -Wdate-time -D_FORTIFY_SOURCE=2 option for large files... 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... 8 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 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 fstype support (Linux only)... 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 >= 3.4... 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 >= 3.7... 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.2' dh_auto_build make -j42 make[1]: Entering directory '/build/reproducible-path/aide-0.19.2' make all-am make[2]: Entering directory '/build/reproducible-path/aide-0.19.2' 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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/aide-file.o `test -f 'src/file.c' || echo './'`src/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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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-file.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 -L/usr/lib64 -lcap -le2p -lnettle -lpcre2-8 -lacl -lpthread -lselinux -lattr -lz make[2]: Leaving directory '/build/reproducible-path/aide-0.19.2' make[1]: Leaving directory '/build/reproducible-path/aide-0.19.2' dh_auto_test make -j42 check "TESTSUITEFLAGS=-j42 --verbose" VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/aide-0.19.2' make check-am make[2]: Entering directory '/build/reproducible-path/aide-0.19.2' make check_aide make[3]: Entering directory '/build/reproducible-path/aide-0.19.2' 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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -fPIE -DPIE -Wundef -Wmissing-format-attribute -Wshadow -Wlogical-op -c -o src/check_aide-file.o `test -f 'src/file.c' || echo './'`src/file.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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -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-file.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.2' make check-TESTS make[3]: Entering directory '/build/reproducible-path/aide-0.19.2' Running suite(s): attributes base64 progress seltree INFO: test_unrestricted_equal_rule DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) RULE: ┌ /: RULE: │ '=/dev (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check '/dev/pts' (filetype: d) 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/pts' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/pts/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/pts/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_equal_rule_slash DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ (none) ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_recursive_negative_rule_eol DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts/deep' RULE: │ check parent directory '/dev/pts/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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 '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts/deep' RULE: │ check parent directory '/dev/pts/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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 '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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 '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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 '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep' RULE: │ check parent directory '/dev/pts/deep/down' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_recursive_negative_rule_eol_deep_selective DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep' RULE: │ check parent directory '/dev/pts/deep/down' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_non_recursive_negative_rule_deep_selective DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_non_recursive_negative_rule_eol_deep_selective DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_unrestricted_deep_selective_rule DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0x55ff8c64adf0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0x55ff8c64ad40) DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0x55ff8c64ac90) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep' RULE: │ check parent directory '/dev/pts/deep/down' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/etc' (filetype: d) DEBUG: │ directory node '/etc' (0x55ff8c64ac90) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/etc' (0x55ff8c64ac90)) DEBUG: │ directory node '/etc' (0x55ff8c64ac90) 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) RULE: │ no non-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for non-recurse match (node: '/etc/deep' (0x55ff8c64ad40)) DEBUG: │ directory node '/etc/deep' (0x55ff8c64ad40) 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) RULE: │ no non-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for non-recurse match (node: '/etc/deep/down' (0x55ff8c64adf0)) DEBUG: │ directory node '/etc/deep/down' (0x55ff8c64adf0) 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) RULE: │ no non-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 '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/dev' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/sda' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/etc' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_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 '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) RULE: ┌ /: RULE: │ '=/dev d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check '/dev/pts' (filetype: d) 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/pts' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/pts/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/pts/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_f_type_restricted_equal_rule_slash DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) RULE: ┌ /: RULE: ┝ /dev: RULE: │ '=/dev/ d ' (check_seltree:0: 'n/a') RULE: └ RULE: ┬ check '/' (filetype: d) RULE: │ check '/' (filetype: d) DEBUG: │ directory node '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH RULE: ┬ check '/etc' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_f_type_restricted_recursive_negative_rule_eol DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts/deep' RULE: │ check parent directory '/dev/pts/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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 '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check '/dev/pts' (filetype: d) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check '/dev/pts/0' (filetype: b) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts/deep' RULE: │ check parent directory '/dev/pts/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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') RULE: │ no non-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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 '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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 '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/' (0x55ff8c643c60)) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for non-recurse match (node: '/' (0x55ff8c643c60)) 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') RULE: │ no non-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 '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep' RULE: │ check parent directory '/dev/pts/deep/down' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_restricted_recursive_negative_rule_eol_deep_selective DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep' RULE: │ check parent directory '/dev/pts/deep/down' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_restricted_non_recursive_negative_rule_deep_selective DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_restricted_non_recursive_negative_rule_eol_deep_selective DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev$' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/pts' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ check_selree: match result RESULT_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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: │ 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: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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') RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/' (0x55ff8c643c60)) 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/deep/down/0' RULE: ┴ result: RESULT_NO_RULE_MATCH INFO: test_f_type_restricted_deep_selective_rule DEBUG: created root node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev/.*/[0-9]' successful DEBUG: set NODE_HAS_SUB_RULES for node '/dev' (0x55ff8c641e40) DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/etc/deep/down/0' successful DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep/down' (0x55ff8c64c3a0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc/deep' (0x55ff8c64c2f0) DEBUG: set NODE_HAS_SUB_RULES for node '/etc' (0x55ff8c64c240) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/dev' (filetype: d) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/dev' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ directory node '/dev' (0x55ff8c641e40) 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) RULE: │ no non-recurse match found for parent directory '/dev' RULE: │ check parent directory '/dev/pts' for non-recurse match (node: '/dev' (0x55ff8c641e40)) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts' RULE: │ check parent directory '/dev/pts/deep' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep' RULE: │ check parent directory '/dev/pts/deep/down' for non-recurse match (node: '/dev' (0x55ff8c641e40)) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ no non-recurse match found for parent directory '/dev/pts/deep/down' RULE: │ check '/dev/pts/deep/down/0' (filetype: d) DEBUG: │ node: '/dev' skip equal list (reason: not on top level) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check '/etc' (filetype: d) DEBUG: │ directory node '/etc' (0x55ff8c64c240) 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) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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) RULE: │ no non-recurse match found for parent directory '/' RULE: │ check parent directory '/etc' for non-recurse match (node: '/etc' (0x55ff8c64c240)) DEBUG: │ directory node '/etc' (0x55ff8c64c240) 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) RULE: │ no non-recurse match found for parent directory '/etc' RULE: │ check parent directory '/etc/deep' for non-recurse match (node: '/etc/deep' (0x55ff8c64c2f0)) DEBUG: │ directory node '/etc/deep' (0x55ff8c64c2f0) 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) RULE: │ no non-recurse match found for parent directory '/etc/deep' RULE: │ check parent directory '/etc/deep/down' for non-recurse match (node: '/etc/deep/down' (0x55ff8c64c3a0)) DEBUG: │ directory node '/etc/deep/down' (0x55ff8c64c3a0) 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) RULE: │ no non-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 '/' (0x55ff8c643c60) DEBUG: JIT compilation for regex '/dev' successful DEBUG: set NODE_HAS_SUB_RULES for node '/' (0x55ff8c643c60) 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 '/' (0x55ff8c643c60) 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 non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/dev' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/sda' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/sda' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/0' (filetype: b) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/dev/pts/deep/down/0' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/dev/pts/deep/down/0' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc' (filetype: d) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_NEGATIVE_PARENT_MATCH (256) for '/etc' RULE: ┴ result: RESULT_NEGATIVE_PARENT_MATCH RULE: ┬ check '/etc/deep/down/0' (filetype: f) RULE: │ check parent directory '/' for non-recurse match (node: '/' (0x55ff8c643c60)) DEBUG: │ directory node '/' (0x55ff8c643c60) 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_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 (0x7ffcd67f1eb0) DEBUG: > copy hashsums from md_container (0x7ffcd67f1eb0) DEBUG: > free md_container (0x7ffcd67f1eb0) DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0x7ffcd67f1eb0) DEBUG: > copy hashsums from md_container (0x7ffcd67f1eb0) DEBUG: > free md_container (0x7ffcd67f1eb0) DEBUG: > initialized md_container: md5+sha1+rmd160+gost+sha256+sha512+stribog256+stribog512+sha512_256+sha3_256+sha3_512 (0x7ffcd67f1eb0) DEBUG: > copy hashsums from md_container (0x7ffcd67f1eb0) DEBUG: > free md_container (0x7ffcd67f1eb0) 100%: Checks: 166, Failures: 0, Errors: 0 PASS: check_aide ============= 1 test passed ============= make[3]: Leaving directory '/build/reproducible-path/aide-0.19.2' make[2]: Leaving directory '/build/reproducible-path/aide-0.19.2' make[1]: Leaving directory '/build/reproducible-path/aide-0.19.2' 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.2' dh_auto_install make -j42 install DESTDIR=/build/reproducible-path/aide-0.19.2/debian/tmp AM_UPDATE_INFO_DIR=no make[2]: Entering directory '/build/reproducible-path/aide-0.19.2' make install-am make[3]: Entering directory '/build/reproducible-path/aide-0.19.2' make[4]: Entering directory '/build/reproducible-path/aide-0.19.2' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19.2/debian/tmp/usr/bin' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19.2/debian/tmp/usr/share/man/man1' /usr/bin/mkdir -p '/build/reproducible-path/aide-0.19.2/debian/tmp/usr/share/man/man5' /usr/bin/install -c aide '/build/reproducible-path/aide-0.19.2/debian/tmp/usr/bin' /usr/bin/install -c -m 644 doc/aide.conf.5 '/build/reproducible-path/aide-0.19.2/debian/tmp/usr/share/man/man5' /usr/bin/install -c -m 644 doc/aide.1 '/build/reproducible-path/aide-0.19.2/debian/tmp/usr/share/man/man1' make[4]: Leaving directory '/build/reproducible-path/aide-0.19.2' make[3]: Leaving directory '/build/reproducible-path/aide-0.19.2' make[2]: Leaving directory '/build/reproducible-path/aide-0.19.2' dh_installsystemd --name=dailyaidecheck dh_installsystemd --name=dailyaidecheck-buildcache # this is needed until dh compat 14 dh_installsysusers make[1]: Leaving directory '/build/reproducible-path/aide-0.19.2' 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/x86_64-linux-gnu/libe2p.so.2 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libext2fs2t64 to: /lib/x86_64-linux-gnu/libe2p.so.2.usr-is-merged dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'aide-dbgsym' in '../aide-dbgsym_0.19.2-2_amd64.deb'. dpkg-deb: building package 'aide-common' in '../aide-common_0.19.2-2_all.deb'. dpkg-deb: building package 'aide-dynamic' in '../aide-dynamic_0.19.2-2_amd64.deb'. dpkg-deb: building package 'aide' in '../aide_0.19.2-2_amd64.deb'. dpkg-genbuildinfo --build=binary -O../aide_0.19.2-2_amd64.buildinfo dpkg-genchanges --build=binary -O../aide_0.19.2-2_amd64.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: not including original 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/922486 and its subdirectories I: Current time: Sat Oct 10 06:46:57 -12 2026 I: pbuilder-time-stamp: 1791658017 Sun Sep 7 12:24:00 UTC 2025 I: 1st build successful. Starting 2nd build on remote node ionos11-amd64.debian.net. Sun Sep 7 12:24:00 UTC 2025 I: Preparing to do remote build '2' on ionos11-amd64.debian.net. Sun Sep 7 12:24:59 UTC 2025 I: Deleting $TMPDIR on ionos11-amd64.debian.net. Sun Sep 7 12:25:00 UTC 2025 I: aide_0.19.2-2_amd64.changes: Format: 1.8 Date: Fri, 05 Sep 2025 08:00:24 +0200 Source: aide Binary: aide aide-common aide-dbgsym aide-dynamic Architecture: all amd64 Version: 0.19.2-2 Distribution: unstable 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.2-2) unstable; urgency=medium . * new rules: * 31_aide_cryptsetup * 31_aide_postgresql * 31_aide_systemd_tmpfiles * 31_aide_valkey * update rules * 10_aide_bits * 10_aide_dateformats * 11_aide_dateformats_cury * 31_aide_apt-cacher-ng * 31_aide_console-setup * 31_aide_dehydrated * 31_aide_dokuwiki * 31_aide_fwupd * 31_aide_gnupg * 31_aide_lighttpd * 31_aide_mariadb * 31_aide_run_systemd_netif * 31_aide_schroot * 31_aide_ssh-server * 31_aide_systemd_sessions * 31_aide_udev * 31_aide_dehydrated * 31_aide_samba * 31_aide_spamassassin * 31_aide_postgresql. Thanks to Anton Shestakov * remove obsolete 31_aide_postgresql-15 Checksums-Sha1: 5bf3072e0e8e96549358215793a28a8132074699 121132 aide-common_0.19.2-2_all.deb 4d1ca5dac05c69490864222e02f27c81a1674e82 218168 aide-dbgsym_0.19.2-2_amd64.deb 018bd811205ef06fee94aef7b0ad22f55acb63bc 35476 aide-dynamic_0.19.2-2_amd64.deb 3528852726141f3d60af87f039f43a8e797d5e6d 6305 aide_0.19.2-2_amd64.buildinfo fb4d507cae8d80982a8a68ef66188769be8bba84 148084 aide_0.19.2-2_amd64.deb Checksums-Sha256: 2cb1d65c1e4cfd6343f76a8f0c5d28ecb89927648fce3cd9c74a97c23ec31792 121132 aide-common_0.19.2-2_all.deb 0cc0b4452f92072267ff2c3fce5f3c4d791fbc074a19d4c636a7fbc1978d3494 218168 aide-dbgsym_0.19.2-2_amd64.deb 21757bfd3e50c61a24d270992ba72b4bf7a6749bc549ded1750742751798ca24 35476 aide-dynamic_0.19.2-2_amd64.deb 7bceb45d3ec9a7824eb791c1f39534d559e1a0d69ec5da791f5f7662dd47d559 6305 aide_0.19.2-2_amd64.buildinfo 824fff531846acb5eaccecdf9d36bb6aa68bcf63eb229a75b1b6ecde877f1312 148084 aide_0.19.2-2_amd64.deb Files: 2db895bfc5d909acf1925ccb6907a34e 121132 admin optional aide-common_0.19.2-2_all.deb 442e4195ac0f1bacb1fce86985e11b8a 218168 debug optional aide-dbgsym_0.19.2-2_amd64.deb 1a073289670b15191c67627dcd8ed2c5 35476 oldlibs optional aide-dynamic_0.19.2-2_amd64.deb 92c2086d02d74fd5a948f97368a4964e 6305 admin optional aide_0.19.2-2_amd64.buildinfo 4fd022d55642b415a265c29260d429e4 148084 admin optional aide_0.19.2-2_amd64.deb Sun Sep 7 12:25:00 UTC 2025 I: diffoscope 305 will be used to compare the two builds: Running as unit: rb-diffoscope-amd64_6-56848.service; invocation ID: ac3dbab21e934fb08859dd02214366af # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.Kc6hN5lo/aide_0.19.2-2.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.Kc6hN5lo/aide_0.19.2-2.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.Kc6hN5lo/aide_0.19.2-2.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.Kc6hN5lo/b1/aide_0.19.2-2_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.Kc6hN5lo/b2/aide_0.19.2-2_amd64.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/SUCCESS Service runtime: 224ms CPU time consumed: 179ms Memory peak: 17.4M (swap: 0B) Sun Sep 7 12:25:01 UTC 2025 I: diffoscope 305 found no differences in the changes files, and a .buildinfo file also exists. Sun Sep 7 12:25:01 UTC 2025 I: aide from forky built successfully and reproducibly on amd64. Sun Sep 7 12:25:02 UTC 2025 I: Removing signed aide_0.19.2-2_amd64.buildinfo.asc files: removed './b1/aide_0.19.2-2_amd64.buildinfo.asc' removed './b2/aide_0.19.2-2_amd64.buildinfo.asc'