Diff of the two buildlogs: -- --- b1/build.log 2025-02-22 23:14:44.947978340 +0000 +++ b2/build.log 2025-02-22 23:20:07.461427520 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Mar 27 17:29:40 -12 2026 -I: pbuilder-time-stamp: 1774675780 +I: Current time: Sun Feb 23 13:14:47 +14 2025 +I: pbuilder-time-stamp: 1740266087 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -35,52 +35,84 @@ dpkg-source: info: applying 0012-Relax-version-constraint-on-sqlite3-gem.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2459935/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3281513/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Feb 22 23:14 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/3281513/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3281513/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='7f593b1bdec94c44b652ffea746c3242' - 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='2459935' - PS1='# ' - PS2='> ' + INVOCATION_ID=0750112e25f54706a452e937dbe26a5b + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=3281513 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.P7wzkhKR/pbuilderrc_i9cl --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.P7wzkhKR/b1 --logfile b1/build.log schleuder_5.0.0-4.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.P7wzkhKR/pbuilderrc_0gja --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.P7wzkhKR/b2 --logfile b2/build.log schleuder_5.0.0-4.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2459935/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3281513/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -93,7 +125,7 @@ Depends: debhelper-compat (= 13), gem2deb, procps, rake, puma, ruby-rackup, ruby-activerecord, ruby-bcrypt, ruby-charlock-holmes, ruby-database-cleaner, ruby-factory-bot, ruby-gpgme, ruby-mail, ruby-rack-test, ruby-rspec, ruby-sinatra, ruby-sinatra-contrib, ruby-sqlite3, ruby-thor, ruby-typhoeus, thin dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. -(Reading database ... 19922 files and directories currently installed.) +(Reading database ... 19972 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: @@ -348,10 +380,10 @@ Get: 190 http://deb.debian.org/debian trixie/main arm64 ruby-thor all 1.3.2-2 [49.3 kB] Get: 191 http://deb.debian.org/debian trixie/main arm64 ruby-typhoeus all 1.4.0-5 [36.4 kB] Get: 192 http://deb.debian.org/debian trixie/main arm64 thin arm64 1.8.2-3+b1 [60.7 kB] -Fetched 53.2 MB in 1s (95.5 MB/s) +Fetched 53.2 MB in 0s (168 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. -(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 ... 19922 files and directories currently installed.) +(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 ... 19972 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-1_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.2-1) ... Selecting previously unselected package libexpat1:arm64. @@ -364,7 +396,7 @@ Setting up libexpat1:arm64 (2.6.4-1) ... Setting up python3.13-minimal (3.13.2-1) ... Selecting previously unselected package python3-minimal. -(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 ... 20256 files and directories currently installed.) +(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 ... 20306 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_arm64.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. @@ -400,7 +432,7 @@ Unpacking libpython3-stdlib:arm64 (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... Selecting previously unselected package python3. -(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 ... 21266 files and directories currently installed.) +(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 ... 21316 files and directories currently installed.) Preparing to unpack .../000-python3_3.13.1-2_arm64.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package libproc2-0:arm64. @@ -979,8 +1011,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Sat Mar 28 05:30:41 UTC 2026. -Universal Time is now: Sat Mar 28 05:30:41 UTC 2026. +Local time is now: Sat Feb 22 23:15:10 UTC 2025. +Universal Time is now: Sat Feb 22 23:15:10 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up ruby-minitest (5.25.4-2) ... @@ -1153,7 +1185,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/schleuder-5.0.0/ && 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 > ../schleuder_5.0.0-4_source.changes +I: user script /srv/workspace/pbuilder/3281513/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/3281513/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/schleuder-5.0.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../schleuder_5.0.0-4_source.changes dpkg-buildpackage: info: source package schleuder dpkg-buildpackage: info: source version 5.0.0-4 dpkg-buildpackage: info: source distribution unstable @@ -1188,7 +1224,7 @@ dh_ruby --build dh_auto_test -O--buildsystem=ruby dh_ruby --test - rm -fr -- /tmp/dh-xdg-rundir-x0UFBf9F + rm -fr -- /tmp/dh-xdg-rundir-gmI2mD1_ create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=ruby dh_prep -O--buildsystem=ruby @@ -1335,736 +1371,736 @@ RUBYLIB=/build/reproducible-path/schleuder-5.0.0/debian/schleuder/usr/lib/ruby/vendor_ruby:. GEM_PATH=/build/reproducible-path/schleuder-5.0.0/debian/schleuder/usr/share/rubygems-integration/all:/build/reproducible-path/schleuder-5.0.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.3.0:/var/lib/gems/3.3.0:/usr/local/lib/ruby/gems/3.3.0:/usr/lib/ruby/gems/3.3.0:/usr/lib/aarch64-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/aarch64-linux-gnu/rubygems-integration/3.3.0 ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake /usr/bin/ruby3.3 -S rake -f debian/Rakefile db:create -Created database '/tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/test.sqlite3' +Created database '/tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/test.sqlite3' /usr/bin/ruby3.3 -S rake -f debian/Rakefile db:schema:load /usr/bin/ruby3.3 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --format documentation -Randomized with seed 56017 +Randomized with seed 13530 -Mail::Message - does not misclassify bounce spec/fixtures/mails/bounces/undeliverable_gmail.txt.eml as normal message - recognizes a sudo message with 'Auto-Submitted'-header NOT as automated message - recognizes bounce message subject using the bounce_email gem - recognizes a cron message with 'Auto-Submitted'-header NOT as automated message - does not misclassify normal message spec/fixtures/mails/not_bounces/tt_1234211024.txt.eml as bounce - does not misclassify bounce spec/fixtures/mails/bounces/malformed_bounce_01.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_11.txt.eml as normal message - adds list#internal_footer as last mime-part without changing its value - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_12_soft.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_07.txt.eml as normal message - does not misclassify normal message spec/fixtures/mails/not_bounces/tt_1234241664.txt.eml as bounce - does not misclassify normal message spec/fixtures/mails/not_bounces/tt_1234210666.txt.eml as bounce - does not misclassify bounce spec/fixtures/mails/bounces/tt_1234211929.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_01.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_16.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_17.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_02.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_1234211932.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_21.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_05.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_18.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_06.txt.eml as normal message - recognizes a message sent to listname-bounce@hostname as automated message - does not misclassify bounce spec/fixtures/mails/bounces/tt_1234177688.txt.eml as normal message - doesn't change the order of mime-parts - does not misclassify normal message spec/fixtures/mails/not_bounces/Bug_948981-_marked_as_pending_in_schleuder.eml as bounce - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_23.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_14.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_09.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_08.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_15.txt.eml as normal message - does not misclassify normal message spec/fixtures/mails/not_bounces/Bug_948982-_marked_as_pending_in_schleuder.eml as bounce - does not misclassify bounce spec/fixtures/mails/bounces/tt_1234241665.txt.eml as normal message - adds list#public_footer as last mime-part without changing its value - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_22.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_20.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_1234210655.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_13.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_19.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_1234175799.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_24.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_03.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_04.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_1234285532.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_10.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/unknown_code_bounce_01.txt.eml as normal message - recognizes a Jenkins message with 'Auto-Submitted'-header NOT as automated message - does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_25.txt.eml as normal message - does not misclassify normal message spec/fixtures/mails/not_bounces/Bug_948980-_marked_as_pending_in_schleuder.eml as bounce - verifies an encapsulated (signed-then-encrypted) message - does not misclassify bounce spec/fixtures/mails/bounces/tt_1234211357.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_1234285668.txt.eml as normal message - does not misclassify bounce spec/fixtures/mails/bounces/tt_1234211931.txt.eml as normal message - .keywords - takes the whole rest of the body as keyword argument if blank lines are present - stops looking for keywords when the first line is already email content - drops multiple empty lines between keywords and content - drops empty lines in keyword arguments parsing - stops looking for keywords when already the first line is blank followed by email content - reads multiple lines as keyword arguments - splits lines into words and downcases them in keyword arguments - ignores empty lines before keywords - stops looking for keywords when a blank line that is not followed by another keyword is met - makes a pseudo header - that a line with less than 76 gets wrapped - that a multiline with less than 76 get wrapped correctly on the first line - with key / value - that single multiline are getting indented - with empty value - without value - that is getting wrapped - that a multiline with less than 76 get wrapped correctly on the first line and the following lines - that multiline are getting wrapped - #add_subject_prefix! - adds a configured subject prefix - does not add a subject prefix if already present - adds a configured subject prefix without subject - -Schleuder::Filters::Runner - is expected to respond to #run - loading filters - loads custom filters from filters_dir and sorts them in, ignores filter not following convention - loads custom filters from filters_dir even with non-2-digit priority - loads filters from built-in filters_dir sorts them - loads custom filters from filters_dir and sorts them in with missing dir - #run - stops on a StandardError and returns error even on headers match - runs the filters - stops on a StandardError and returns error - stops on a StandardError and returns error even with bounces_drop_all - -lists via api - correctly finds a list by email-address that starts with a number - creates a list - shows a list - -keys via api - import - does list keys with authentication - returns json with empty array in case of useless input - returns json with key details about imported keys - doesn't import keys without authentication - export - doesn't export keys without authentication - does list keys with authentication - delete - does delete keys with authentication - doesn't delete keys without authentication - a key with broken utf8 in uid - does add key - already imported - does list this key - does delete key - does get key - check - does check keys with authorization - doesn't check keys without authentication - list - does list keys with authentication - doesn't list keys without authentication - -Schleuder::KeywordHandlers::Base - provides methods to register keywords - stores mail, list and arguments as instance variables - -someone sends an email to a listname-dash-address - forwards the message to the admins if extension is -bounce - forwards the message to the admins if extension is -bounce and it's a real bounce mail - sends the list's key as reply to -sendkey - forwards the message to the admins if extension is -owner - -GPGME::Key - #summary - displays the expected attributes for an expiring key - displays the expected attributes for an expired key - displays the expected attributes for a revoked key - displays the expected attributes for a key that's not capable of encryption - displays the expected basic attributes - #minimal - returns a minimal key - .valid_fingerprint? - valid fingerprints - accepts 59C71FB38AEE22E091C78259D06350440F759BD3 as a valid fingerprint - accepts 0x59C71FB38AEE22E091C78259D06350440F759BD3 as a valid fingerprint - accepts 59C71FB38AEE22E091C78259D0635044 as a valid fingerprint - accepts 0x59C71FB38AEE22E091C78259D0635044 as a valid fingerprint - invalid fingerprints - rejects Z9C71FB38AEE22E091C78259D0635044 as an invalid fingerprint - rejects 59C71FB38AEE22E091C78259D06350440F759BD as an invalid fingerprint - rejects 0x59C71FB38AEE22E091C78259D06350440F759B as an invalid fingerprint - rejects 59C71FB38AEE22E091C78259D06350440F759BD3A as an invalid fingerprint - rejects Z9C71FB38AEE22E091C78259D06350440F759BD3 as an invalid fingerprint - rejects Z9C71FB38AEE22E091C78259D0635044 as an invalid fingerprint - -Errors - ::KeywordAdminOnly shows sensible string in response to to_s() - ::MessageNotFromAdmin shows sensible string in response to to_s() - ::MessageUnsigned shows sensible string in response to to_s() - ::MessageTooBig shows sensible string in response to to_s() - ::KeyGenerationFailed shows sensible string in response to to_s() - ::MessageEmpty shows sensible string in response to to_s() - ::MessageUnauthenticated shows sensible string in response to to_s() - ::TooManyKeys shows sensible string in response to to_s() - ::DecryptionFailed shows sensible string in response to to_s() - ::LoadingListSettingsFailed shows sensible string in response to to_s() - ::ListdirProblem shows sensible string in response to to_s() - ::KeyAdduidFailed shows sensible string in response to to_s() - ::ListNotFound shows sensible string in response to to_s() - ::MessageUnencrypted shows sensible string in response to to_s() - ::MessageSenderNotSubscribed shows sensible string in response to to_s() - -cli - #check_keys - warns about file system permissions if it was run as root - #refresh_keys - updates keys from the keyserver - reports errors from refreshing keys - warns about file system permissions if it was run as root - updates keys from the keyserver for only a specific list - #commands - exits with a status code of 1 in case the command is not implemented - -Schleuder::Runner - after keyword parsing - falls back to default charset per RFC if none is set - falling back works also with non-ascii content - #run - injects pseudoheaders appropriately into an unsigned thunderbird-multipart/alternative-message - does not throw an error on emails with large first mime-part - does not throw an error on emails with broken utf-8 - delivers a signed error message if a subscription's key is expired on a encrypted-only list - delivers a signed error message if a subscription's key is not available on a encrypted-only list - does not throw an error on encrypted but unsigned emails that contain a forwarded encrypted email - injects pseudoheaders appropriately into a signed multipart/alternative-message (thunderbird+enigmail-1.9) - does not throw an error on emails that contain other gpg keywords - does not throw an error on emails with an attached pgp key as application/octet-stream - Quoted-Printable encoding - is handled properly in encrypted emails - is handled properly in encrypted+signed emails - is handled properly in cleartext emails - with bounces_drop_all set to true - notifies admins about bounces when bounces_notify_admins is set to true - drops all bounces when bounces_notify_admins is set to false - with a plain text message - does not include the public_footer - contains the Autocrypt header if include_autocrypt_header is set to true - contains the list headers if include_list_headers is set to true - does not contain the Autocrypt header if include_autocrypt_header is set to false - does keep the Message-Id as configured - contains the specified pseudoheaders in the correct order - delivers the incoming message - does not deliver content if send_encrypted_only is set to true - has the correct headerlines - doesn't have unwanted headerlines from the original message - doesn't leak the Message-Id as configured - includes the internal_footer - contains the open pgp header if include_openpgp_header is set to true - with bounces_drop_all set to false - bounces and notifies admins about bounces when bounces_notify_admins is set to true - bounces and does not notify admins if bounces_notify_admins is set to false - mails not encrypted to the list key - handles a mail which was encrypted to an absent key and returns DecryptionFailed error - handles a mail containing PGP-garbage and returns DecryptionFailed error - handles a mail which was encrypted to a passphrase and returns DecryptionFailed error - -Schleuder::ListBuilder - creates a new, valid list - creates a listdir for the list - creates a list-key with all required UIDs - returns an error-message if given an invalid email-address with a space - subscribes the adminaddress and ignores the adminfingerprint if an adminkey was given - returns an error-message if given an invalid email-address - subscribes the adminaddress and imports the adminkey - subscribes the adminaddress and respects the given adminfingerprint - -authorization via api - blocks un-authorized access to other URLs - allows authorized access - allows un-authorized access to /status.json - -Schleuder::KeyFetcher - #fetch - fetches one key by fingerprint from VKS if vks_keyserver is set - reports an error if both, vks_keyserver and sks_keyserver, are blank - reports an error from trying to fetch an URL that doesn't exist - fetches one key by fingerprint from SKS if vks_keyserver is blank - reports an error from trying to import non-key-material - fetches one key by email from SKS if vks_keyserver is blank - fetches one key from a good URL - fetches one key by email from VKS if vks_keyserver is set - reports the returned body content when receiving an unexpected HTTP status from the server - -Schleuder::Subscription - is expected to respond to #list_id - has a valid factory - is expected to respond to #email - is invalid if delivery_enabled is nil - formats email address when email begins with a space - removes whitespaces and 0x from the fingerprint - is valid when fingerprint is nil - is invalid when email is nil - is expected to respond to #fingerprint - downcases all letters of an email address - is invalid when email is blank - is expected to respond to #admin - is invalid when fingerprint contains invalid characters - is invalid when email does not contain an @ - is invalid when list_id is blank - is valid when fingerprint is empty - is invalid if admin is nil - is invalid if the given email is already subscribed for the list - is expected to respond to #delivery_enabled - is invalid if admin is blank - is invalid if delivery_enabled is blank - #fingerprint - transforms the fingerprint to upper case +Schleuder::KeywordHandlers::SignThis + responds to the configured keyword method + signs attachment (even if a body is present) + signs body content if no attachments are present user sends keyword - x-subscribe without attributes, but with spaces-separated fingerprint - x-resend-cc-encrypted-only to 3 addresses with one missing keys - x-resend with invalid recipient - x-set-fingerprint with not-subscribed email-address and valid fingerprint - x-resend-encrypted-only with expired key - x-list-subscriptions without arguments but with admin-notification - x-list-keys with one argument - x-unset-fingerprint with not-subscribed email-address - x-fetch-key without arguments - x-set-fingerprint with own email-address and valid, spaces-separated fingerprint - x-unset-fingerprint with own email-address as admin but without force + x-subscribe with attributes (first one 'false') and spaces-separated fingerprint + resend returns an error about wrong arguments if email content got into the arguments due to no blank line x-subscribe without arguments - x-set-fingerprint with other email-address and valid fingerprint - x-fetch-key with email address - x-resend does not include internal_footer - x-sign-this with inline text - x-resend-encrypted-only with matching key - x-resend with utf-8 body and umlauts - x-subscribe with one attribute and spaces-separated fingerprint - x-get-version x-subscribe with attributes - x-fetch-key with fingerprint - x-list-key with arbitrary email-sub-string - x-get-key with valid argument - x-subscribe with attributes and spaces-separated fingerprint - x-subscribe with invalid arguments - x-unsubscribe doesn't unsubscribe last admin - x-list-subscriptions with non-matching argument - x-list-keys without arguments - x-resend-cc to 2 addresses with missing keys - x-set-fingerprint with other email-address and valid fingerprint as non-admin - x-fetch-key with fingerprint of unchanged key + x-attach-listkey + x-list-keys with two arguments x-fetch-key with invalid input - x-unset-fingerprint with other email-address as admin - x-fetch-key with invalid URL - x-set-fingerprint with email-address but without valid fingerprint - x-subscribe without attributes - x-resend-cc-encrypted-only to 2 addresses with one missing keys - x-resend-cc to 2 addresses with one missing keys - x-resend with admin-notification and admin has delivery disabled - x-unset-fingerprint with own email-address as admin and force - x-set-fingerprint without email-address and with valid fingerprint - x-resend-cc-encrypted-only to 2 addresses with missing keys - x-resend-encrypted-only with two matching keys, one of which is expired - x-list-key with prefixed fingerprint - x-resend-cc-encrypted-only with matching key - x-set-fingerprint with own email-address and valid fingerprint x-subscribe with attributes (last one 'true') and spaces-separated fingerprint - x-unsubscribe with invalid argument - x-set-fingerprint with email-address but without fingerprint - x-set-fingerprint without email-address and with invalid fingerprint - x-attach-listkey x-unsubscribe - does not parse keywords once the mail body started - x-sign-this with attachments - x-fetch-key with URL - x-list-subscriptions without arguments - resend returns an error about wrong arguments if email content got into the arguments due to no blank line - x-unset-fingerprint with other email-address as non-admin - x-unsubscribe without argument + x-unset-fingerprint with not-subscribed email-address + x-resend with invalid recipient x-fetch-key with unknown email-address x-list-key with correctly prefixed email-sub-string + x-unset-fingerprint with other email-address as non-admin x-attach-listkey from Thunderbird with protected headers - x-get-logfile with error-level sends empty logfile + x-list-key with arbitrary email-sub-string + x-resend-cc-encrypted-only to 2 addresses with matching keys + x-unset-fingerprint with own email-address as admin but without force + x-set-fingerprint with email-address but without fingerprint + x-set-fingerprint without email-address and with valid fingerprint + x-set-fingerprint without email-address and with invalid fingerprint + x-resend-cc to 2 addresses with one missing keys + x-resend-cc to 2 addresses with missing keys + x-set-fingerprint with not-subscribed email-address and valid fingerprint + x-subscribe with attributes and spaces-separated fingerprint + does not parse keywords once the mail body started + x-set-fingerprint without argument + x-subscribe with invalid arguments + x-resend-encrypted-only with two matching keys, one of which is expired + x-subscribe without attributes, but with spaces-separated fingerprint + x-subscribe with one attribute and spaces-separated fingerprint + x-resend-encrypted-only with expired key + x-set-fingerprint with email-address but without valid fingerprint + x-resend-unencrypted with matching key x-get-logfile with debug level sends non-empty logfile - x-subscribe with attributes (first one 'false') and spaces-separated fingerprint + x-set-fingerprint with other email-address and valid fingerprint + x-resend with iso-8859-1 body + x-fetch-key without arguments + x-get-key with valid argument x-resend - x-set-fingerprint without argument - x-resend-cc-encrypted-only with expired key - x-list-subscriptions with matching argument - x-fetch-key with unknown fingerprint - x-list-keys with two arguments x-get-key with invalid argument - x-resend with iso-8859-1 body - x-resend-unencrypted with matching key - x-unset-fingerprint without argument + x-get-version + x-unsubscribe doesn't unsubscribe last admin + x-resend-cc-encrypted-only to 2 addresses with missing keys x-resend with admin-notification - x-get-version with delivery disabled + x-resend-encrypted-only with matching key + x-unsubscribe without argument + x-set-fingerprint with other email-address and valid fingerprint as non-admin + x-fetch-key with invalid URL + x-resend with utf-8 body and umlauts + x-set-fingerprint with own email-address and valid, spaces-separated fingerprint + x-fetch-key with email address + x-fetch-key with unknown fingerprint + x-list-subscriptions without arguments but with admin-notification + x-resend does not include internal_footer x-get-key with empty argument - x-resend-cc-encrypted-only to 2 addresses with matching keys + x-resend-cc-encrypted-only with matching key + x-list-subscriptions without arguments + x-resend-cc-encrypted-only to 3 addresses with one missing keys + x-sign-this with attachments + x-unset-fingerprint with other email-address as admin + x-list-key with prefixed fingerprint + x-unsubscribe with invalid argument + x-get-logfile with error-level sends empty logfile + x-unset-fingerprint without argument + x-list-subscriptions with matching argument + x-list-keys with one argument + x-sign-this with inline text + x-fetch-key with fingerprint of unchanged key + x-get-version with delivery disabled + x-list-keys without arguments + x-fetch-key with fingerprint + x-fetch-key with URL + x-resend with admin-notification and admin has delivery disabled + x-unset-fingerprint with own email-address as admin and force + x-subscribe without attributes + x-list-subscriptions with non-matching argument + x-resend-cc-encrypted-only with expired key + x-set-fingerprint with own email-address and valid fingerprint + x-resend-cc-encrypted-only to 2 addresses with one missing keys with broken utf8 in key - x-list-keys works x-add-key with inline key-material x-get-key with valid argument + x-list-keys works -status - returns status code 200 +Schleuder::KeywordHandlers::Base + provides methods to register keywords + stores mail, list and arguments as instance variables -user sends a plain text message - from thunderbird being signed-inline - from thunderbird being signed-mime - from thunderbird being plain +Schleuder::LoggerNotifications + notifies admins encryptedly if their key is usable + notifies admins of multiple text-messages + notifies admins in the clear if their key is unusable + includes a List-Id header in notification mails sent to admins + notifies admins of simple text-message + notifies admins of multiple text-messages and the original message + return path + sets superadmin + sets default superadmin Schleuder::Conf reads ERB code in config files -KeywordHandlersRunner - stores a keyword that was registered - returns an error message if keyword is configured as admin-only - does not require mandatory keywords if no keywords are present - rejects unknown keywords - notifies admins - loads additional keyword handlers - rejects X-LIST-NAME with mismatching argument - requires X-LIST-NAME +Errors + ::LoadingListSettingsFailed shows sensible string in response to to_s() + ::ListNotFound shows sensible string in response to to_s() + ::DecryptionFailed shows sensible string in response to to_s() + ::KeyAdduidFailed shows sensible string in response to to_s() + ::KeywordAdminOnly shows sensible string in response to to_s() + ::MessageUnencrypted shows sensible string in response to to_s() + ::MessageTooBig shows sensible string in response to to_s() + ::MessageUnauthenticated shows sensible string in response to to_s() + ::KeyGenerationFailed shows sensible string in response to to_s() + ::MessageUnsigned shows sensible string in response to to_s() + ::TooManyKeys shows sensible string in response to to_s() + ::MessageNotFromAdmin shows sensible string in response to to_s() + ::ListdirProblem shows sensible string in response to to_s() + ::MessageSenderNotSubscribed shows sensible string in response to to_s() + ::MessageEmpty shows sensible string in response to to_s() -user sends an encrypted message - from thunderbird being encrypted+signed-inline - from thunderbird being encrypted+signed-mime - from thunderbird being encrypted-inline - from thunderbird being encrypted-mime +Schleuder::Filters::Runner + is expected to respond to #run + loading filters + loads custom filters from filters_dir even with non-2-digit priority + loads custom filters from filters_dir and sorts them in with missing dir + loads custom filters from filters_dir and sorts them in, ignores filter not following convention + loads filters from built-in filters_dir sorts them + #run + stops on a StandardError and returns error even on headers match + stops on a StandardError and returns error even with bounces_drop_all + stops on a StandardError and returns error + runs the filters -user sends emails with different charsets - works with japanese_attachment_long_name - works with simple_jpiso2022 - works with simple_utf8 - works with simple_latin1 - works with japanese_shift_jis - works with japanese - works with simple_jis - works with japanese_attachment - works with signed_utf8 - works with thunderbird-multi-alt-html - works with japanese_iso_2022 - works with ks_c_5601-1987 +Mail::Message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_11.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_17.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_1234211932.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_04.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_06.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_1234211929.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_09.txt.eml as normal message + does not misclassify normal message spec/fixtures/mails/not_bounces/Bug_948982-_marked_as_pending_in_schleuder.eml as bounce + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_19.txt.eml as normal message + verifies an encapsulated (signed-then-encrypted) message + does not misclassify normal message spec/fixtures/mails/not_bounces/tt_1234241664.txt.eml as bounce + does not misclassify normal message spec/fixtures/mails/not_bounces/Bug_948980-_marked_as_pending_in_schleuder.eml as bounce + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_03.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/malformed_bounce_01.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_14.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_25.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_18.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_24.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_23.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_1234211931.txt.eml as normal message + does not misclassify normal message spec/fixtures/mails/not_bounces/tt_1234210666.txt.eml as bounce + recognizes a message sent to listname-bounce@hostname as automated message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_20.txt.eml as normal message + doesn't change the order of mime-parts + does not misclassify bounce spec/fixtures/mails/bounces/tt_1234285532.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_08.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_21.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_05.txt.eml as normal message + recognizes bounce message subject using the bounce_email gem + does not misclassify bounce spec/fixtures/mails/bounces/tt_1234175799.txt.eml as normal message + adds list#internal_footer as last mime-part without changing its value + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_02.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/unknown_code_bounce_01.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_22.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_1234210655.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_1234285668.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_13.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_1234177688.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_1234211357.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_16.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_10.txt.eml as normal message + recognizes a cron message with 'Auto-Submitted'-header NOT as automated message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_07.txt.eml as normal message + recognizes a Jenkins message with 'Auto-Submitted'-header NOT as automated message + does not misclassify normal message spec/fixtures/mails/not_bounces/Bug_948981-_marked_as_pending_in_schleuder.eml as bounce + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_01.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/tt_1234241665.txt.eml as normal message + adds list#public_footer as last mime-part without changing its value + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_15.txt.eml as normal message + recognizes a sudo message with 'Auto-Submitted'-header NOT as automated message + does not misclassify bounce spec/fixtures/mails/bounces/tt_bounce_12_soft.txt.eml as normal message + does not misclassify bounce spec/fixtures/mails/bounces/undeliverable_gmail.txt.eml as normal message + does not misclassify normal message spec/fixtures/mails/not_bounces/tt_1234211024.txt.eml as bounce + #add_subject_prefix! + does not add a subject prefix if already present + adds a configured subject prefix without subject + adds a configured subject prefix + makes a pseudo header + with empty value + that a multiline with less than 76 get wrapped correctly on the first line and the following lines + that is getting wrapped + that multiline are getting wrapped + that a line with less than 76 gets wrapped + that single multiline are getting indented + without value + with key / value + that a multiline with less than 76 get wrapped correctly on the first line + .keywords + ignores empty lines before keywords + drops multiple empty lines between keywords and content + drops empty lines in keyword arguments parsing + splits lines into words and downcases them in keyword arguments + takes the whole rest of the body as keyword argument if blank lines are present + reads multiple lines as keyword arguments + stops looking for keywords when a blank line that is not followed by another keyword is met + stops looking for keywords when already the first line is blank followed by email content + stops looking for keywords when the first line is already email content + +Schleuder::Http + uses a proxy if one is configured + +running filters + .key_auto_import_from_autocrypt_header + successfully validates a signature, whose previously unknown key is in the autocrypt-header + .key_auto_import_from_attachments + successfully validates a signature, whose previously unknown key is attached, from an encrypted+signed message + successfully validates a signature, whose previously unknown key is attached + .strip_html_from_alternative! + does NOT strip HTML-part from multipart/alternative-message that does NOT contain ascii-armored PGP-data + strips HTML-part from multipart/alternative-message that contains ascii-armored PGP-data + .fix_exchange_messages! + accepts an invalid pgp/mime Exchange message + accepts a valid plain-text message + .max_message_size + bounces to big mails Schleuder::List + is expected to respond to #headers_to_meta + is invalid if keywords_admin_only contains special characters is expected to respond to #keywords_admin_notify - is expected to respond to #receive_encrypted_only - is expected to respond to #keywords_admin_only - is invalid when fingerprint is blank + is invalid if bounces_drop_on_headers contains special characters + is invalid when email is nil + is invalid if internal_footer includes a non-printable character + is expected to respond to #include_openpgp_header + is invalid if subject_prefix_in contains a linebreak is invalid when fingerprint is nil + is invalid if send_encrypted_only is blank + is expected to respond to #send_encrypted_only + is invalid if deliver_selfsent is nil + is expected to respond to #subscriptions + is invalid if forward_all_incoming_to_admins is blank + is invalid if public_footer includes a non-printable character + is invalid if max_message_size_kb is 0 + is expected to respond to #subject_prefix_out + is expected to respond to #receive_authenticated_only + is invalid if receive_encrypted_only is nil + is invalid if keywords_admin_notify contains special characters + is invalid if include_list_headers is blank + is invalid if subject_prefix_out contains a linebreak + is expected to respond to #public_footer is expected to respond to #openpgp_header_preference - is expected to respond to #key_auto_import_from_email - is expected to respond to #subject_prefix_in + is expected to respond to #logfiles_to_keep + is expected to respond to #receive_signed_only + is expected to respond to #receive_encrypted_only + is valid if subject_prefix is nil is expected to respond to #include_list_headers - is expected to respond to #max_message_size_kb - is invalid if include_list_headers is blank - is invalid if receive_authenticated_only is blank - is invalid if receive_authenticated_only is nil - is invalid when fingerprint contains invalid characters + is invalid if receive_admin_only is nil is invalid if receive_from_subscribed_emailaddresses_only is blank - is expected to respond to #bounces_drop_on_headers - is invalid if include_list_headers is nil - is valid if keywords_admin_notify does not contain special characters - is expected to respond to #set_reply_to_to_sender - is expected to respond to #headers_to_meta - is invalid if receive_from_subscribed_emailaddresses_only is nil - is invalid if set_reply_to_to_sender is blank - is expected to respond to #subject_prefix - is invalid if send_encrypted_only is nil - is expected to respond to #munge_from - is invalid if subject_prefix contains a linebreak - is expected to respond to #receive_from_subscribed_emailaddresses_only - is valid if headers_to_meta does not contain special characters - is invalid if logfiles_to_keep is 0 - is invalid if deliver_selfsent is blank - is invalid if include_list_headers is blank - is expected to respond to #log_level - is invalid if bounces_notify_admins is blank + has a valid factory + is expected to respond to #email + is invalid if bounces_drop_all is blank is invalid if bounces_notify_admins is nil - is invalid if include_openpgp_header is blank - is invalid if bounces_drop_on_headers contains special characters - is expected to respond to #bounces_drop_all + is expected to respond to #language is invalid when email is blank + is invalid if include_list_headers is blank is expected to respond to #keep_msgid - is invalid if send_encrypted_only is blank - is invalid if receive_admin_only is nil - is invalid if set_reply_to_to_sender is nil - is invalid if include_list_headers is nil - is expected to respond to #logfiles_to_keep - is invalid if language is jp - is expected to respond to #subscriptions - is expected to respond to #send_encrypted_only - is invalid if headers_to_meta contains special characters - is invalid if bounces_drop_all is nil - is invalid when email is nil - is invalid if receive_signed_only is blank - is invalid if receive_encrypted_only is nil - is invalid if keep_msgid is nil + is expected to respond to #subject_prefix + is invalid if log_level is foobar is expected to respond to #receive_admin_only - is valid if subject_prefix is nil + is expected to respond to #munge_from + is valid if keywords_admin_notify does not contain special characters + is expected to respond to #key_auto_import_from_email + is invalid if send_encrypted_only is nil is invalid if receive_admin_only is blank - is expected to respond to #forward_all_incoming_to_admins - is invalid if keywords_admin_only contains special characters - is expected to respond to #bounces_notify_admins - is invalid if keep_msgid is blank - is valid if subject_prefix_in is nil - is invalid if internal_footer includes a non-printable character - is invalid if receive_encrypted_only is blank - is expected to respond to #subject_prefix_out - is invalid if public_footer includes a non-printable character - is valid if keywords_admin_only does not contain special characters + is invalid when fingerprint contains invalid characters + is expected to respond to #log_level + is invalid if keep_msgid is nil + is invalid if logfiles_to_keep is 0 + is expected to respond to #set_reply_to_to_sender exports the key with the given fingerprint - is invalid if include_openpgp_header is nil - is expected to respond to #public_footer - is invalid if openpgp_header_preference is foobar - is invalid if forward_all_incoming_to_admins is nil - is expected to respond to #receive_authenticated_only - is invalid if max_message_size_kb is 0 - is expected to respond to #receive_signed_only - is invalid if keywords_admin_notify contains special characters - is expected to respond to #internal_footer - is expected to respond to #include_openpgp_header - is invalid if bounces_drop_all is blank - is invalid if subject_prefix_in contains a linebreak - is invalid if forward_all_incoming_to_admins is blank + is invalid when fingerprint is blank is invalid when email contains a space - is expected to respond to #language - is invalid when email does not contain an @ is expected to respond to #deliver_selfsent - has a valid factory - is expected to respond to #email - is invalid if subject_prefix_out contains a linebreak + is invalid if receive_signed_only is blank + is expected to respond to #bounces_drop_on_headers + is expected to respond to #bounces_notify_admins + is invalid if forward_all_incoming_to_admins is nil + is invalid if include_openpgp_header is nil + is invalid if language is jp + is invalid if receive_encrypted_only is blank + is valid if headers_to_meta does not contain special characters + is invalid if bounces_drop_all is nil + is invalid if receive_from_subscribed_emailaddresses_only is nil + is expected to respond to #subject_prefix_in + is invalid if include_openpgp_header is blank + is invalid if receive_authenticated_only is blank + is invalid if subject_prefix contains a linebreak + is invalid if munge_from is nil + is expected to respond to #receive_from_subscribed_emailaddresses_only + is valid if keywords_admin_only does not contain special characters + is invalid if keep_msgid is blank + is expected to respond to #keywords_admin_only is invalid if receive_signed_only is nil is valid if subject_prefix_out is nil - is invalid if munge_from is nil + is expected to respond to #internal_footer + is invalid if deliver_selfsent is blank + is invalid if headers_to_meta contains special characters + is invalid if receive_authenticated_only is nil is invalid if munge_from is blank is expected to respond to #fingerprint - is invalid if log_level is foobar - is invalid if deliver_selfsent is nil + is invalid if include_list_headers is nil + is valid if subject_prefix_in is nil + is invalid if include_list_headers is nil + is invalid when email does not contain an @ + is expected to respond to #max_message_size_kb + is invalid if bounces_notify_admins is blank + is expected to respond to #forward_all_incoming_to_admins + is invalid if set_reply_to_to_sender is blank + is invalid if set_reply_to_to_sender is nil + is invalid if openpgp_header_preference is foobar + is expected to respond to #bounces_drop_all + .by_recipient + returns the list for a given address + #request_address + adds the request keyword to the email address + #subscribe + subscribes and does not set the fingerprint from key material containing no keys + subscribes and ignores a given fingerprint if key material is given, too + subscribes and ignores nil-values for admin and delivery_enabled + subscribes and sets the fingerprint from key material that contains exactly one key + subscribes and does not set the fingerprint from key material containing multiple keys + #send_to_subscriptions + sends the message to all subscribers but not the sender, if deliver_selfsent is false and the mail is correctly signed + sends the message to subscribers if deliver_selfsent is set to false + sends the message to all subscribers including the sender, if deliver_selfsent is false but the mail is not correctly signed + sends the message only to subscribers with available keys if send_encrypted_only is true, and a notification to the other subscribers + sends the message to all subscribers, in the clear if one's key is unusable, if send_encrypted_only is false + sends the message to all subscribers including the sender, if deliver_selfsent is true and the mail is correctly signed + sends the message to all subscribers + sends the message only to subscribers with usable keys if send_encrypted_only is true, and a notification to the other subscribers + #fetch_keys + fetches one key by email address + does not import non-self-signatures + fetches one key by URL + fetches one key by fingerprint + send_list_key_to_subscriptions + sends its key to all subscriptions + #gpg + sets the GNUPGHOME environment variable to the listdir + returns an instance of GPGME::Ctx + #secret_key + returns the secret key with the fingerprint of the list #check_keys + adds a message if a key is invalid adds a message if a key is disabled adds a message if a key is revoked adds a message if a key expires in two weeks or less - adds a message if a key is invalid - #refresh_keys - updates keys from the keyserver - does not import non-self-signatures - reports errors from refreshing keys - #key_minimal_base64_encoded - returns the key with the fingerprint of the list if no argument is given in an Autocrypt-compatible format - does not return the key with the fingerprint in an Autocrypt-compatible format if the argument given does not correspond to a key - #logger - calls the ListLogger + #bounce_address + adds the bounce keyword to the email address #set_reply_to_to_sender - does not set reply_to mail address when disabled + sets reply-to to senders from-address when enabled is disabled by default + does not set reply_to mail address when disabled prefers reply_to of the sender over from when existing - sets reply-to to senders from-address when enabled - #import_key - imports a given key - #admins - returns subscriptions of admin users #delete_key returns false if no key with the fingerprint was found deletes the key with the given fingerprint - #munge_from - is disabled by default - does not munge from address when disabled - sets from to munged version when enabled + #logfile + returns the logfile path #keys - returns an array of keys matching the given fingerprint returns an array with the keys matching the given bracketed email address returns an array with the keys matching the given email address it returns an array with the keys of the list - #fetch_keys - fetches one key by URL - fetches one key by fingerprint - fetches one key by email address - does not import non-self-signatures - #gpg - sets the GNUPGHOME environment variable to the listdir - returns an instance of GPGME::Ctx + returns an array of keys matching the given fingerprint + #sendkey_address + adds the sendkey keyword to the email address + #munge_from + does not munge from address when disabled + is disabled by default + sets from to munged version when enabled #to_s returns the email - .configurable_attributes - does not contain the attributes email and fingerprint - returns an array that contains the configurable attributes - send_list_key_to_subscriptions - sends its key to all subscriptions - #bounce_address - adds the bounce keyword to the email address - .by_recipient - returns the list for a given address - #fingerprint - transforms the fingerprint to upper case - removes whitespaces and 0x from the fingerprint + #logger + calls the ListLogger + #admins + returns subscriptions of admin users + #key_minimal_base64_encoded + returns the key with the fingerprint of the list if no argument is given in an Autocrypt-compatible format + does not return the key with the fingerprint in an Autocrypt-compatible format if the argument given does not correspond to a key #owner_address adds the owner keyword to the email address - #subscribe - subscribes and does not set the fingerprint from key material containing no keys - subscribes and ignores nil-values for admin and delivery_enabled - subscribes and ignores a given fingerprint if key material is given, too - subscribes and does not set the fingerprint from key material containing multiple keys - subscribes and sets the fingerprint from key material that contains exactly one key - #logfile - returns the logfile path - #secret_key - returns the secret key with the fingerprint of the list - #request_address - adds the request keyword to the email address + #refresh_keys + reports errors from refreshing keys + does not import non-self-signatures + updates keys from the keyserver #key returns the key with the fingerprint of the list - #send_to_subscriptions - sends the message to subscribers if deliver_selfsent is set to false - sends the message to all subscribers - sends the message only to subscribers with available keys if send_encrypted_only is true, and a notification to the other subscribers - sends the message to all subscribers including the sender, if deliver_selfsent is true and the mail is correctly signed - sends the message to all subscribers including the sender, if deliver_selfsent is false but the mail is not correctly signed - sends the message to all subscribers, in the clear if one's key is unusable, if send_encrypted_only is false - sends the message to all subscribers but not the sender, if deliver_selfsent is false and the mail is correctly signed - sends the message only to subscribers with usable keys if send_encrypted_only is true, and a notification to the other subscribers - #sendkey_address - adds the sendkey keyword to the email address + #import_key + imports a given key #export_key exports the key with the fingerprint of the list if no argument is given + .configurable_attributes + returns an array that contains the configurable attributes + does not contain the attributes email and fingerprint + #fingerprint + removes whitespaces and 0x from the fingerprint + transforms the fingerprint to upper case -Schleuder::KeywordHandlers::KeyManagement - registers keywords - .add_key - imports from attached quoted-printable key-material (as produced by Thunderbird 115) - imports a key from attached quoted-printable binary material - rejects garbage - imports a key from attached acsii-armored material - imports a key from attached binary material (without specified encoding) - imports from an inline mix of ascii-armored key and non-key material - updates a key - ignores body if an ascii-armored attachment is present - imports a key from attached explicitly base64-encoded binary material - imports a key from inline ascii-armored material - ignores arguments - imports from attached quoted-printable ascii-armored key-material - imports from attached quoted-printable binary key-material (as produced by Mutt 2.0.5) - .delete_key - returns a string as error message if input message has no content - deletes multiple keys that each distinctly match one argument - deletes a key that distinctly matches the argument - sends error message if no argument is given - deletes no key if the argument does not match +user sends emails with different charsets + works with japanese_shift_jis + works with japanese + works with japanese_attachment_long_name + works with japanese_iso_2022 + works with thunderbird-multi-alt-html + works with simple_jis + works with signed_utf8 + works with simple_utf8 + works with ks_c_5601-1987 + works with simple_latin1 + works with japanese_attachment + works with simple_jpiso2022 -version - returns the current schleuder version if authorized - does not return the current schleuder version if not authorized +status + returns status code 200 -Schleuder::Filters - .strip_html_from_alternative_if_keywords_present - does not choke on nor change a message without Content-Type-header - does NOT strip HTML-part from multipart/alternative-message that does NOT contain keywords - strips HTML-part from multipart/alternative-message that contains keywords - strips related-part from encapsulated multipart/alternative-part that contains keywords - .fix_exchange_messages - works with a text/plain message - fixes pgp/mime-messages that were mangled by Exchange - .strip_html_from_alternative - does not choke on nor change a message without Content-Type-header - strips HTML-part from multipart/alternative-message that contains ascii-armored PGP-data - does NOT strip HTML-part from multipart/alternative-message that does NOT contain ascii-armored PGP-data - .receive_from_subscribed_emailaddresses_only - does not reject a message with a non-subscribed address as From-header if list.receive_from_subscribed_emailaddresses_only is not set - does not reject a message with a subscribed address as From-header if list.receive_from_subscribed_emailaddresses_only is set - rejects a message with a non-subscribed address as From-header if list.receive_from_subscribed_emailaddresses_only is set - does not reject a message with a subscribed address as From-header with different letter case if list.receive_from_subscribed_emailaddresses_only is set - .key_auto_import_from_autocrypt_header - does not import key if sender address does not match key UID, regardless of Autocrypt addr attribute - imports key and reports new key - imports key and reports no change - imports key and reports the change - only imports the one key that matches the sender address if keydata contains more than one key - .key_auto_import_from_attachments - does not import key if sender address does not match key UID - does not import key if attachment has a different content-type than "application/pgp-keys" - imports key and reports the change - only imports the one key that matches the sender address if keydata contains more than one key - imports key and reports no change - imports key and reports new key +Schleuder::Subscription + is expected to respond to #email + is invalid when email is nil + is invalid if delivery_enabled is nil + is expected to respond to #delivery_enabled + is expected to respond to #fingerprint + is expected to respond to #admin + formats email address when email begins with a space + is invalid when list_id is blank + is invalid if delivery_enabled is blank + is invalid if the given email is already subscribed for the list + downcases all letters of an email address + is expected to respond to #list_id + is invalid if admin is blank + is invalid when email is blank + is invalid if admin is nil + is valid when fingerprint is empty + has a valid factory + is invalid when email does not contain an @ + removes whitespaces and 0x from the fingerprint + is invalid when fingerprint contains invalid characters + is valid when fingerprint is nil + #fingerprint + transforms the fingerprint to upper case -Schleuder::LoggerNotifications - notifies admins in the clear if their key is unusable - notifies admins of simple text-message - includes a List-Id header in notification mails sent to admins - notifies admins of multiple text-messages - notifies admins of multiple text-messages and the original message - notifies admins encryptedly if their key is usable - return path - sets superadmin - sets default superadmin +Schleuder::ListBuilder + subscribes the adminaddress and respects the given adminfingerprint + creates a new, valid list + creates a listdir for the list + returns an error-message if given an invalid email-address with a space + subscribes the adminaddress and ignores the adminfingerprint if an adminkey was given + returns an error-message if given an invalid email-address + subscribes the adminaddress and imports the adminkey + creates a list-key with all required UIDs -Schleuder::Http - uses a proxy if one is configured +user sends an encrypted message + from thunderbird being encrypted+signed-mime + from thunderbird being encrypted-mime + from thunderbird being encrypted+signed-inline + from thunderbird being encrypted-inline -subscription via api - subscribes an admin user with a truthy value - subscribes an user and unsets delivery flag - doesn't subscribe new member without authentication - unsubscribes members - subscribes an admin user - subscribes new member to a list +keys via api + import + returns json with key details about imported keys + returns json with empty array in case of useless input + doesn't import keys without authentication + does list keys with authentication + list + doesn't list keys without authentication + does list keys with authentication + check + does check keys with authorization + doesn't check keys without authentication + a key with broken utf8 in uid + does add key + already imported + does list this key + does get key + does delete key + delete + doesn't delete keys without authentication + does delete keys with authentication + export + does list keys with authentication + doesn't export keys without authentication a bounce message is received from bounce example -running filters - .max_message_size - bounces to big mails - .key_auto_import_from_attachments - successfully validates a signature, whose previously unknown key is attached - successfully validates a signature, whose previously unknown key is attached, from an encrypted+signed message - .key_auto_import_from_autocrypt_header - successfully validates a signature, whose previously unknown key is in the autocrypt-header - .fix_exchange_messages! - accepts an invalid pgp/mime Exchange message - accepts a valid plain-text message - .strip_html_from_alternative! - does NOT strip HTML-part from multipart/alternative-message that does NOT contain ascii-armored PGP-data - strips HTML-part from multipart/alternative-message that contains ascii-armored PGP-data +authorization via api + allows un-authorized access to /status.json + allows authorized access + blocks un-authorized access to other URLs protected subject + is included as mime-part in body recognizes keywords in mails with protected headers and empty subject - is included in mime-headers is not leaked - works with mutt protected headers don't block request-messages - is included as mime-part in body + works with mutt protected headers + is included in mime-headers + +version + does not return the current schleuder version if not authorized + returns the current schleuder version if authorized GPGME::Ctx - #normalize_key_identifier with bracketed email-address - #normalize_key_identifier with un-bracketed email-address - #find_keys with prefixed fingerprint - #find_keys with bracketed wrong email-address - #find_keys with un-marked sub-string - #find_keys with correctly marked sub-string - #normalize_key_identifier with some string - #find_keys with un-bracketed wrong email-address - #find_keys with un-bracketed email-address - #find_keys with bracketed email-address - #normalize_key_identifier with prefixed fingerprint #find_keys with correctly marked narrower sub-string + #find_keys with un-bracketed email-address #gpgcli returns correct data types - #find_keys without argument #keyimport + #keyimport with unusable data + #normalize_key_identifier with some string #normalize_key_identifier with URL - #find_keys with un-prefixed fingerprint + #normalize_key_identifier with prefixed fingerprint + #find_keys with un-marked sub-string + #normalize_key_identifier with bracketed email-address + #find_keys with correctly marked sub-string + #find_keys with bracketed wrong email-address #normalize_key_identifier with un-prefixed fingerprint - #keyimport with unusable data + #find_keys without argument + #find_keys with prefixed fingerprint + #find_keys with un-bracketed wrong email-address + #normalize_key_identifier with un-bracketed email-address + #find_keys with un-prefixed fingerprint + #find_keys with bracketed email-address -Schleuder::KeywordHandlers::SignThis - signs body content if no attachments are present - responds to the configured keyword method - signs attachment (even if a body is present) +lists via api + shows a list + correctly finds a list by email-address that starts with a number + creates a list + +Schleuder::Runner + after keyword parsing + falling back works also with non-ascii content + falls back to default charset per RFC if none is set + #run + does not throw an error on emails with an attached pgp key as application/octet-stream + does not throw an error on emails that contain other gpg keywords + injects pseudoheaders appropriately into an unsigned thunderbird-multipart/alternative-message + injects pseudoheaders appropriately into a signed multipart/alternative-message (thunderbird+enigmail-1.9) + does not throw an error on emails with large first mime-part + delivers a signed error message if a subscription's key is expired on a encrypted-only list + delivers a signed error message if a subscription's key is not available on a encrypted-only list + does not throw an error on emails with broken utf-8 + does not throw an error on encrypted but unsigned emails that contain a forwarded encrypted email + with a plain text message + delivers the incoming message + contains the open pgp header if include_openpgp_header is set to true + has the correct headerlines + doesn't leak the Message-Id as configured + does keep the Message-Id as configured + includes the internal_footer + contains the specified pseudoheaders in the correct order + doesn't have unwanted headerlines from the original message + contains the Autocrypt header if include_autocrypt_header is set to true + does not contain the Autocrypt header if include_autocrypt_header is set to false + does not deliver content if send_encrypted_only is set to true + contains the list headers if include_list_headers is set to true + does not include the public_footer + mails not encrypted to the list key + handles a mail containing PGP-garbage and returns DecryptionFailed error + handles a mail which was encrypted to a passphrase and returns DecryptionFailed error + handles a mail which was encrypted to an absent key and returns DecryptionFailed error + Quoted-Printable encoding + is handled properly in cleartext emails + is handled properly in encrypted emails + is handled properly in encrypted+signed emails + with bounces_drop_all set to true + notifies admins about bounces when bounces_notify_admins is set to true + drops all bounces when bounces_notify_admins is set to false + with bounces_drop_all set to false + bounces and does not notify admins if bounces_notify_admins is set to false + bounces and notifies admins about bounces when bounces_notify_admins is set to true + +cli + #commands + exits with a status code of 1 in case the command is not implemented + #refresh_keys + updates keys from the keyserver + warns about file system permissions if it was run as root + reports errors from refreshing keys + updates keys from the keyserver for only a specific list + #check_keys + warns about file system permissions if it was run as root + +someone sends an email to a listname-dash-address + forwards the message to the admins if extension is -bounce and it's a real bounce mail + sends the list's key as reply to -sendkey + forwards the message to the admins if extension is -bounce + forwards the message to the admins if extension is -owner + +KeywordHandlersRunner + returns an error message if keyword is configured as admin-only + loads additional keyword handlers + requires X-LIST-NAME + stores a keyword that was registered + rejects unknown keywords + rejects X-LIST-NAME with mismatching argument + does not require mandatory keywords if no keywords are present + notifies admins + +user sends a plain text message + from thunderbird being signed-inline + from thunderbird being signed-mime + from thunderbird being plain + +Schleuder::KeyFetcher + #fetch + fetches one key by email from VKS if vks_keyserver is set + reports an error from trying to fetch an URL that doesn't exist + fetches one key by email from SKS if vks_keyserver is blank + fetches one key by fingerprint from VKS if vks_keyserver is set + reports the returned body content when receiving an unexpected HTTP status from the server + fetches one key from a good URL + fetches one key by fingerprint from SKS if vks_keyserver is blank + reports an error from trying to import non-key-material + reports an error if both, vks_keyserver and sks_keyserver, are blank + +GPGME::Key + #summary + displays the expected attributes for a key that's not capable of encryption + displays the expected basic attributes + displays the expected attributes for a revoked key + displays the expected attributes for an expiring key + displays the expected attributes for an expired key + .valid_fingerprint? + invalid fingerprints + rejects 0x59C71FB38AEE22E091C78259D06350440F759B as an invalid fingerprint + rejects Z9C71FB38AEE22E091C78259D0635044 as an invalid fingerprint + rejects 59C71FB38AEE22E091C78259D06350440F759BD3A as an invalid fingerprint + rejects Z9C71FB38AEE22E091C78259D06350440F759BD3 as an invalid fingerprint + rejects Z9C71FB38AEE22E091C78259D0635044 as an invalid fingerprint + rejects 59C71FB38AEE22E091C78259D06350440F759BD as an invalid fingerprint + valid fingerprints + accepts 0x59C71FB38AEE22E091C78259D06350440F759BD3 as a valid fingerprint + accepts 59C71FB38AEE22E091C78259D06350440F759BD3 as a valid fingerprint + accepts 59C71FB38AEE22E091C78259D0635044 as a valid fingerprint + accepts 0x59C71FB38AEE22E091C78259D0635044 as a valid fingerprint + #minimal + returns a minimal key -Finished in 6 minutes 18 seconds (files took 2.39 seconds to load) +subscription via api + subscribes an admin user with a truthy value + doesn't subscribe new member without authentication + unsubscribes members + subscribes an admin user + subscribes an user and unsets delivery flag + subscribes new member to a list + +Schleuder::Filters + .strip_html_from_alternative + does NOT strip HTML-part from multipart/alternative-message that does NOT contain ascii-armored PGP-data + strips HTML-part from multipart/alternative-message that contains ascii-armored PGP-data + does not choke on nor change a message without Content-Type-header + .key_auto_import_from_autocrypt_header + imports key and reports new key + imports key and reports the change + does not import key if sender address does not match key UID, regardless of Autocrypt addr attribute + imports key and reports no change + only imports the one key that matches the sender address if keydata contains more than one key + .fix_exchange_messages + fixes pgp/mime-messages that were mangled by Exchange + works with a text/plain message + .strip_html_from_alternative_if_keywords_present + does not choke on nor change a message without Content-Type-header + does NOT strip HTML-part from multipart/alternative-message that does NOT contain keywords + strips related-part from encapsulated multipart/alternative-part that contains keywords + strips HTML-part from multipart/alternative-message that contains keywords + .receive_from_subscribed_emailaddresses_only + does not reject a message with a non-subscribed address as From-header if list.receive_from_subscribed_emailaddresses_only is not set + does not reject a message with a subscribed address as From-header if list.receive_from_subscribed_emailaddresses_only is set + rejects a message with a non-subscribed address as From-header if list.receive_from_subscribed_emailaddresses_only is set + does not reject a message with a subscribed address as From-header with different letter case if list.receive_from_subscribed_emailaddresses_only is set + .key_auto_import_from_attachments + does not import key if attachment has a different content-type than "application/pgp-keys" + only imports the one key that matches the sender address if keydata contains more than one key + does not import key if sender address does not match key UID + imports key and reports the change + imports key and reports no change + imports key and reports new key + +Schleuder::KeywordHandlers::KeyManagement + registers keywords + .add_key + imports a key from attached binary material (without specified encoding) + updates a key + imports from an inline mix of ascii-armored key and non-key material + imports a key from inline ascii-armored material + imports from attached quoted-printable binary key-material (as produced by Mutt 2.0.5) + imports a key from attached explicitly base64-encoded binary material + imports from attached quoted-printable ascii-armored key-material + rejects garbage + imports a key from attached quoted-printable binary material + imports from attached quoted-printable key-material (as produced by Thunderbird 115) + ignores arguments + imports a key from attached acsii-armored material + ignores body if an ascii-armored attachment is present + .delete_key + sends error message if no argument is given + deletes no key if the argument does not match + deletes a key that distinctly matches the argument + returns a string as error message if input message has no content + deletes multiple keys that each distinctly match one argument + +Finished in 4 minutes 29.1 seconds (files took 2.13 seconds to load) 583 examples, 0 failures -Randomized with seed 56017 +Randomized with seed 13530 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -2098,12 +2134,12 @@ install -p -m0644 ./man/schleuder-api-daemon.8 debian/schleuder/usr/share/man/man8/schleuder-api-daemon.8 install -m0755 -d debian/schleuder/usr/share/man/man8/ install -p -m0644 ./man/schleuder.8 debian/schleuder/usr/share/man/man8/schleuder.8 - man-recode --to-code UTF-8 --suffix .dh-new debian/schleuder/usr/share/man/man8/schleuder.8 man-recode --to-code UTF-8 --suffix .dh-new debian/schleuder/usr/share/man/man8/schleuder-api-daemon.8 - mv debian/schleuder/usr/share/man/man8/schleuder.8.dh-new debian/schleuder/usr/share/man/man8/schleuder.8 - chmod 0644 -- debian/schleuder/usr/share/man/man8/schleuder.8 + man-recode --to-code UTF-8 --suffix .dh-new debian/schleuder/usr/share/man/man8/schleuder.8 mv debian/schleuder/usr/share/man/man8/schleuder-api-daemon.8.dh-new debian/schleuder/usr/share/man/man8/schleuder-api-daemon.8 chmod 0644 -- debian/schleuder/usr/share/man/man8/schleuder-api-daemon.8 + mv debian/schleuder/usr/share/man/man8/schleuder.8.dh-new debian/schleuder/usr/share/man/man8/schleuder.8 + chmod 0644 -- debian/schleuder/usr/share/man/man8/schleuder.8 dh_installcron -O--buildsystem=ruby install -m0755 -d debian/schleuder/etc/cron.weekly install -p -m0755 debian/schleuder.cron.weekly debian/schleuder/etc/cron.weekly/schleuder @@ -2189,86 +2225,118 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/3281513/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3281513/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem W: Stray processes left from build: -* system-pbuilder-build-schleuder_5.0.0\x2d4-2459935.slice - Slice /system/pbuilder/build/schleuder_5.0.0-4/2459935 +* system-pbuilder-build-schleuder_5.0.0\x2d4-3281513.slice - Slice /system/pbuilder/build/schleuder_5.0.0-4/3281513 Loaded: loaded - Active: active since Fri 2026-03-27 17:29:46 -12; 7min ago - Tasks: 63 - Memory: 430.4M - CPU: 3min 32.145s - CGroup: /system.slice/system-pbuilder.slice/system-pbuilder-build.slice/system-pbuilder-build-schleuder_5.0.0\x2d4.slice/system-pbuilder-build-schleuder_5.0.0\x2d4-2459935.slice - `-run-rf0303eae810d46a8a7b442691b0c573d.scope - |-2511700 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list387 --use-standard-socket --daemon - |-2511829 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list389 --use-standard-socket --daemon - |-2511900 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list390 --use-standard-socket --daemon - |-2511947 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list391 --use-standard-socket --daemon - |-2511973 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list392 --use-standard-socket --daemon - |-2512667 gpg-agent --homedir /tmp/d20260328-2467965-poghrr --use-standard-socket --daemon - |-2512820 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list417 --use-standard-socket --daemon - |-2513036 gpg-agent --homedir /tmp/d20260328-2467965-i13964 --use-standard-socket --daemon - |-2513339 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list421 --use-standard-socket --daemon - |-2513374 gpg-agent --homedir /tmp/d20260328-2467965-it31h7 --use-standard-socket --daemon - |-2513530 gpg-agent --homedir /tmp/d20260328-2467965-e2rd3a --use-standard-socket --daemon - |-2513592 gpg-agent --homedir /tmp/d20260328-2467965-9g8vei --use-standard-socket --daemon - |-2513615 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list423 --use-standard-socket --daemon - |-2513641 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list429 --use-standard-socket --daemon - |-2513649 gpg-agent --homedir /tmp/d20260328-2467965-ykgep5 --use-standard-socket --daemon - |-2513674 gpg-agent --homedir /tmp/d20260328-2467965-xdurgw --use-standard-socket --daemon - |-2513683 gpg-agent --homedir /tmp/d20260328-2467965-uheend --use-standard-socket --daemon - |-2513699 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list431 --use-standard-socket --daemon - |-2513716 gpg-agent --homedir /tmp/d20260328-2467965-uuy0da --use-standard-socket --daemon - |-2513755 gpg-agent --homedir /tmp/d20260328-2467965-ki1j85 --use-standard-socket --daemon - |-2513781 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list435 --use-standard-socket --daemon - |-2513796 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list436 --use-standard-socket --daemon - |-2513827 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list437 --use-standard-socket --daemon - |-2513852 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list438 --use-standard-socket --daemon - |-2513880 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list439 --use-standard-socket --daemon - |-2513895 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list440 --use-standard-socket --daemon - |-2513911 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list441 --use-standard-socket --daemon - |-2513924 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list442 --use-standard-socket --daemon - |-2513953 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list443 --use-standard-socket --daemon - |-2514112 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list450 --use-standard-socket --daemon - |-2514193 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list451 --use-standard-socket --daemon - |-2514266 gpg-agent --homedir /tmp/d20260328-2467965-uperr9 --use-standard-socket --daemon - |-2514293 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list452 --use-standard-socket --daemon - |-2514308 gpg-agent --homedir /tmp/d20260328-2467965-v1u7ai --use-standard-socket --daemon - |-2514410 gpg-agent --homedir /tmp/d20260328-2467965-tm4jbv --use-standard-socket --daemon - |-2514440 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list453 --use-standard-socket --daemon - |-2514461 gpg-agent --homedir /tmp/d20260328-2467965-jd9zdw --use-standard-socket --daemon - |-2514522 gpg-agent --homedir /tmp/d20260328-2467965-56t31u --use-standard-socket --daemon - |-2514561 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list454 --use-standard-socket --daemon - |-2514572 gpg-agent --homedir /tmp/d20260328-2467965-n248sa --use-standard-socket --daemon - |-2514792 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list455 --use-standard-socket --daemon - |-2515256 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list456 --use-standard-socket --daemon - |-2515660 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list457 --use-standard-socket --daemon - |-2515826 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list458 --use-standard-socket --daemon - |-2515852 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list459 --use-standard-socket --daemon - |-2515895 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list460 --use-standard-socket --daemon - |-2515928 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list461 --use-standard-socket --daemon - |-2515961 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list462 --use-standard-socket --daemon - |-2516008 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/something --use-standard-socket --daemon - |-2516070 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list463 --use-standard-socket --daemon - |-2516135 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list466 --use-standard-socket --daemon - |-2516151 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list467 --use-standard-socket --daemon - |-2516170 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list468 --use-standard-socket --daemon - |-2516184 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list469 --use-standard-socket --daemon - |-2516197 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list471 --use-standard-socket --daemon - |-2516208 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list472 --use-standard-socket --daemon - |-2516215 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list473 --use-standard-socket --daemon - |-2516222 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list475 --use-standard-socket --daemon - |-2516233 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list477 --use-standard-socket --daemon - |-2516244 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list478 --use-standard-socket --daemon - |-2516258 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list480 --use-standard-socket --daemon - |-2516279 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list483 --use-standard-socket --daemon - `-2516289 gpg-agent --homedir /tmp/schleuder-923bad5cb8a93af0d66eb0ef5ad36425/example.org/list484 --use-standard-socket --daemon + Active: active since Sun 2025-02-23 13:14:53 +14; 5min ago + Tasks: 93 + Memory: 443.0M + CPU: 4min 31.107s + CGroup: /system.slice/system-pbuilder.slice/system-pbuilder-build.slice/system-pbuilder-build-schleuder_5.0.0\x2d4.slice/system-pbuilder-build-schleuder_5.0.0\x2d4-3281513.slice + `-run-r332529474294449d890e9f7e0087bfc8.scope + |-3354602 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list340 --use-standard-socket --daemon + |-3354615 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list341 --use-standard-socket --daemon + |-3354630 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list343 --use-standard-socket --daemon + |-3354644 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list344 --use-standard-socket --daemon + |-3354658 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list345 --use-standard-socket --daemon + |-3354672 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list347 --use-standard-socket --daemon + |-3354685 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list348 --use-standard-socket --daemon + |-3354706 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list351 --use-standard-socket --daemon + |-3354799 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list352 --use-standard-socket --daemon + |-3354901 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list353 --use-standard-socket --daemon + |-3355041 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list354 --use-standard-socket --daemon + |-3355207 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list355 --use-standard-socket --daemon + |-3355260 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list356 --use-standard-socket --daemon + |-3355321 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list357 --use-standard-socket --daemon + |-3355430 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list358 --use-standard-socket --daemon + |-3355519 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list359 --use-standard-socket --daemon + |-3355595 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list360 --use-standard-socket --daemon + |-3355785 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list361 --use-standard-socket --daemon + |-3355869 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list362 --use-standard-socket --daemon + |-3355935 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list363 --use-standard-socket --daemon + |-3355991 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list364 --use-standard-socket --daemon + |-3356044 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list365 --use-standard-socket --daemon + |-3356101 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list366 --use-standard-socket --daemon + |-3356161 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list367 --use-standard-socket --daemon + |-3356223 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list368 --use-standard-socket --daemon + |-3356289 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list369 --use-standard-socket --daemon + |-3356459 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list370 --use-standard-socket --daemon + |-3356533 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list371 --use-standard-socket --daemon + |-3356655 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list372 --use-standard-socket --daemon + |-3356816 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/superlist --use-standard-socket --daemon + |-3356961 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list373 --use-standard-socket --daemon + |-3357056 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list374 --use-standard-socket --daemon + |-3357140 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list375 --use-standard-socket --daemon + |-3357219 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list376 --use-standard-socket --daemon + |-3357302 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list377 --use-standard-socket --daemon + |-3357459 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list378 --use-standard-socket --daemon + |-3357620 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list379 --use-standard-socket --daemon + |-3358149 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list380 --use-standard-socket --daemon + |-3358202 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list381 --use-standard-socket --daemon + |-3358236 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list382 --use-standard-socket --daemon + |-3358273 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list383 --use-standard-socket --daemon + |-3358562 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list384 --use-standard-socket --daemon + |-3359852 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list386 --use-standard-socket --daemon + |-3360141 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list387 --use-standard-socket --daemon + |-3360154 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list388 --use-standard-socket --daemon + |-3360963 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list389 --use-standard-socket --daemon + |-3360997 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list390 --use-standard-socket --daemon + |-3361042 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list391 --use-standard-socket --daemon + |-3361082 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list392 --use-standard-socket --daemon + |-3361298 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list399 --use-standard-socket --daemon + |-3361353 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list400 --use-standard-socket --daemon + |-3361790 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list401 --use-standard-socket --daemon + |-3361875 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list402 --use-standard-socket --daemon + |-3361942 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list403 --use-standard-socket --daemon + |-3361960 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list405 --use-standard-socket --daemon + |-3361972 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list406 --use-standard-socket --daemon + |-3361986 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list408 --use-standard-socket --daemon + |-3361998 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list409 --use-standard-socket --daemon + |-3362020 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list412 --use-standard-socket --daemon + |-3362042 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list414 --use-standard-socket --daemon + |-3362059 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list415 --use-standard-socket --daemon + |-3362072 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list416 --use-standard-socket --daemon + |-3362139 gpg-agent --homedir /tmp/d20250222-3305896-mss4rp --use-standard-socket --daemon + |-3362159 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list429 --use-standard-socket --daemon + |-3362183 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list431 --use-standard-socket --daemon + |-3362208 gpg-agent --homedir /tmp/d20250222-3305896-ct9mvr --use-standard-socket --daemon + |-3362319 gpg-agent --homedir /tmp/d20250222-3305896-wbawna --use-standard-socket --daemon + |-3362380 gpg-agent --homedir /tmp/d20250222-3305896-60f93q --use-standard-socket --daemon + |-3362393 gpg-agent --homedir /tmp/d20250222-3305896-1o3s9i --use-standard-socket --daemon + |-3362417 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list437 --use-standard-socket --daemon + |-3362497 gpg-agent --homedir /tmp/d20250222-3305896-hu2d53 --use-standard-socket --daemon + |-3362509 gpg-agent --homedir /tmp/d20250222-3305896-blev4i --use-standard-socket --daemon + |-3362555 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list458 --use-standard-socket --daemon + |-3362630 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list462 --use-standard-socket --daemon + |-3362641 gpg-agent --homedir /tmp/d20250222-3305896-dzq2qo --use-standard-socket --daemon + |-3362699 gpg-agent --homedir /tmp/d20250222-3305896-85vesz --use-standard-socket --daemon + |-3362737 gpg-agent --homedir /tmp/d20250222-3305896-ge45wd --use-standard-socket --daemon + |-3362759 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list466 --use-standard-socket --daemon + |-3362828 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list467 --use-standard-socket --daemon + |-3362880 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list468 --use-standard-socket --daemon + |-3362945 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list469 --use-standard-socket --daemon + |-3362989 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list470 --use-standard-socket --daemon + |-3363033 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list471 --use-standard-socket --daemon + |-3363136 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list472 --use-standard-socket --daemon + |-3363181 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list473 --use-standard-socket --daemon + |-3363280 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list475 --use-standard-socket --daemon + |-3363327 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list476 --use-standard-socket --daemon + |-3363522 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list478 --use-standard-socket --daemon + |-3363606 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list479 --use-standard-socket --daemon + |-3363644 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list480 --use-standard-socket --daemon + |-3363702 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list481 --use-standard-socket --daemon + |-3363735 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list482 --use-standard-socket --daemon + `-3363825 gpg-agent --homedir /tmp/schleuder-8bd9042b3add4a90feada3fd854993cb/example.org/list484 --use-standard-socket --daemon -Mar 27 17:29:46 codethink03-arm64 systemd[1]: Created slice system-pbuilder-build-schleuder_5.0.0\x2d4-2459935.slice - Slice /system/pbuilder/build/schleuder_5.0.0-4/2459935. +Feb 23 13:14:53 codethink04-arm64 systemd[1]: Created slice system-pbuilder-build-schleuder_5.0.0\x2d4-3281513.slice - Slice /system/pbuilder/build/schleuder_5.0.0-4/3281513. I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/2459935 and its subdirectories -I: Current time: Fri Mar 27 17:37:43 -12 2026 -I: pbuilder-time-stamp: 1774676263 +I: removing directory /srv/workspace/pbuilder/3281513 and its subdirectories +I: Current time: Sun Feb 23 13:20:06 +14 2025 +I: pbuilder-time-stamp: 1740266406