The terms "whitelist" / "blacklist" perpetuate the notion that white is good and black is bad[1]. Their usage is trivially eliminated from libvirt with a variety of alternative terms. The replacements are more applicable to the usage context in most cases. The only exceptions are
• Libvirt needs to keep "seccomp-blacklist" back compat for running guest capabilities on upgrade • kmod uses "blacklist" for modprobe config file key The terms "master" / "slave" have inescapable historical context that makes them a bad choice for metaphors in software[1]. Again there are a variety of alternatives that can be used, many of which are more applicable to the usage context. Eliminating all usage though is not practical, due to libvirt's need to interface with external systems, where the terminology is part of the formal API. The unfixable exceptions are: • Libvirt uses slave=NNN master=NNN in XML schema for FreeBSD nmdm devs • Linux kernel sysfs uses "slave_$NIC" for bonding NIC members • Linux kernel mount options MS_SLAVE for mount propagation • QEMU uses "slave" in many device/property names • Jenkins website calls the libvirt plugin "libvirt-slave" • VirtualBox uses 'Slave' in many config file attributes Note, this doesn't attempt to remove cases of the word "master" which are used in isolation, only those paired with usage of the word "slave". Remaining usage of "master" needs evaluating, as some of these contexts are none the less implicitly associated with the "master/slave" concept. Nothing in the po/ directory is updated. This will be updated when we refresh translations at time of freeze. There should be no functional change in any of these patches with the exception of the patch tweaking matching for NICs in the interface driver. [1] There are many docs on the web covering this in detail, with one fairly clear description being: https://tools.ietf.org/id/draft-knodel-terminology-00.html Daniel P. Berrangé (23): scripts: remove use of the term 'whitelist' from build helpers rpc: remove use of the term 'whitelist' from RPC code cgroup: remove use of the term 'whitelist' from cgroup code qemu: remove use of the terms 'whitelist' and 'blacklist' from CPU code qemu: remove use of the term 'blacklist' in seccomp capability util: use short form -g arg to scsi_id docs: remove use of the term 'whitelist' from documentation util: rename method to virKModIsProhibited nodedev: remove use of the term 'blacklist' from enumeration code build: remove use of the term 'blacklist' from helper files src: remove use of the term 'whitelist' from remaining code interface: use a constant for the sysfs bond device file prefix interface: remove most use of the term 'slave' from bonding code docs: remove use of the term 'enslaved' wrt tap & bridge devices tools: remove use of the term 'slave' in code dealing with bridges util: remove use of the terms 'master' and 'slave' in PTY code qemu: remove use of the terms 'master' and 'slave' when iterating CPUs lxc: remove use of the terms 'master' and 'slave' in PTY setup docs: update link to the libvirt jenkins plugin docs: remove use of the term 'slave' in Jenkins agent docs conf: remove use of the terms 'master' and 'slave' in mndm config lxc: replace use of term 'slave' filesystem mount setup build: add syntax-check rules for undesirable terms build-aux/syntax-check.mk | 18 ++++- docs/apps.html.in | 6 +- docs/drvqemu.html.in | 12 ++-- docs/firewall.html.in | 6 +- docs/formatdomain.html.in | 4 +- docs/internals/rpc.html.in | 9 +-- docs/kbase/qemu-passthrough-security.rst | 3 +- docs/schemas/interface.rng | 2 +- m4/virt-compile-warnings.m4 | 2 +- scripts/check-aclrules.py | 8 +-- scripts/check-file-access.py | 16 ++--- scripts/mock-noinline.py | 1 - src/bhyve/bhyve_driver.c | 2 +- src/bhyve/bhyve_parse_command.c | 20 +++--- src/conf/domain_conf.c | 24 +++---- src/conf/domain_conf.h | 4 +- src/interface/interface_backend_udev.c | 65 +++++++++---------- src/libvirt.c | 2 +- src/libvirt_private.syms | 2 +- src/lxc/lxc_cgroup.c | 2 +- src/lxc/lxc_controller.c | 20 +++--- src/node_device/node_device_udev.c | 6 +- src/qemu/qemu.conf | 4 +- src/qemu/qemu_capabilities.c | 22 +++---- src/qemu/qemu_capabilities.h | 6 +- src/qemu/qemu_cgroup.c | 2 +- src/qemu/qemu_command.c | 6 +- src/qemu/qemu_conf.c | 4 +- src/qemu/qemu_domain.c | 10 ++- src/qemu/qemu_monitor.c | 46 ++++++------- src/remote/libvirtd.conf.in | 6 +- src/remote/remote_daemon_dispatch.c | 4 +- src/rpc/gendispatch.pl | 2 +- src/rpc/virnetsaslcontext.c | 10 +-- src/rpc/virnetsaslcontext.h | 2 +- src/rpc/virnettlscontext.c | 32 ++++----- src/rpc/virnettlscontext.h | 4 +- src/util/vircgroup.c | 2 +- src/util/virfile.c | 42 ++++++------ src/util/virkmod.c | 24 +++---- src/util/virkmod.h | 2 +- src/util/virnetdevtap.c | 2 +- src/util/virpci.c | 4 +- src/util/virprocess.c | 2 +- src/util/virstoragefile.c | 4 +- src/vbox/vbox_common.c | 4 +- tests/Makefile.am | 4 +- ...hitelist.txt => permitted_file_access.txt} | 6 +- .../caps_2.11.0.s390x.xml | 2 +- .../caps_2.11.0.x86_64.xml | 2 +- .../caps_2.12.0.aarch64.xml | 2 +- .../caps_2.12.0.ppc64.xml | 2 +- .../caps_2.12.0.s390x.xml | 2 +- .../caps_2.12.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 2 +- .../caps_3.0.0.riscv32.xml | 2 +- .../caps_3.0.0.riscv64.xml | 2 +- .../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 2 +- .../caps_3.0.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 2 +- .../caps_3.1.0.x86_64.xml | 2 +- .../caps_4.0.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 2 +- .../caps_4.0.0.riscv32.xml | 2 +- .../caps_4.0.0.riscv64.xml | 2 +- .../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 2 +- .../caps_4.0.0.x86_64.xml | 2 +- .../caps_4.1.0.x86_64.xml | 2 +- .../caps_4.2.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 2 +- .../caps_4.2.0.x86_64.xml | 2 +- .../caps_5.0.0.aarch64.xml | 2 +- .../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 +- .../caps_5.0.0.riscv64.xml | 2 +- .../caps_5.0.0.x86_64.xml | 2 +- .../caps_5.1.0.x86_64.xml | 2 +- .../qemustatusxml2xmldata/backup-pull-in.xml | 2 +- .../blockjob-blockdev-in.xml | 2 +- tests/qemuxml2argvtest.c | 2 +- tests/virconfdata/libvirtd.conf | 6 +- tests/virconfdata/libvirtd.out | 6 +- tools/virsh-interface.c | 16 ++--- 83 files changed, 301 insertions(+), 281 deletions(-) rename tests/{file_access_whitelist.txt => permitted_file_access.txt} (82%) -- 2.24.1