1
0
mirror of https://github.com/lxc/incus.git synced 2026-02-05 09:46:19 +01:00

2927 Commits

Author SHA1 Message Date
Stéphane Graber
bb6e2b09eb incusd/operations: Prevent concurrent access to metadata
Closes #2865

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-02-04 12:07:37 -05:00
Stéphane Graber
b234ba988c incusd/storage/lvm: Prevent use of lvmcluster with loop files
Closes #2875

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-02-04 12:07:36 -05:00
Stéphane Graber
80a5519509 doc: Update config
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-02-04 16:42:36 +01:00
Stéphane Graber
5493daf958 internal/instance; Correct doc for boot.autostart.priority
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-02-04 16:41:52 +01:00
Stéphane Graber
cbeffb0083 incusd/device/nic_physical: Allow migration of managed devices
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-02-03 08:32:37 +01:00
Stéphane Graber
336e9c14a3 incusd/storage/lvm: Move IncusOS check to pool creation
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-01-28 14:01:27 -05:00
Serge Hallyn
a0470f7b04 Merge pull request #2857 from stgraber/main
incusd/storage/zfs: Set IncusOS storage usage property
2026-01-24 08:56:21 -06:00
Stéphane Graber
9a7eaf1333 incusd/storage/zfs: Set IncusOS storage usage property
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-01-24 00:06:47 -05:00
Stéphane Graber
432359f590 Merge pull request #2855 from bensmrs/nic-attached-connected
incusd/device/nic: Fix connected logic for non-NIC QEMU devices
2026-01-23 18:44:33 -05:00
Benjamin Somers
ee2fc45f2d incusd/instance/qemu: Properly initialize connected status
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-23 21:56:58 +00:00
Benjamin Somers
945a885af9 incusd/instance/qmp: Prevent setting link up at initialization
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-23 21:30:39 +00:00
Benjamin Somers
c829eba4b7 doc: Update config
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-23 20:59:58 +00:00
Benjamin Somers
1c0455c2ca incusd/device/nic: Fix connected logic for non-NIC QEMU devices
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-23 20:59:53 +00:00
Stéphane Graber
6f11417f35 Release Incus 6.21
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-01-22 23:51:52 -05:00
Stéphane Graber
b59c5c8704 incusd/instance: Report clear error on concurent migrations
Closes #2814

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-01-22 22:43:57 -05:00
Stéphane Graber
5a5555e0bd incusd/auth/tls: Fix handling of GetPermissionChecker
Closes #2824

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-01-22 22:43:32 -05:00
Stéphane Graber
2591dceca4 Merge pull request #2847 from bensmrs/nic-attached-connected
Add `attached` and `connected` keys to NIC devices
2026-01-22 21:49:26 -05:00
Stéphane Graber
e4c267db82 Merge pull request #2848 from stgraber/security
Security fixes ahead of Incus 6.21
2026-01-22 16:56:20 -05:00
Stéphane Graber
c1d90bd34a incusd/instance/lxc: Restrict path of template files and targets
This fixes three security issues related to file templates:

 - The template target path could be made to be relative or gothrough
   symlinks in a way that could lead to arbitrary write to the host
   filesystem.

 - The template directory could be relative, allowing for arbitrary read
   from the host filesystem.

 - The template file itself could be made relative, allowing for
   arbitrary reads from the host filesystem.

In the case of the template target path, the new logic makes use of the
kernel's openat2 system call which brings a variety of flags that can be
used to restrict path resolution and detect potential issues.

For the template path itself, we now validate that it is a simple local
file and that the template directory isn't a symlink.

This fixes CVE-2026-23954

Reported-by: Rory McNamara <rory.mcnamara@snyk.io>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-01-22 16:55:54 -05:00
Benjamin Somers
24ce2b63c4 doc: Update config
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-22 20:58:38 +00:00
Benjamin Somers
79cd4ad52b api: nic_attached_connected
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-22 20:58:38 +00:00
Benjamin Somers
7ff5d06a97 incusd/instance/lxc: Implement NIC connected config key
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-22 20:58:30 +00:00
Benjamin Somers
74b7cd5d14 incusd/ip/link: Relax parent detection logic
This commit fixes the fact that `LinkByName` reported a link not found
error when run on a veth pair whose other end is in a container.

Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-22 20:58:30 +00:00
Benjamin Somers
189171c269 incusd/instance/qemu: Implement NIC connected config key
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-22 20:58:26 +00:00
Benjamin Somers
f52525b349 incusd/device/nic_p2p: Fix boot.priority spelling in gendoc
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-22 18:47:37 +00:00
Benjamin Somers
0d6bc20fb0 incusd/device/nic_ovn: Factor common options
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-22 18:47:37 +00:00
Benjamin Somers
65b0ba52cb incusd/instance/lxc: Properly update detached devices
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-22 18:47:33 +00:00
Benjamin Somers
299db59b4b incusd/instance/qemu: Properly update detached devices
This fixes a bug where modifying an updatable configuration key (for
example, `limits.read`) while the device (for example a disk) is
detached could lead the update function to ask QEMU to perform
operations on a device it doesn't know.

Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-22 18:40:18 +00:00
Benjamin Somers
8c27e80a67 incusd/device/nic: Add connected configuration key
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-22 18:40:17 +00:00
Benjamin Somers
fbf8b44406 incusd/device/nic: Add attached configuration key
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-01-22 18:37:31 +00:00
Piotr Resztak
b13817f2b0 incusd/network: Remove automatic increasing of SR-IOV VF count
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
2026-01-22 10:58:17 +01:00
Stéphane Graber
8b4070931a Merge pull request #2843 from dankm/dns-soa
Use the standard DNS SOA format
2026-01-21 23:41:58 -05:00
Stéphane Graber
d0c973ae83 Merge pull request #2840 from Mujib-Ahasan/dnsmasq-disable
Tweak dnsmasq startup condition
2026-01-21 23:03:40 -05:00
Stéphane Graber
f7ab2aed25 Merge pull request #2795 from tibeer/doc/linstor_source_parameter
doc/linstor: Add documentation for `source` parameter.
2026-01-21 22:49:41 -05:00
Stéphane Graber
66ad7d941a api: network_zones_dns_contact
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-01-21 22:41:10 -05:00
Stéphane Graber
e4db78f8c4 doc: Update configs
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-01-21 22:41:09 -05:00
Dan McGregor
b939dae106 incusd/network/zone: Allow setting DNS admin contact
Adds a new `dns.contact` configuration option to zones.

