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