zerotracepen (5.22)

  • Resolve "Upgrade to Tor Browser based on ESR 115.7" (zerotracepen/zerotracepen!1366)

    Closes issues:

    • Upgrade to Tor Browser based on ESR 115.7 (zerotracepen/zerotracepen#20060)

    Commits:

    • Fetch Tor Browser from our own archive
    • Upgrade Tor Browser to 13.0.9
    • replace bookworm-updates with bookworm-security and upgrade kernel to 6.1.69
      (zerotracepen/zerotracepen!1343)

      Closes issues:

      • Re-enable bookworm-security APT source (zerotracepen/zerotracepen#20010)
      • Upgrade to Linux 6.1.69 (DSA 5593-1) (zerotracepen/zerotracepen#20121)

      Commits:

      • replace bookworm-updates with bookworm-security and update kernel
    • htpdate: privacyinternational.org -> securitylab.amnesty.org (zerotracepen/zerotracepen!1370)

      Closes issues:

      Commits:

      • black reformatting
      • refer to design in source code
      • htpdate: privacyinternational.org -> securitylab.amnesty.org
    • Don't try to create a Persistent Storage on a device that already has 2
      partitions (zerotracepen/zerotracepen!1348)

      Closes issues:

      • Don't try to create a Persistent Storage on a device that already has 2
        partitions (zerotracepen/zerotracepen#20000)

      Commits:

      • Disable error prone Ruff rule
      • Revert error prone linting
      • Fix Ruff G004
      • Bring back type annotation lost by linting
      • Make indentation consistent
      • Simplify
      • Reformat with black
      • Fix logging level
      • Fix check for too many partitions
      • Remove unused import
      • Linting prompted by, and done by, ruff
      • Linting prompted by the ruff-changed-files CI job
      • Document limitation
      • Reformat with black
      • Explain the user that we can't create a Persistent Storage on a device that
        already has 2 partitions
      • Improve name of widget
      • Don't try to create a Persistent Storage on a device that already has 2
        partitions
      • Fix buggy refactoring
      • Reformat with black
      • refactor InvalidBootDeviceErrorType
      • Convey reason why the boot device is not supported from the tps backend to the
        frontend
    • Check and attempt to safely repair the Persistent Storage filesystem before
      mounting it (zerotracepen/zerotracepen!1351)

      Commits:

      • Reformat with black
      • Check and safely attempt to repair Persistent Storage filesystem before
        mounting it
    • Bugfix: Additional Software was sometimes left unconfigured after creating
      Persistent Storage (zerotracepen/zerotracepen!1350)

      Closes issues:

      • Additional Software sometimes left unconfigured after creating Persistent
        Storage (zerotracepen/zerotracepen#19926)

      Commits:

      • Bugfix: Additional Software was sometimes left unconfigured after creating
        Persistent Storage
    • Don't try to unlock or delete a Persistent Storage that's on a read-only USB
      stick (zerotracepen/zerotracepen!1349)

      Closes issues:

      • tpsd should not try to unlock or delete a Persistent Storage that's on a read-
        only USB stick (zerotracepen/zerotracepen#20024)

      Commits:

      • Simplify code
      • Fix ordering of widgets
      • Reformat with black
      • Lint
      • Implement updated UI phrasing
      • Lint
      • Let Ruff fix the issues that it reported and can fix itself
      • Don't try to delete a Persistent Storage that's on a read-only USB stick
      • tpsd: expose whether the Persistent Storage can be deleted
      • Welcome Screen: link to help when we don't allow unlocking Persistent Storage
        on a read-only device
      • Save UI file with current Glade
      • Simplify
      • Reformat with black
      • Lint files changed by this MR
      • Add missing space in log message
      • Let Ruff fix the issues that it reported and can fix itself
      • Welcome Screen: don't allow unlocking Persistent Storage on a read-only device
      • tps: identify when the device is read-only and we should not try to unlock it
      • Remove unused imports
    • Resolve "Test suite often fails to grabFocus of the Persistent Storage
      passphrase entry" (zerotracepen/zerotracepen!1345)

      Closes issues:

      • Test suite often fails to grabFocus of the Persistent Storage passphrase entry
        (zerotracepen/zerotracepen#20054)

      Commits:

      • Test suite: log when applying workaround for #20054
      • Test suite: revolutionize code readability thanks to RuboCop
      • Test suite: appease RuboCop
      • Add forgotten closing parenthesis
      • Test suite: improve method name
      • Test suite: prefix #20054 logging to make all of it easier to grep from
        debug.log
      • Test suite: attempt to detect and work around zerotracepen/zerotracepen#20054
      • Move variable to where it is used
    • onion-grater: only log dropped stream/circ events when debugging is enabled...
      (zerotracepen/zerotracepen!1344)

      Closes issues:

      • onion-grater's "dropped restricted circuit event" is spammy and leaky
        (zerotracepen/zerotracepen#20126)

      Commits:

      • onion-grater: only log dropped stream/circ events when debugging is enabled
        (refs: zerotracepen/zerotracepen#20126)
      • onion-grater: fix typo
    • tor-browser uses local documentation (zerotracepen/zerotracepen!1341)

      Closes issues:

      • Tor Browser should open documentation links from local website when offline
        (zerotracepen/zerotracepen#20095)

      Commits:

      • ruff --fix + black
      • avoid zerotracepen.net.attack.er sneaking in
      • skip offline warning when url has been resolved
      • disable doctest
      • black reformatting
      • less globals, easier testing
      • urls we can't resolve are passed through
      • check if link is to zerotracepen website
      • sane defaults
      • fix argument parsing
      • FIX leftover shell interpolation
      • tor-browser uses local documentation
      • tor-browser reimplemented in Python3
      • refactor zerotracepen-documentation
    • ruff works for feature/bookworm, too (zerotracepen/zerotracepen!1339)

      Closes issues:

      • ruff-changed-files false positives in GitLab CI:
        origin/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:?} is an unknown ref
        (zerotracepen/zerotracepen#20094)

      Commits:

      • make sure that the target branch is known
    • move actual URL outside of the translatable string (zerotracepen/zerotracepen!1337)

      Closes issues:

      • zerotracepen-report-disk-errors includes a translatable URLs to the Zero Trace Pen live website
        (zerotracepen/zerotracepen#20096)

      Commits:

      • Update POT file
      • move actual URL outside of the translatable string
    • Add wrote to device at speed MB/sec INFO log to clone_persistent_storage
      (zerotracepen/zerotracepen!1335)

      Closes issues:

      • Log wrote to device at MB/sec for clone Persistent Storage too
        (zerotracepen/zerotracepen#20092)

      Commits:

      • Only run clone_persistent_storage() method if requested. Fixes printing wrong
        write speed if Persistent Storage unlocked but unrequested.
      • Check write_size is not None or 0.0 before logging write speed.
      • refactor "wrote to device" into @log_write_speed() decorator
      • Rename get_persistent_storage_backup_size import and usage to match the new
        name from: https://gitlab.zerotracepen.boum.org/zerotracepen/zerotracepen/-
        /commit/8021cdae30af640537c4c234049b9d69b955f1cd?merge_request_iid=1335
      • fix wrong unit math should be Megabytes not Mebibytes
      • remove duplicated PERSISTENCE_DIR from config.py and import from zerotracepenlib.persistence instead.
      • rename: get_persistent_storage_backup_size() function to refer to the size of
        the backup / used space.
      • revert: "iff" was not a typo but an abbreviation that looks like one. Used full
        phrase for clarity.
      • switch to time.monotonic() which returns floating point seconds, remove unused
        datetime import
      • Move luks2 header size to function where it is used
      • Fix: use "s" as the symbol for "second" instead of "sec"
      • Add get_persistent_storage_size()
      • Add luks2_header_size and persistence_mountpoint keys
      • Add wrote to device at speed MB/sec INFO log to clone_persistent_storage
    • Allow Tor Browser to save files to Documents, Downloads, Music, Pictures,
      Videos and their subfolders (zerotracepen/zerotracepen!1333)

      Closes issues:

      • Allow Tor Browser to save files to Documents, Downloads, Music, Pictures,
        Videos and their subfolders (zerotracepen/zerotracepen#19255)

      Commits:

      • Make usages of "Bookmark" in the context unique.
      • Add set -u
      • Add set -u
      • Point submodule to the version with torbrowser-launcher!7 merged
      • fix paths to real binary.
      • Don't patch files if a simple hook is possible.
      • Make XDG dir tests passes.
      • make rubocop really happy.
      • Fix patches.
      • Run rubocop
      • Do file changes to xdg-user-dirs.desktop/user-dirs-update-gtk.desktop via
        patches.
      • The negative tests is failing, so removing it for the moment.
      • To select different desternation folders from bookmarks.
      • Make the tests for XDG User Dirs working.
      • Find the bookmarks an a German localized system.
      • Fix localized.feature tests.
      • don't ask the user to localize xdg user dirs.
      • Add autotests to make sure, we can use the XDG User Dirs correctly.
      • Make sure, that the xdg-user-dirs are not translated.
      • Update torbrowser-luncher Apparmor profile.
    • Fix Zero Trace Pen Cloner AttributeError: 'NoneType' object has no attribute 'props'
      (#18986) (zerotracepen/zerotracepen!1312)

      Closes issues:

      • Zero Trace Pen Cloner sometimes fails to format the newly created system partition
        (zerotracepen/zerotracepen#18986)

      Commits:

      • Remove useless @retry decorator
      • Fix typo
      • Remove retry decorator on non-idempotent method
      • Remove unused method
      • Remove unused method
      • Remove get_system_partition redundant for loop due to @retry decorator,
        remove some trailing white spaces
      • Change retry range from 10 to 11 so the last retry will be the 10th.
      • Fix: "No such interface" by adding @retry decorator function to problematic
        udisks methods closes #18986
      • Remove temporary debug print() statements
      • Set _get_object default prop='drive', use "block" arg for
        try_getting_udisks_object
      • add props param to _get_object so hasattr(obj, props) can be checked before
        return
      • Remove obsolete comment about 'NoneType' from old racy _get_object. New code
        raises exception.
      • Fix None object in unmount_device @ filesystem =
        self._get_object(udi).props.filesystem
      • Solves AttributeError: 'NoneType' object has no attribute 'props' (#18986)
    • Upgrade Thunderbird to 115.7