Signed-off-by: Dan McGregor <danmcgr@protonmail.com>
2026-01-21 22:40:56 -05:00
Dan McGregor
9632a6d461 incusd/network/zone: Use the standard SOA format
Up until now, the SOA format returned by the internal DNS server
used the zone's name for the primary dns server field, and either
the first dns.nameservers entry or hostmaster.{.zone} for the contact
address.

Instead, use the first entry in dns.nameservers for the master dns
server if set, and adjust the contact address accordingly.

Old SOA entry (no dns.nameserver set):
incus.example.com. 3600 IN SOA incus.example.com. hostmaster.incus.example.com. 1769025229 120 60 86400 30

Old SOA entry (with dns.nameserver set):
incus.example.com. 3600 IN SOA incus.example.com. ns1.example.com. 1769025229 120 60 86400 30

New SOA entry (no dns.nameserver set):
incus.example.com. 3600 IN SOA incus.example.com. hostmaster.incus.example.com. 1769025229 120 60 86400 30

New SOA entry (with dns.nameserver set):
incus.example.com. 3600 IN SOA ns1.example.com. hostmaster.ns1.example.com. 1769025229 120 60 86400 30

Signed-off-by: Dan McGregor <danmcgr@protonmail.com>
2026-01-21 22:40:44 -05:00
Mujib Ahasan
a0b3fb03a2 incusd/network/bridge: Skip dnsmasq on non-routed IPv6
Closes #2820

Signed-off-by: Mujib Ahasan <ahasanmujib8@gmail.com>
2026-01-21 21:48:25 -05:00
Stéphane Graber
86a4c6cb02 doc: Update configs
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-01-21 21:40:30 -05:00
Tim Beermann
af86ca6c70 doc/linstor: Add documentation for source parameter.
`source` is a shortcut for the `linstor.resource_group.name` option and is actively used in lxc/incus-deploy, but not
documented yet.

Signed-off-by: Tim Beermann <tibeer@berryit.de>
2026-01-21 21:39:47 -05:00
Piotr Resztak
a7f414b7a4 incusd/instance/drivers: Hash serial value if it exceeds the maximum length
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
2026-01-21 16:57:28 +01:00
Piotr Resztak
7148f0963b incusd/instance/drivers: Rename hashName to hashValue
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
2026-01-21 14:48:44 +01:00
Stéphane Graber
cdf037409f internal/instance: Prevent line breaks in environment variables
LXC doesn't currently have a syntax to hold a multi-line environment
variable in its configuration. The use of multi-line environment
variables leads to a corrupted configuration file and to a security
issue where additional lines may be added by an unprivileged user to
escalate their privileges.

This fixes CVE-2026-23953.

Reported-by: Rory McNamara <rory.mcnamara@snyk.io>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-01-20 23:27:27 -05:00
Stéphane Graber
938fee4d0e Merge pull request #2837 from stek29/fix-pci-rombar
incusd: pass firmware opt from device/pci to instance/qemu
2026-01-20 09:21:26 -05:00
Stéphane Graber
3becc2be44 Merge pull request #2828 from presztak/selection_sriov
Add support for nic SR-IOV selection by vendorid, productid and pci
2026-01-20 08:43:10 -05:00
Piotr Resztak
d906be1fe7 incusd/storage/drivers: Allow setting 'vg_name' for non-clustered LVM during init
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
2026-01-20 11:24:56 +01:00
Piotr Resztak
3a3f5201d3 api: Add 'nic_sriov_select_ext' extension
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
2026-01-20 09:31:23 +01:00
Piotr Resztak
a0e9f28be7 doc: Update configs
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
2026-01-20 09:22:08 +01:00
Piotr Resztak
13104131f1 incusd/device: Add support for nic SR-IOV selection by vendorid, productid and pci
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
2026-01-20 09:22:08 +01:00