Commit 833b1610 authored by Cyril 'kibi' Brulebois's avatar Cyril 'kibi' Brulebois
Browse files

Merge branch 'web/release-4.6' (Closes: #17304)

parents a82aded0 cd6d14a7
This diff is collapsed.
......@@ -6,9 +6,7 @@ set -e
echo "Setting mtime on large files whose content generally do not change"
touch --no-create -t 197001010000 \
/usr/lib/locale/locale-archive \
/usr/share/ppd/hplip/HP/*.ppd \
/var/lib/anthy/anthy.dic \
/var/lib/anthy/mkworddic/anthy.wdic
/usr/share/ppd/hplip/HP/*.ppd
find /usr/share/doc/tails/website -depth -exec \
touch --no-create -t 197001010000 '{}' \;
......@@ -70,7 +70,7 @@ sleep-inactive-battery-type ='nothing'
[org/gnome/shell]
enabled-extensions = ['apps-menu@gnome-shell-extensions.gcampax.github.com', 'places-menu@gnome-shell-extensions.gcampax.github.com', 'window-list@gnome-shell-extensions.gcampax.github.com', 'TopIcons@phocean.net', 'status-menu-helper@tails.boum.org', 'torstatus@tails.boum.org', 'desktop-icons@csoriano']
favorite-apps=['tor-browser.desktop', 'thunderbird.desktop', 'pidgin.desktop', 'org.keepassxc.KeePassXC.desktop', 'org.gnome.Nautilus.desktop', 'gnome-terminal.desktop']
favorite-apps=['tor-browser.desktop', 'tails-persistence-setup.desktop', 'tails-documentation.desktop', 'whisperback.desktop', 'tails-installer.desktop', 'thunderbird.desktop', 'org.keepassxc.KeePassXC.desktop', 'pidgin.desktop', 'org.gnome.Nautilus.desktop']
[org/gnome/shell/extensions/desktop-icons]
icon-size='small'
......
......@@ -23,24 +23,24 @@ fi
LANGPREFIX=`echo "$LANG" | sed 's/_.*//'`
case "$LANGPREFIX" in
ja)
PRELOAD="['anthy', 'libpinyin', 'hangul', 'Unikey', 'chewing']"
SOURCES="[$SOURCES, ('ibus', 'anthy'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', 'hangul'), ('ibus', 'Unikey')]"
PRELOAD="['mozc-jp', 'libpinyin', 'hangul', 'Unikey', 'chewing']"
SOURCES="[$SOURCES, ('ibus', 'mozc-jp'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', 'hangul'), ('ibus', 'Unikey')]"
;;
ko)
PRELOAD="['hangul', 'libpinyin', 'anthy', 'Unikey', 'chewing']"
SOURCES="[$SOURCES, ('ibus', 'hangul'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', 'anthy'), ('ibus', 'Unikey')]"
PRELOAD="['hangul', 'libpinyin', 'mozc-jp', 'Unikey', 'chewing']"
SOURCES="[$SOURCES, ('ibus', 'hangul'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', 'mozc-jp'), ('ibus', 'Unikey')]"
;;
vi)
PRELOAD="['Unikey', 'hangul', 'libpinyin', 'anthy', 'chewing']"
SOURCES="[$SOURCES, ('ibus', 'Unikey'), ('ibus', 'hangul'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', 'anthy')]"
PRELOAD="['Unikey', 'hangul', 'libpinyin', 'mozc-jp', 'chewing']"
SOURCES="[$SOURCES, ('ibus', 'Unikey'), ('ibus', 'hangul'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', 'mozc-jp')]"
;;
zh)
PRELOAD="['libpinyin', 'chewing', 'anthy', 'hangul', 'Unikey']"
SOURCES="[$SOURCES, ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', 'anthy'), ('ibus', 'hangul'), ('ibus', 'Unikey')]"
PRELOAD="['libpinyin', 'chewing', 'mozc-jp', 'hangul', 'Unikey']"
SOURCES="[$SOURCES, ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', 'mozc-jp'), ('ibus', 'hangul'), ('ibus', 'Unikey')]"
;;
*)
PRELOAD="['libpinyin', 'anthy', 'hangul', 'Unikey', 'chewing']"
SOURCES="[$SOURCES, ('ibus', 'libpinyin'), ('ibus', 'anthy'), ('ibus', 'hangul'), ('ibus', 'Unikey'), ('ibus', 'chewing')]"
PRELOAD="['libpinyin', 'mozc-jp', 'hangul', 'Unikey', 'chewing']"
SOURCES="[$SOURCES, ('ibus', 'libpinyin'), ('ibus', 'mozc-jp'), ('ibus', 'hangul'), ('ibus', 'Unikey'), ('ibus', 'chewing')]"
;;
esac
......
http://torbrowser-archive.tails.boum.org/9.0.9-build1/
http://torbrowser-archive.tails.boum.org/9.0.10-build2/
cf910b9577dc94bcfeef60fe9904e7f8f29277bf1a7360600c32956225d04473 tor-browser-linux64-9.0.9_en-US.tar.xz
c90d6b87c671a9dadeeaed84311511a21e067f39eab52d1b4e15bcb4c2dcf1ef langpacks-tor-browser-linux64-9.0.9.tar.xz
71bdf80a64488b95a621ab3275fa2de79cf7e671df41982d1f43bc1c17749c1d tor-browser-linux64-9.0.10_en-US.tar.xz
f699e2e9ee2f0db3a144801971ea3854604f82a08544db69ba38c05224bc9914 langpacks-tor-browser-linux64-9.0.10.tar.xz
......@@ -6,6 +6,22 @@ license = GPL_3
copyright_holder = Tails developers
copyright_year = 2013
; Author tests prereqs
; authordep File::Find::Rule
; authordep GnuPG::Interface
; authordep HTTP::Server::Simple
; authordep HTTP::Server::Simple::Static
; authordep IO::Socket::SSL
; authordep Module::Pluggable::Object
; authordep Sys::Filesystem
; authordep Test::BDD::Cucumber
; authordep Test::EOL
; authordep Test::Fatal
; authordep Test::Most
; authordep Test::Perl::Critic
; authordep Test::Pod
; authordep Test::Spec
[MetaResources]
homepage = https://tails.boum.org/
repository.url = git://git.tails.boum.org/tails
......
......@@ -7,8 +7,11 @@ copyright_holder = Tails developers
copyright_year = 2014
; Author tests prereqs
; authordep Module::Pluggable::Object
; authordep Test::EOL
; authordep Test::Most
; authordep Test::Perl::Critic
; authordep Test::Pod
[MetaResources]
homepage = https://tails.boum.org/
......
......@@ -37,8 +37,6 @@ acl
zenity
# Needed by tails-htp-notify-user and others
libdesktop-notify-perl
# Needed by tails-transform-mirror-url
nodejs
# Needed by SSH's ProxyCommand
netcat-openbsd
# Needed by config/chroot_local-includes/usr/local/lib/udev-watchdog-wrapper
......@@ -287,7 +285,7 @@ ibus-libpinyin
## Chinese ZhuYin (Bopomofo)
ibus-chewing
## Japanese
ibus-anthy
ibus-mozc
## Korean
ibus-hangul
## Vietnamese
......@@ -418,3 +416,6 @@ usbmuxd
pdf-redact-tools
tesseract-ocr
ffmpeg
# U2F support (i.e. in TorBrowser)
libu2f-udev
......@@ -19,3 +19,5 @@ libtype-tiny-xs-perl
libtypes-path-tiny-perl
libunix-mknod-perl
libwww-curl-perl
# Needed by tails-transform-mirror-url
nodejs
tails (4.6) unstable; urgency=medium
* Security fixes
- Upgrade Tor Browser to 9.0.10-build2 (Closes: #17660).
- Upgrade Thunderbird to 1:68.7.0-1~deb10u1 (MFSA-2020-14, DSA-4656).
- Upgrade Git to 1:2.11.0-3+deb9u3 (DSA-4657, DSA-4659).
- Upgrade Node.js to 10.19.0~dfsg1-1 (DSA-4669).
- Upgrade OpenLDAP to 2.4.47+dfsg-3+deb10u2 (DSA-4666).
- Upgrade OpenSSL to 1.1.1d-0+deb10u3 (DSA-4661).
- Upgrade ReportLab to 3.5.13-1+deb10u1 (DSA-4663).
- Upgrade WebKitGTK to 2.26.4-1~deb10u3 (DSA-4658).
* Bugfixes
- Switch Japanese input method from Anthy to Mozc (Closes: #16719).
- Install the libu2f-udev package, for U2F device support.
- Update our list of 'Favorites' applications (Closes: #16990).
* Build system
- lint_po: support locales with "@" in their name, such as ru@petr1708
(Closes: #17554).
- perl5lib: declare missing test dependencies (Closes: #17591).
- iuk: declare missing test dependencies (Closes: #17592).
- Upgrade to po4a 0.55 for Tails images and Vagrant box (Closes: #17005).
* Test suite
- Print disk usage information when the test suite fails with No
space left errors.
- Ensure no zombie processes are left around, by cleaning subprocesses
correctly (Closes: #17551).
- Prevent webrick from becoming a zombie process.
- Avoid test suite getting stuck due to a zero timeout.
- Fix obsoletion warnings (Closes: #17552).
- Add root check and --allow-non-root option (Closes: #17613). Let's
make it clear running the test suite requires root privileges in
the general case.
-- Tails developers <tails@boum.org> Mon, 04 May 2020 18:43:38 +0200
tails (4.5) unstable; urgency=medium
* Security fixes
......
......@@ -46,7 +46,7 @@ opt_parser = OptionParser.new do |opts|
end
opt_parser.parse!(ARGV)
cmd = ARGV.join(" ")
c = RemoteShell::ShellCommand.new(FakeVM.new, cmd, cmd_opts)
c = RemoteShell::ShellCommand.new(FakeVM.new, cmd, **cmd_opts)
puts "Return status: #{c.returncode}"
puts "STDOUT:\n#{c.stdout}"
puts "STDERR:\n#{c.stderr}"
......
......@@ -62,8 +62,13 @@ end
Given /^I (temporarily )?create an? (\d+) ([[:alpha:]]+) (?:([[:alpha:]]+) )?disk named "([^"]+)"$/ do |temporary, size, unit, type, name|
type ||= "qcow2"
$vm.storage.create_new_disk(name, {:size => size, :unit => unit,
:type => type})
begin
$vm.storage.create_new_disk(name, size: size, unit: unit, type: type)
rescue NoSpaceLeftError => e
cmd = "du -ah \"#{$config['TMPDIR']}\" | sort -hr | head -n20"
info_log("#{cmd}\n" + `#{cmd}`)
raise e
end
add_after_scenario_hook { $vm.storage.delete_volume(name) } if temporary
end
......@@ -508,7 +513,7 @@ Given /^I enter the sudo password in the pkexec prompt$/ do
step "I enter the \"#{@sudo_password}\" password in the pkexec prompt"
end
def deal_with_polkit_prompt(password, opts = {})
def deal_with_polkit_prompt(password, **opts)
opts[:expect_success] = true if opts[:expect_success].nil?
image = 'PolicyKitAuthPrompt.png'
@screen.wait(image, 60)
......@@ -641,7 +646,7 @@ When /^I run "([^"]+)" in GNOME Terminal$/ do |command|
end
When /^the file "([^"]+)" exists(?:| after at most (\d+) seconds)$/ do |file, timeout|
timeout = 0 if timeout.nil?
timeout = 10 if timeout.nil?
try_for(
timeout.to_i,
:msg => "The file #{file} does not exist after #{timeout} seconds"
......@@ -858,7 +863,10 @@ EOF
Process.kill(0, proc.pid) == 1
end
add_after_scenario_hook { Process.kill("TERM", proc.pid) }
add_after_scenario_hook do
Process.kill("TERM", proc.pid)
Process.wait(proc.pid)
end
# It seems necessary to actually check that the LAN server is
# serving, possibly because it isn't doing so reliably when setting
......@@ -908,7 +916,7 @@ When /^AppArmor has (not )?denied "([^"]+)" from opening "([^"]+)"$/ do |anti_te
"'I monitor the AppArmor log of ...' step")
audit_line_regex = 'apparmor="DENIED" operation="open" profile="%s" name="%s"' % [profile, file]
begin
try_for(10, { :delay => 1 }) {
try_for(10, delay: 1) {
audit_log = $vm.execute(
"journalctl --full --no-pager " +
"--since='#{@apparmor_profile_monitoring_start[profile]}' " +
......@@ -1014,7 +1022,7 @@ def share_host_files(files)
return mount_dir
end
def mount_USB_drive(disk, fs_options = {})
def mount_USB_drive(disk, **fs_options)
fs_options[:encrypted] ||= false
@tmp_usb_drive_mount_dir = $vm.execute_successfully('mktemp -d').stdout.chomp
dev = $vm.disk_dev(disk)
......@@ -1052,7 +1060,7 @@ When(/^I plug and mount a (\d+) MiB USB drive with an? (.*)$/) do |size_MiB, fs|
fs_options[:encrypted] = true
fs_options[:password] = /encrypted with password "([^"]+)"/.match(fs)[1]
end
mount_dir = mount_USB_drive(disk, fs_options)
mount_dir = mount_USB_drive(disk, **fs_options)
@tmp_filesystem_size_b = convert_to_bytes(
avail_space_in_mountpoint_kB(mount_dir),
'KB'
......@@ -1060,7 +1068,7 @@ When(/^I plug and mount a (\d+) MiB USB drive with an? (.*)$/) do |size_MiB, fs|
end
When(/^I mount the USB drive again$/) do
mount_USB_drive(@tmp_filesystem_disk, @tmp_filesystem_options)
mount_USB_drive(@tmp_filesystem_disk, **@tmp_filesystem_options)
end
When(/^I umount the USB drive$/) do
......
......@@ -200,7 +200,7 @@ When /^I send an email to myself$/ do
.typeText('test')
compose_window.child('Composition Toolbar', roleName: 'tool bar')
.button('Send').click
try_for(120, { :delay => 2 }) do
try_for(120, delay: 2) do
not compose_window.exist?
end
end
......
......@@ -35,7 +35,7 @@ def ip6tables_rules(chain, table = "filter")
iptables_rules_parse("ip6tables", chain, table)
end
def ip4tables_packet_counter_sum(filters = {})
def ip4tables_packet_counter_sum(**filters)
pkts = 0
ip4tables_chains do |name, _, rules|
next if filters[:tables] && not(filters[:tables].include?(name))
......
......@@ -26,7 +26,7 @@ Given /^I create an?( (\d+) ([[:alpha:]]+))? ([[:alnum:]]+) partition( labeled "
opts.merge!(:luks_password => luks_password) if is_encrypted
opts.merge!(:size => size) if with_size
opts.merge!(:unit => unit) if with_size
$vm.storage.disk_mkpartfs(name, parttype, fstype, opts)
$vm.storage.disk_mkpartfs(name, parttype, fstype, **opts)
end
Given /^I write (|an old version of )the Tails (ISO|USB) image to disk "([^"]+)"$/ do |old, type, name|
......
......@@ -9,7 +9,7 @@ $veracrypt_volume_name = 'veracrypt'
$veracrypt_pim = '1'
$veracrypt_basic_container_with_pim = "#{MISC_FILES_DIR}/container_with_pim.hc"
def veracrypt_volume_size_in_Nautilus(options = {})
def veracrypt_volume_size_in_Nautilus(**options)
options[:isHidden] ?
'52 MB'
: (
......@@ -19,7 +19,7 @@ def veracrypt_volume_size_in_Nautilus(options = {})
)
end
def veracrypt_volume_size_in_GNOME_Disks(options = {})
def veracrypt_volume_size_in_GNOME_Disks(**options)
options[:needsPim] ?
'410 KB'
: '105 MB'
......
......@@ -62,7 +62,7 @@ if not($at_exit_print_artifacts_dir_patching_done)
$at_exit_print_artifacts_dir_patching_done = true
end
def info_log(message = "", options = {})
def info_log(message = "", **options)
options[:color] = :clear
# This trick allows us to use a module's (~private) method on a
# one-off basis.
......@@ -70,7 +70,7 @@ def info_log(message = "", options = {})
puts cucumber_console.format_string(message, options[:color])
end
def debug_log(message, options = {})
def debug_log(message, **options)
options[:timestamp] = true unless options.has_key?(:timestamp)
if $debug_log_fns
if options[:timestamp]
......@@ -79,7 +79,7 @@ def debug_log(message, options = {})
elapsed = (Time.now - TIME_AT_START.to_f).utc.strftime("%H:%M:%S.%9N")
message = "#{elapsed}: #{message}"
end
$debug_log_fns.each { |fn| fn.call(message, options) }
$debug_log_fns.each { |fn| fn.call(message, **options) }
end
end
......@@ -122,7 +122,7 @@ module ExtraFormatters
$debug_log_fns << self.method(:debug_log)
end
def debug_log(message, options)
def debug_log(message, **options)
options[:color] ||= :blue
@io.puts(format_string(message, options[:color]))
@io.flush
......
......@@ -25,7 +25,7 @@ class Display
# We wait for the display to be active to not lose actions
# (e.g. key presses) that come immediately after starting (or
# restoring) a vm
try_for(20, { :delay => 0.1, :msg => "virt-viewer failed to start"}) {
try_for(20, delay: 0.1, msg: "virt-viewer failed to start") {
active?
}
end
......@@ -47,8 +47,7 @@ class Display
def screenshot(target)
FileUtils.rm_f(target)
p = IO.popen(['import', '-quality', '100%', '-window', 'root', target])
p.close
popen_wait(['import', '-quality', '100%', '-window', 'root', target])
assert($?.success?)
assert(File.exists?(target))
end
......
......@@ -54,7 +54,7 @@ module Dogtail
class Application
@@node_counter ||= 0
def initialize(app_name, opts = {})
def initialize(app_name, **opts)
@var = "node#{@@node_counter += 1}"
@app_name = app_name
@opts = opts
......@@ -162,7 +162,7 @@ module Dogtail
]
size = run(find_script_lines).stdout.chomp.to_i
return size.times.map do |i|
Node.new("#{nodes_var}[#{i}]", @opts)
Node.new("#{nodes_var}[#{i}]", **@opts)
end
end
......@@ -213,13 +213,13 @@ module Dogtail
define_method(method) do |*args|
args_str = self.class.args_to_s(args)
method_call = "#{method.to_s}(#{args_str})"
Node.new("#{@var}.#{method_call}", @opts)
Node.new("#{@var}.#{method_call}", **@opts)
end
end
TREE_API_NODE_SEARCH_FIELDS.each do |field|
define_method(field) do
Node.new("#{@var}.#{field}", @opts)
Node.new("#{@var}.#{field}", **@opts)
end
end
......@@ -227,7 +227,7 @@ module Dogtail
class Node < Application
def initialize(expr, opts = {})
def initialize(expr, **opts)
@expr = expr
@opts = opts
@opts[:user] ||= LIVE_USER
......@@ -240,7 +240,7 @@ module Dogtail
define_method(method) do |*args|
args_str = self.class.args_to_s(args)
method_call = "#{method.to_s}(#{args_str})"
Node.new("#{@var}.#{method_call}", @opts)
Node.new("#{@var}.#{method_call}", **@opts)
end
end
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment