zerotracepen (4.22)

  • Upgrade Thunderbird to 78.13.0-1~deb10u1

    • Upgrade to Tor Browser 10.5.6 (78.14.0esr) (zerotracepen/zerotracepen!594)

      Commits:

      • Upgrade Tor Browser to 10.5.6-build2 (fixes: #18566)
    • Remove Prestera firmware, that's useless in the context of Zero Trace Pen
      (zerotracepen/zerotracepen!572)

      Commits:

      • Stop setting up a kernel module build environment during the images build
      • Remove Prestera firmware, that's useless in the context of Zero Trace Pen
    • Only allow typing 1 bridge (zerotracepen/zerotracepen!587)

      Commits:

      • Only allow typing 1 bridge
    • Don't pretend tor has bootstrapped when tor@default.service failed to start
      (zerotracepen/zerotracepen!585)

      Commits:

      • Don't pretend tor has bootstrapped when tor@default.service failed to start
    • Upgrade firmware-amd-graphics to 20210818-1 (zerotracepen/zerotracepen!582)

      Commits:

      • Install version 20210818-1 of packages built from src:firmware-nonfree
      • Enable the 18556-amd-gpu-firmware APT overlay (refs: #18556).
    • Ensure we use a working mirror to download automatic upgrades (zerotracepen/zerotracepen!581)

      Commits:

      • Update mirror-pool-dispatcher submodule
      • Allow the Upgrader to use tor, now needed by zerotracepen-transform-mirror-url for
        testing mirrors
      • many improvements to mirror-pool-dispatcher
      • FIX dependency for zerotracepen-transform-mirror-url
      • apply suggestion from mirror-pool-dispatcher!2
      • mirror-pool-dispatcher tests mirrors
    • Test suite: fix Pidgin scenarios with XMPP accounts on a server that requires
      going through the "Create New Room" UI (zerotracepen/zerotracepen!580)

      Closes issues:

      • Some Pidgin test suite scenarios fail when using XMPP accounts on a server that
        requires going through the "Create New Room" UI (zerotracepen/zerotracepen#18560)

      Commits:

      • Test suite: update expected Pidgin images
    • Test suite: fail if tor reports that DisableNetwork is an empty string
      (zerotracepen/zerotracepen!573)

      Commits:

      • Test suite: log and fail if tor reports that DisableNetwork is an empty string
    • Persistent Bridges, iteration 4: integrate bridges persistence in Tor
      Connection (zerotracepen/zerotracepen!543)

      Commits:

      • Tor Connection: remove visible border around scrolled window
      • Drop unneeded grep option
      • Test suite: be more defensive when interacting with toggle buttons
      • Test suite: disable step that does not reflect the current implementation
      • Roadmap--
      • Mention alternate implementation idea in comment
      • Fix typo in comment
      • Make checks closer to our needs
      • Move shell code from tca-portal to helper script
      • Make tca-portal helper script more generic
      • Tor Connection: when pre-filling bridges, adjust the verb from "Type in" to
        "Use"
      • Test suite: explain what labelee is
      • Test suite: adjust to current UI
      • TCA: fix display on low-height screen resolutions
      • Test suite: update expected UI text to match current implementation
      • TCA: correctly set the bridges persistence switch's initial state
      • TCA: adapt to new tca-portal API
      • TCA: remove unused imports
      • TCA: display error when enabling/disabling persistence failed
      • TCA: check success/failure of portal call when enabling/disabling persistence
      • Test suite: lint
      • Test suite: adjust strings to match current implementation
      • TCA: lock the UI and display a spinner while enabling/disabling persistence
      • TCA: add another keyboard accelerator
      • TCA: when toggling bridges persistence, wait the portal call to return a
        response
      • TCA: remove unused import
      • Change usages of call_async to new API
      • TCA: remove incorrect signal handling
      • TCA: actually enable/disable Tor bridges persistence when the user asks us to
      • TCA: display vertical scrollbar when contents does not fit
      • TCA: hide Network Monitor launcher
      • Test suite: use the Tor Connection UI to enable bridges persistence
      • TCA: add skeleton implementation for toggling bridges persistence on/off
      • TCA: draft bridges Glade UI
      • TCA: improve keyboard navigation
      • TCA: add accessibility relationships between a bunch of widgets
      • TCA: add debug output
      • TCA: move persistence detection to the wrapper script
      • TCA: avoid throwing an (invisible) KeyError exception on first launch
      • Lint.
    • Persistent Bridges, iteration 3: allow persisting bridges (zerotracepen/zerotracepen!539)

      Commits:

      • Test suite: lint, again
      • Test suite: adjust expected owner to actual implementation
      • TCA: check and save persistence status on startup
      • tca-portal: add commands to enable/disable persistence of Tor configuration
      • Test suite: mock functionality that's not implemented yet
      • Test suite: add step implementation
      • Test suite: disable incorrect step definition
      • Test suite: implement steps
      • Test suite: adjust to expected permissions of /var/lib/tca
      • Persistence setup: add support for disabling a preset non-interactively
      • Persistence setup: add a "Tor Bridges" feature
      • On shutdown, copy to Persistent Storage the Tor configuration that should now
        persist
      • Test suite: implement "I accept Tor Connection's offer to use my persistent
        bridges" step.
      • Test suite: implement "I choose to connect to Tor automatically" step.
      • Test suite: extend step to handle configuring persistent bridges.
      • TDD: add (unimplemented) steps for Tor bridges persistence
      • Test suite: simplify feature name
    • Persistent Bridges, iteration 2: use settings from tca.conf on first start
      (zerotracepen/zerotracepen!538)

      Commits:

      • Revert "Test suite: cope with current actual behavior"
      • TCA: rename method to reflect what it now does
      • TCA: on first run, pre-seed bridges UI state from configuration
      • TCA: add debug logging to help understand what configuration we've loaded
      • TCA: add debug output to help figure out whether we loaded tca.conf
      • TCA: fix loading an empty or invalid configuration file
      • TCA: on first start, load Tor connection configuration from tca.conf
    • Persistent Bridges, iteration 1: split transient / potentially persistent state
      (zerotracepen/zerotracepen!533)

      Commits:

      • Test suite: cope with current actual behavior
      • Test suite: adjust to actual implementation
      • TCA: don't save the default bridges to tca.conf
      • Test suite: fix buggy "tca.conf is empty" test
      • Make method name clearer and consistent with read_tca_state()
      • TCA: Rename method
      • Fix typo
      • TCA: Migrate transient state information to a dedicated file
      • TCA: Rename method
      • TCA: Refactoring (extract code to functions)
      • Test suite: Implement new steps
      • Test suite: lint
      • TDD: add (unimplemented) steps for the contents of tca.conf
      • TCA: Disable loading proxy settings from the configuration file
      • TCA: Set up, pass through, and inherit a new state file
      • TCA: Remove unused import
      • TCA: Drop unneeded call to expanduser()
      • TCA: Only save known-working Tor configuration to tca.conf
      • TCA: Minor refactoring (avoid having to reason about double-negations)
      • TCA: Make methods names more specific
    • Always start tor@default.service at boot, don't restart it after closing the
      Unsafe Browser (zerotracepen/zerotracepen!584)

      Commits:

      • Test suite: adjust to the fact tor@default.service is started during boot
      • Don't restart tor after exiting the Unsafe Browser
      • Always start tor@default.service at boot
    • Unsafe Browser: Only mention the Persistent Storage when there is one
      (zerotracepen/zerotracepen!583)

      Commits:

      • Unsafe Browser: Only mention the Persistent Storage when there is one
    • Fix running the test suite on sid (zerotracepen/zerotracepen!579)

      Commits:

      • Drop another instance of the obsolete which(1)
      • Test suite: migrate away from obsolete which(1)
      • Test suite: switch to virtio graphics
    • FIX run_test_suite usage of tor --version for corner-cases (zerotracepen/zerotracepen!575)

      Commits:

      • FIX run_test_suite for corner-cases
    • Installer: fix combobox freezes (zerotracepen/zerotracepen!571)

      Commits:

      • Installer: fix combobox freezes (refs: #18531)
    • Update Tor Browser AppArmor policy (zerotracepen/zerotracepen!568)

      Commits:

      • Update Tor Browser AppArmor policy
    • Tor Connection: decrease "sign of life" timeout, increase bootstrap timeout
      (zerotracepen/zerotracepen!567)

      Commits:

      • Test suite: DRY clicking "Connect to Tor"
      • Test suite: drop obsolete workaround
      • Fix typo
      • Tor Connection: allow the user to retry connecting to Tor from the error screen
        with the same settings
      • TCA hacking: use numbers that we have a chance to somewhat support
      • TCA hacking: drop buggy option
      • Add dummy entry for next release
      • Tor Connection: decrease "sign of life" timeout, increase bootstrap timeout
    • Test suite: use new XMPP chat rooms (zerotracepen/zerotracepen!566)

      Closes issues:

      • Deal with xmpp.riseup.net going away (zerotracepen/zerotracepen#17956)

      Commits:

      • Test suite: remove dead code
      • Test suite: rename argument to match its current usage
      • Test suite: use new XMPP chat rooms
    • Resolve "TCA does not connect with default bridges when it should"
      (zerotracepen/zerotracepen!563)

      Commits:

      • Let's use user-centric (first person) phrasing whenever possible
      • Always set variables
      • better variable names
      • test suite: support using bridges w/o needing them
      • Gherkin for #18462
      • preserve user's choice of using default bridges
    • Stop trying to connect to Tor when we reach the Tor Connection error screen
      (zerotracepen/zerotracepen!559)

      Commits:

      • TCA hacking: add missing sudo
      • TCA hacking: make test firewall rule not depend on already having connected to
        tor
      • TCA hacking: make test firewall rule more accurate
      • Test suite: adjust to the new, fixed situation
      • Revert "let's wait for the Fix Clock dialog to show up"
      • let's wait for the Fix Clock dialog to show up
      • state machine docstring
      • minor cleaning use of variables
      • FIX state machine wrt DisableNetwork
      • refactor _decide_right_step
      • remove hopefully-obsolete todo comments
      • stop trying to connect after timeout
    • Move wait_for_working_tor logic from NetworkManager to systemd
      (zerotracepen/zerotracepen!558)

      Commits:

      • Update links in comment
      • Drop useless logging
      • Allow NM to start htpdate again if it failed last time
      • Clean up implementation of "Does not run htpdate again after success"
      • Update comment
      • sw upgrade should only run when tor is ready
      • waiting for readiness sounds like a pre-command
      • Does not run htpdate again after success
      • let's use the flag file, instead of asking tor
      • systemd-controlled htpdate
    • Add Russian to the bundled offline documentation (zerotracepen/zerotracepen!552)

      Commits:

    • vagrant/lib/zerotracepen_build_settings.rb: use --no-signature with git log
      (zerotracepen/zerotracepen!548)

      Commits:

      • vagrant/lib/zerotracepen_build_settings.rb: use --no-signature with git log
      • .gitignore: ignore vmdb2.log
    • GJsonRpcClient.call_async can set a callback (zerotracepen/zerotracepen!544)

      Commits:

      • tca-portal: add missing sentence bits
      • Apply 3 suggestion(s) to 1 file(s)
      • GJsonRpcClient response handler fix
      • tca-portal is now fully asynchronous
      • change previous usages of call_async to new API
      • call_async can set callbacks
    • drop tordate (zerotracepen/zerotracepen!542)

      Commits:

      • ooops, that wasn't useless!
      • Tor Connection: make GtkSpinButton's UI consistent
      • Tor Connection: add keyboard accelerators
      • Tor Connection: use "Wrong clock" instead of "Wrong time" terminology
      • Tor Connection: use "Fix Clock" instead of "Set Time" terminology
      • Test suite: lint
      • Test suite: simplify
      • Test suite: use higher-level predicate
      • Test suite: remove obsolete exception
      • htpdate: increase timeout for working tor
      • drop useless stuff from 10-time.sh
      • 20-time imports: update comments, fix shellcheck
      • remove confusing log line
      • htpdate works successfully after manual time set
      • tca sends stderr to journal
      • no reason to delete the tor log anymore
      • testing for tordate in test suite is now useless
      • stop mentioning tordate in website
      • update time syncing design doc
      • remove unused code from 20-time.sh
      • be bold: let's drop @fragile from tor bridges!
      • drop tordate
    • Re-enable the tor sandbox when no PTs are used (zerotracepen/zerotracepen!535)

      Commits:

      • Use variable name more readable than $1
      • Add missing "set -eu"
      • Test suite: fix typo in not-enabled-yet code
      • Test suite: prepare sandbox test for when #18470 is fixed
      • Test suite: adjust to tor sandbox being disabled when falling back to default
        bridges
      • Remove unused attribute
      • Revamp management of the Tor Sandbox configuration option
      • Lint.
      • Use consistent and less confusing names for attribute and method
      • Adjust to new call_async API
      • Tor Connection: disable caching of information retrieved from tor by Stem
      • Wait for side-effects of async call to complete.
      • Improve encapsulation.
      • Rename tor-sandbox-helper → tor-pt-configuration-helper.
      • Be defensive about arguments.
      • Give base-class a better name.
      • Drop useless re-definition of method in subclass.
      • Be more Pythonic.
      • Apply 1 suggestion(s) to 1 file(s)
      • Test suite: re-enable tor sandbox sanity check (refs: #18237).
      • Drop unused, out-of-date main() used for testing a library.
      • Re-enable the tor sandbox when no PTs are used (refs: #18237)
    • TCA: Allow the user to manually set time (zerotracepen/zerotracepen!531)

      Commits:

      • time dialog: spacing + follow mockups better
      • reference to how a problem might be solved
      • Set time test scenario uses snapshots
      • stricter date validation
      • Test suite: lint
      • Test suite re-introduce linting lost by merge conflict resolution
      • FIX date format
      • more bringing back from devel
      • Tor Connection: translate 1 string to test l10n
      • Update POT and PO files
      • bring back lost changes to tor.rb
      • fix datestring validation
      • Test suite: revert indentation regression
      • Test suite: use user-facing terminology in Gherkin
      • fix test suite about time dialog
      • loggers are better than prints
      • tca remembers user timezone
      • bring back "unsuccessfully configure" step
      • reorder fixes in the error screen
      • set-system-time has early input validation
      • tca-portal can validate arguments
      • set-system-time errors are handled
      • less noisy logging
      • zerotracepen-set-date cleaned a bit
      • zerotracepen-set-date checks if the date is valid early
      • wait for set time window to be closed
      • rewrite Gherkin using more user-centric language
      • fix "Apply suggestion"
      • Apply 1 suggestion(s) to 1 file(s)
      • tca test: combo box faster and cleaner
      • Tooltip for combo box
      • tca-portal is a bit more verbose
      • when changing the time, tor must be restarted
      • Test "set the time in tca" does what it says
      • FIX time dialog
      • FIX: missing .ui file translation support
      • Connect to Tor can be clicked
      • TCA: adds a dialog to Set Time
      • tca-portal allows setting time
      • Separate the anti-test from the fix
      • reword: "I try to" actually check failure
      • 15548 implementation is "simulated"
      • test suite: hw clock can be set to relative time
      • test: cmd_helper modernized
      • DRAFT: Add a Scenario for #15548
    • Allow running our test suite on modern AMD CPUs (zerotracepen/zerotracepen!406)

      Commits:

      • document LIBVIRT_CPUMODEL
      • amd hack: convert to config file
      • modern AMD CPUs apparently benefit from this fix