Commit Graph

24 Commits

Author SHA1 Message Date
Bruce Ashfield
1ad2906d95 lxc: update to v6.0.4
Bumping lxc to version v6.0.4-7-gb185e523f, which comprises the following commits:

    b185e523f selinux: fix typo (AppArmor)
    4be5e7c65 meson_options.txt: remove space before `:` for consistency
    81d00893a meson_options.txt: don't use str when defining bool default values
    8a7ea2523 bionic: Remove custom getline, openpty and prlimit
    136d5ae08 bionic: Remove bionic detection and support
    f362f6eed README: Remove mention of old LXC version
    2663712e8 start: Re-introduce first SET_DUMPABLE call
    0fb6eb66d Release LXC 6.0.4
    312976c9b lxc/start: do prctl(PR_SET_DUMPABLE) after last uid/gid switch
    77b9cb1dc lxc/caps: fix open /proc/sys/kernel/cap_last_cap
    dfe473705 lxc/conf: handle rootfs open_at error in lxc_mount_rootfs
    782b666dc tools/lxc_attach: fix ENFORCE_MEMFD_REXEC checks
    bcb6d063d github: Add packaging workflow
    3a4003c8c global: Switch to new MAC prefix
    5cdef29d8 global: Switch MAC generation to Zabbly prefix
    400115de0 sysconfig/lxc: remove false comment
    0e99eaa35 Added LXC_IPV6_ENABLE option for lxc-net to enable or disable IPv6
    84e02ca8c github: Switch to native arm64 runners
    f68da1c9f config-bcast: fix incorrect broadcast address calculation
    5b31eb51a lxc/attach: Revert "- LXC attach should exit on SIGCHLD"
    555276df9 conf: warn when capabilities are disabled or libcap is not found
    a99f593e3 dbus: replace hardcoded dbus address with environment variable
    d34b373ca conf: log name of invalid capability in error
    56ef15e71 confile-vlanid: undefined is not a zero value
    b4fda3c60 - LXC attach should exit on SIGCHLD
    fe31d844e Release LXC 6.0.3

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-07-07 11:42:27 -04:00
Bruce Ashfield
bc2a750d5c containers: adapt to UNPACKDIR changes
This commit updates the container recipes to the OE core UNPACKDIR
changes.

  - We drop references to WORKDIR
  - We adjust destsuffix fetches to use BB_GIT_DEFAULT_DESTSUFFIX
    instead of 'git'
  - Update our GOPATH references to use UNPACKDIR
  - Drop S = assignemnts where possible

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-06-25 22:40:08 -04:00
Martin Jansa
c01273e001 metadata: add whitespace around assignments
With:
https://lists.openembedded.org/g/bitbake-devel/message/17508
there are many WARNINGs from this layer will cover src_uri.inc files
in next commit.

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-04-03 17:56:53 +00:00
Xiangyu Chen
7932f4a2fa lxc: disable lxc-staticdev buildpaths checking
lxc enabled the ffat-lto-objects option since 6.0.3[1], that
liblxc.a object files contain both the intermediate language
and the object code, that cause yocto QA report a QA warning.

Ref:
[1] 277ac36407

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-02-18 01:51:58 +00:00
Bruce Ashfield
0b75eead63 lxc: update to v6.0.3
Bumping lxc to version v6.0.3, which comprises the following commits:

    fe31d844e Release LXC 6.0.3
    b63c630fd github: Improve progress reporting
    eb5095c3c github: Cleanup OSS-fuzz
    8fa61eea5 github: Rework test workflow
    0be2aed41 github: Introduce shared testsuite logic
    1fce28876 github: Introduce shared build logic
    8fde2ff28 github: Update coverity workflow
    787a0f821 lxc.init: Allow SIGHUP from outside the container
    17fea37cc lxc.init: Ignore user signals coming from inside the contianer
    5dead1d05 lxc.init: Switch to sigaction
    3011e79f9 lxccontainer: fix enter_net_ns helper to work when netns is inherited
    537986ec8 fix return code of recursive all of cgroup_tree_prune
    7f148c284 lxc-net: Replace random IPv6 subnet
    1fc5314ff meson: fix minor typo
    f7681840a Avoid null pointer dereference when using shared rootfs. rootfs->storage not set by lxc_storage_prepare when using a shared rootfs.
    27f02b8c8 create_run_template: don't use txtuid and txtguid out of scope
    acc334a9c Add suppport for PuzzleFS images in the oci template
    f9992d819 meson.build: drop suggest-attribute=noreturn build option
    277ac3640 meson.build: add -ffat-lto-objects
    2444f5841 Release LXC 6.0.2
    a85dc4b3d fix possible clang compile error in AARCH
    f5a5ea3cf README: Update security contact
    226fe3d54 doc: Fix definitions of get_config_path and set_config_path
    a4c5d7ee0 Exit 0 when there's no error
    19e14a26f idmap: Lower logging level of newXidmap tools to INFO
    704504e3d Remove unused function
    f1be0d814 Release LXC 6.0.1

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-01-17 19:17:09 +00:00
Pawan Badganchi
dc96aa7a14 lxc: Fix meson build issue
Build is failing during do_configure stage for lxc as meson
does not support --with-systemdsystemunitdir config parameter.

Error:
meson: error: unrecognized arguments: --with-systemdsystemunitdir=/etc/systemd/system/

Hence, use -Dsystemd-unitdir config parameter instead.

Signed-off-by: Pawan Badganchi <badganchipv@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-07-22 22:18:47 +00:00
Bruce Ashfield
bb2f6b880b lxc: update to v6.0.1
Bumping lxc to version v6.0.1, which comprises the following commits:

    f1be0d814 Release LXC 6.0.1
    9fb53cfa1 meson: fix build with -Dtools-multicall=true on NixOS
    f92aa6066 github: exclude clang & ubuntu-24.04 combination
    6a0b1504e lxc/storage/zfs: ignore false-positive use-after-free warning
    6ba6c3208 github: properly check apparmor profile changes
    8e72b94bd github: start using ubuntu-24.04
    f91ce0d8b apparmor: regenerate rules
    cba7a6746 apparmor: use /{,**} instead of /**
    e97321ff9 apparmor: regenerate rules
    89071ba7b apparmor: fix rule path pattern specification syntax
    32c7a157d lxc-local: remove check for template existence before extraction
    81a2c8253 lxc-local: fix incorrect path to `templates` file
    fdeb88655 lxc-local: fix use of `LXC_PATH` before init
    be7179a08 Update lxc-execute.sgml.in
    247f5eed5 Update lxc-{attach,execute}.sgml.in
    bb23a71af Update lxc-execute.sgml.in
    f98b7ab53 Update lxc-attach.sgml.in
    e31ce9753 network: netdev_configure_server_veth: reduce scope of disable_ipv6_fd/path vars
    bd8d5b747 lxc/network: handle non-existing sysctl <ifname>/disable_ipv6
    41aa42e27 github: test the lxc multicall binary builds too
    1b3b06d8e meson: fix build on NixOS
    3dee5fb88 Release LXC 6.0.0

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-07-15 19:17:46 +00:00
Bruce Ashfield
f487ea4aa0 lxc: update to v6.0.0
Bumping lxc to version v6.0.0, which comprises the following commits:

    3dee5fb88 Release LXC 6.0.0
    17ac6f691 lxc.spec: Align SPDX license id
    5fe2de84c Makefile: Align SPDX license id
    97f93be72 meson: Align SPDX license id
    d4cd3741d COPYING: Clarify licensing of files without SPDX
    8e67eb07c doc: Add SPDX headers and remove Author field
    cb94edf53 src/include: Add SPDX headers
    7bc33ef6e src/tests: Add SPDX headers
    007642c89 hooks: Add SPDX headers
    1e9e66be3 lxc.spec: Clear default changelog
    202d649d1 lxc.spec: Use SPDX
    85abd4026 template: Use SPDX
    a074b3d27 config/yum: Use SPDX header
    7ed43e5e9 COPYING: Remove whitespace
    522721216 MAINTAINERS: Remove Dwight from the maintainer list
    08bf8b9e2 lxc-checkconfig: Fix shellcheck
    0f18db543 lxc-checkconfig: Show namespace limits
    f71b8e3f8 lxc-ls: list names with whitespaces in `--active`.
    816b8973d lxc/tools: set default log_priority to ERROR
    989ea3969 tools/lxc_autostart: don't fail when there are no containers
    dc4df2335 lxc/lxccontainer: specify file mode in open() call inside mod_rdep
    630b46ed2 lxc/confile: do not print excess space before scale suffix for time.offset.boot
    796f2ccb7 lxc/confile: do not print newline symbol in getter for lxc.time.offset.*
    dcc4fb929 tests/parse_config_file: fix some typos
    6fea67429 tests/parse_config_file: add tests for lxc.time.offset.*
    ad8f55445 tree-wide: replace multiply_overflow with check_mul_overflow
    4464cee19 lxccontainer: rework copy_file()
    9d1aa932d lxccontainer: improve mod_rdep()
    81c1bbf45 Revert "lxccontainer: fixes"
    82fe01821 src/lxc/syscall_numbers.h: drop define -1
    590a95d83 rexec: Avoid invalid free in rexec failure path
    f9978b179 README: Correct 'armvl7' to 'armv7l'
    046b63cd2 unshare: simplify lookup_name
    7452ee8ab lxc-unshare: fix an buffer overflow issue in lxc_unshare
    e88883445 lxc-net: Enable IPv6 by default
    d78ca00bc tests/meson: attempt to fix ossfuzz builds
    d18f993b3 github: master -> main
    86799f554 meson: link with liblxc dynamically everywhere if possible
    b90fecfda network: use IN_LIBLXC
    9eee450d2 storage_utils: move get_fssize to utils
    6eb0a73e2 storage_utils: unhide and rename is_valid_storage_type to lxc_is_valid_storage_type
    42eeffcb0 confile: unhide lxc_config_parse_arch() helper
    9bb318881 conf: reorganize/split code to utils.c
    863c59dc3 conf: reorganize/split code to idmap_utils.c
    b7591ad49 confile: unhide lxc_config_define*() helpers
    f14656ebf meson: introduce IN_LIBLXC preprocessor macro
    672b2172d confile: move lxc_fill_elevated_privileges() to tools/lxc_attach
    8f9733d75 tests: remove old and broken cgroup handling code from tests
    d51ea224e config: apparmor: add AppArmor profile for lxc-copy
    627bb9460 tests: lxc-test-usernic: use iproute tool instead of brctl
    df0665b6d oci: resolve cross-filesystem blob caching failure
    ec85e5ca4 lxc-test-usernic: drop cgroup handling
    27ec0b0f6 test-usernic: don't use ifconfig
    44e845b3c Add x32 to the list of recognized architectures
    07e3a516e lxc-download, lxc-local: preserve xattrs on unpack
    9ac7c4895 tree-wide: use container_uses_namespace() in less trivial cases
    64341ce7b tree-wide: use container_uses_namespace() helper
    6b40e66c1 Fix error message.
    c8189ee2a Add verbose output in download template.
    84cc3155a Align columns in lxc-download.in template
    872db5424 build: add more options for customizing install
    df17ac417 Add loongarch64 support
    112d5615e build(deps): bump actions/upload-artifact from 3 to 4
    789457f1a config: try to create workdir if not exist
    86f5c1226 lxc-local: Add --no-dev option to exclude /dev from the fstree
    f885a3c56 lxc-local: Re-organize code to use more functions
    7c025072e lxc-local: Improve usage info
    faa38a197 lxc-local: Change LXC_CONFIG to LXC_METADATA to match args and be more clear
    d65fe1b27 Disable IPv6 link-local addresses for bridged veth
    8cff8fa1a don't try to delete vlan 0 from veth
    0e932812a conf: fix ephemeral copies
    abffab441 config/init: Drop upstart files
    79a4a3cf8 doc: remove the warning mentionning upstart
    7bf1695d0 hooks/ubuntu-cloud-prep: remove upstart handling
    fb73c18d2 meson: Remove support for upstart
    cc6819c69 reset root_nsuid_map and root_nsgid_map when idmaps is cleared
    a87d6fcc9 lxc/checkconfig: use multiline `echo`
    f3e01fa80 lxc/checkconfig: replace `echo -n` by printf
    ba4f810bc lxc/checkconfig: minor cosmetic change
    d52c345c8 lxc/checkconfig: avoid subshell (SC2235)
    f84f03d1d lxc/checkconfig: remove superfluous (..) around test command (SC2234)
    74b9faa64 lxc/checkconfig: check exit code directly (SC2181)
    5cc69e440 lxc/checkconfig: replace `! -z` by `-n` (SC2236)
    a4684eb11 lxc/checkconfig: add missing quotes to please shellcheck
    8a611c0b2 lxc/checkconfig: remove some unneeded `echo -n`
    cb2574319 lxc/checkconfig: replace `type` by `command`
    003efe6db lxc/checkconfig: replace `cat | grep` with `grep`
    adadfa372 lxc/lxccontainer: fix do_lxcapi_set_timeout retval
    c02367e59 containers in the FREEZING state also need to be unfreeze
    aca53bcf7 build(deps): bump actions/checkout from 3 to 4
    84169158f lxccontainer.h: Move new fields to the end
    e2696df93 Remove references to LXD
    7cec54455 Update console perms to 0600
    3f45443fd Fix start api call to split quoted strings in execute or init command.
    fbc31691e github: Update for main branch
    69e51b919 CONTRIBUTING: add a note on AI generated code
    84cfe9772 get_hierarchy: dont WARN about no usable controller
    64167f906 Add libarchive tar support for lxc download
    213e2f68d github: Add DCO/target tests
    cf2b20209 explicitly convert *mainloop_handler to __u64
    8575ffeb7 tests: fix parse_config_file seccomp test
    ca25f3bf6 src/tests: Fix container creation errors
    539c39772 rename functions which clash with libsystemd's
    b670f0e75 commands: support timeout in LXC_CMD_GET_STATE
    0fed82b26 lxccontainer: extend lxccontainer API with set_timeout
    7fd671dbc mainloop: io_uring: disable IORING_POLL_ADD_MULTI
    715fb4eff terminal: make a terminal FDs non-blocking
    7eff16cc4 file_utils: add fd_make_nonblocking helper
    747c4df31 file_utils: rename fd_make_nonblocking to fd_make_blocking
    ebea2b5a9 setproctitle(): Handle potential NULL return from strrchr()
    f7f15b20a make setproctitle()'s /proc/pid/stat parsing safe
    890de0759 lsm: apparmor: allow to change mount propagation
    5894cf310 console-log test: make sure container is stopped before restarting
    820d2a2b3 switch from libsystemd's dbus to dbus-1
    3c1453a38 tree-wide: convert fcntl(FD_CLOEXEC) to SOCK_CLOEXEC
    4ea0b361f Allow fuse mounts in apparmor start-container.
    1a2da75b6 Add support for squashfs images in oci via atomfs
    db3cbfa75 apparmor: don't try to mmap empty files
    304bf58fa initutils: use PRIu64 for uint64_t in setproctitle
    4de047f51 lxc-net.in: fix nftables syntax for IPv6 NAT
    311bb8c53 Fix strlcat's return value checks
    588b53b19 Fix typo: bev_type -> bdev_type
    7914c259f drop broken lxc-test-fuzzers
    849d80877 Fix build error on sparc64 caused by using the gold linker
    43ad7816d lxc-default-cgns apparmor profile: allow overlay mounts
    4fa83282b lxc_user_nic: fix get_mtu() error handling
    1b0469530 Patching an incoming CVE (CVE-2022-47952)
    a8e1070c6 build: force linking against liblxc
    c27ea96f7 checkconfig: Fix filesystem capability check
    3f361da61 checkconfig: Tweak cgroup handling
    3ab04999d checkconfig: Tweak layout
    e027ca711 checkconfig: Hide version if no lxc-start
    914fec51b checkconfig: Fix mixed tabs/spaces
    70b176b0d src/lxc/meson.build: fix build without apparmor
    42b22da6d cgroups: fix cgroup layout detection in __initialize_cgroups
    0072919dd state: additional check in lxc_wait to prevent OOB
    62b94d3ec cgroups: check snprintf retval in unpriv_systemd_create_scope
    93d545e37 cgroups: fix buffer out-of-bounds access in enable_controllers_delegation
    f8aa61f97 network: always initialize struct nl_handler
    6ea4a6c06 apparmor: properly check lxc_strmmap ret value
    b37cce95b github: fix coverity (add libpam-dev)
    a8dcf88d0 github: fix coverity build
    7e7393413 conf: ensure mount tunnel is a dependent mount
    01ae6d471 apparmor: allow shared mounts in start-container.in
    81d94a4ee conf: create separate peer group for container's root
    68020412c cgroups: only allocate user namespace if we have to
    27f69d45b cgroups: use userns_exec_full() during cgroup removal
    1029c2a06 README: remove lgtm
    dcf85308c meson.build: strip newline for variable assignments
    8aac58866 meson.build: strip newlines from git output
    16c6ff226 tests: lxc-test-reboot: Fix build on ia64
    64eb31d02 src/lxc/meson.build: fix the static library path
    c6c705bfa build: drop build-time systemd dependency
    f321cd610 build: use cc.get_define to detect FS_CONFIG_* symbols
    5aff4ea37 build: only build init.lxc.static if libcap is statically linkable
    c1f87c811 build: fix handling of dependancies to fix build on openSUSE
    bc318926d cgroups: fix -Waddress warning
    4deaa28c0 Unroll IN_SET since the max usage is 2 elements check
    73fd9bf55 tests: lxc-test-checkpoint-restore: use trap to do cleanup
    8480c56a4 tools: lxc-destroy: update help message for --force
    3cac3fce4 build: add libsystemd to oss fuzz dependencies
    f7cadaa34 lxc/attach: Detect EACCES from execvp and convert to 126 exit status
    4ebca5a00 lxc-attach: Fix lost return codes of spawned processes that are killed
    09233897b Update README.md
    4a66dabf8 conf: allow cross-device links
    dc4f1220f build(deps): bump actions/checkout from 2 to 3
    2b802090f Update cifuzz.yml
    20cc78456 fix error message when use tools with -? option
    b0abedf60 use sd_bus_call_method_async to replace the asyncv one
    589a930f1 tree-wide: split open helpers into open_utils.h
    7b1836bce build: prevent the inclusion of linux/mount.h with a hack
    da8c29853 mount_utils: remove conf.h include
    74c2f58e1 mount: move mount utilities from syscall_wrappers.h into mount_utils.h
    68cf56489 tree-wide: minimize liburing.h inclusion
    06f99c259 meson: fix docbook2x detection
    133aa416c tree-wide: use struct open_how directly
    63468abd3 tree-wide: use struct clone_args directly
    4771699fd tree-wide: wipe direct or indirect linux/mount.h inclusion
    16ebb29dc meson.build: allow explicit distrosysconfdir
    cbabe8abf build: check for FS_CONFIG_* header symbol in sys/mount.h
    ef1e0607b build: detect sys/pidfd.h availability
    c1115e150 build: detect where struct mount_attr is declared
    e452c8945 gitignore: Simplify
    32a071519 lxc-usernsexec: allow to select which {g,u}id to switch to
    7f6643071 README: update security mails
    5e704fe38 meson.build: fix build without stack-protector
    7d7235489 meson.build: fix build with -Dcapabilities=false
    8ee887908 src/lxc/log.h: fix STRERROR_R_CHAR_P
    353f0f992 meson: add remaining still-in-use config checks
    3d360cf9d Store mount options in correct variable
    df3301046 Fix off-by-one error constructing mount options
    8ee615c27 add check for statvfs
    07a00b78f start: fix namespace sharing
    eae44ce19 conf: fix append_ttyname()
    6c50e09f2 start: record inherited namespaces earlier to make it available for idmapped rootfs setup
    7317d2a8a start: don't overwrite file descriptors during namespace preservation
    fc133a9f3 conf: log file descriptors on error during idmapped mount setup
    26de6cbc8 fix for issue 4026: set broadcast to 0.0.0.0 for /31 and /32
    c55353f84 use systemd dbus StartTransientUnit for unpriv cgroup2
    b203e1a14 Fix uninitialized read in parse_cap when libcap is not used
    e73520adf meson: Set DEVEL flag post release
    f4d02217e tools: Provide multicall lxc binary
    289d6413e meson: Generate compile commands by iterating over an array
    132ff8e28 lxccontainer: rework copy_file()
    f357cb290 lxccontainer: improve mod_rdep()
    b576a47d5 Read list until process exits

We also:

   - drop two patches that were backported
   - refresh the context of one

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-05-29 13:23:51 +00:00
Bruce Ashfield
d79afeac8c lxc: convert remaining WORKDIR references to UNPACKDIR
While the WORKDIR references seem to work, they may not continue
to work. We switch to using UNPACKDIR which is where the SRC_URI
referenced elements / files will be placed by the fetcher.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-05-29 13:16:56 +00:00
Xiangyu Chen
8410846c0b lxc: fix broken test cases
Upstream dropped cgroup handling in lxc-test-usernic lxc-test-unpriv and
lxc-test-apparmor-mount to fix the broken cases.

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-04-09 14:08:26 +00:00
Xiangyu Chen
6e69a270b3 lxc: add distrosysconfdir option to make sure the lxc configuration in correct folder
After the commit[1] "meson.build: allow explicit distrosysconfdir", the config of lxc would install
to distrosysconfdir[2], if this value not set, it might set to /etc/sysconfig, that cause lxc-net
configuration cannot be found[3] due to our bb file install the lxc-net to /etc/default folder.

Ref:
[1] 16ebb29dcc
[2] https://github.com/lxc/lxc/blob/main/config/sysconfig/meson.build#L9
[3] https://github.com/lxc/lxc/blob/main/config/sysconfig/lxc.in#L28

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-12-04 21:05:40 +00:00
Bruce Ashfield
08435d20b1 recipes/classes/scripts: Drop SRCPV usage
bitbake has been enhanced such that SRCPV is no longer needed in
PV to handle updating git hashes and task signatures.

We can simplify our PV by dropping SRCPV

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-08-24 01:38:21 +00:00
Bruce Ashfield
6b10588476 lxc: update to 5.0.3
Bumping lxc to version lxc-5.0.3, which comprises the following commits:

    cb8e38aca Release LXC 5.0.3
    85d3f4b1d github: Update for main branch
    d195603e3 CONTRIBUTING: add a note on AI generated code
    54227bdb1 get_hierarchy: dont WARN about no usable controller
    be7efff35 github: Add DCO/target tests
    8751cd208 explicitly convert *mainloop_handler to __u64
    c16bb5b71 tests: fix parse_config_file seccomp test
    95ef57c73 src/tests: Fix container creation errors
    30c79f8a7 rename functions which clash with libsystemd's
    3801a6a3d mainloop: io_uring: disable IORING_POLL_ADD_MULTI
    fba0ae071 terminal: make a terminal FDs non-blocking
    1af412d2f file_utils: add fd_make_nonblocking helper
    eaaf041f6 file_utils: rename fd_make_nonblocking to fd_make_blocking
    d05fb8a45 setproctitle(): Handle potential NULL return from strrchr()
    709d42691 make setproctitle()'s /proc/pid/stat parsing safe
    b183d437b console-log test: make sure container is stopped before restarting
    d638d5951 tree-wide: convert fcntl(FD_CLOEXEC) to SOCK_CLOEXEC
    c12c0acb0 Allow fuse mounts in apparmor start-container.
    c93418d98 Add support for squashfs images in oci via atomfs
    3754e803f apparmor: don't try to mmap empty files
    706ee25cd initutils: use PRIu64 for uint64_t in setproctitle
    3cdd5078c lxc-net.in: fix nftables syntax for IPv6 NAT
    97bf62247 Fix strlcat's return value checks
    7c81572af Fix typo: bev_type -> bdev_type
    727adc052 drop broken lxc-test-fuzzers

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-08-24 01:38:21 +00:00
Bruce Ashfield
379c743852 lxc: update to 5.0.2-tip
Bumping lxc to version lxc-5.0.2-1-g727adc052, which comprises the following commits:

    727adc052 drop broken lxc-test-fuzzers
    d57173681 Release LXC 5.0.2

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-04-05 16:03:56 -04:00
Xiangyu Chen
25bbebeba0 lxc: templates/lxc-busybox.in: if busybox contains init then use it
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-03-17 15:41:16 -04:00
Bruce Ashfield
51a891439b lxc: update to v5.0.2
We drop a patch that has been merged upsream, and also bump the
version to lxc-5.0.2, which comprises the following commits:

    d57173681 Release LXC 5.0.2
    17c85aac6 Fix build error on sparc64 caused by using the gold linker
    b7dfb1312 lxc-default-cgns apparmor profile: allow overlay mounts
    5cde898f4 lxc_user_nic: fix get_mtu() error handling
    80553b5b4 Patching an incoming CVE (CVE-2022-47952)
    1089f49c5 build: force linking against liblxc
    0d2a03118 checkconfig: Fix filesystem capability check
    e17429580 checkconfig: Tweak cgroup handling
    4ab76611d checkconfig: Tweak layout
    0bca9bb18 checkconfig: Hide version if no lxc-start
    957e0a5d9 checkconfig: Fix mixed tabs/spaces
    4916a16bd src/lxc/meson.build: fix build without apparmor
    a330126b4 build: use cc.get_define to detect FS_CONFIG_* symbols
    c89be8325 cgroups: fix cgroup layout detection in __initialize_cgroups
    7802f3647 state: additional check in lxc_wait to prevent OOB
    4b434bf52 cgroups: check snprintf retval in unpriv_systemd_create_scope
    0eca8d2ea cgroups: fix buffer out-of-bounds access in enable_controllers_delegation
    4ce8345d6 network: always initialize struct nl_handler
    28a1591cd apparmor: properly check lxc_strmmap ret value
    bd56c89ea github: fix coverity (add libpam-dev)
    a1ead0dcc github: fix coverity build
    9e35b3ecd conf: ensure mount tunnel is a dependent mount
    2ff447445 apparmor: allow shared mounts in start-container.in
    58e878209 conf: create separate peer group for container's root
    06b4612ee cgroups: only allocate user namespace if we have to
    2662959b8 cgroups: use userns_exec_full() during cgroup removal
    4dcc84c6b README: remove lgtm
    748720ceb tests: lxc-test-reboot: Fix build on ia64
    5749e2e20 Unroll IN_SET since the max usage is 2 elements check
    495b1bbf4 tests: lxc-test-checkpoint-restore: use trap to do cleanup
    77e08b887 tools: lxc-destroy: update help message for --force
    9165ff1ed lxc/attach: Detect EACCES from execvp and convert to 126 exit status
    011faff36 lxc-attach: Fix lost return codes of spawned processes that are killed
    931693945 Update README.md
    a6287882e conf: allow cross-device links
    8fa6d765a build(deps): bump actions/checkout from 2 to 3
    e08c1b740 Update cifuzz.yml
    0e9e64db8 fix error message when use tools with -? option
    f1a61a5f0 use sd_bus_call_method_async to replace the asyncv one
    ca863bd72 tree-wide: split open helpers into open_utils.h
    02900160c build: prevent the inclusion of linux/mount.h with a hack
    51b8763b0 mount_utils: remove conf.h include
    460243f40 mount: move mount utilities from syscall_wrappers.h into mount_utils.h
    d5d7e2036 tree-wide: minimize liburing.h inclusion
    e2b8776bb meson: fix docbook2x detection
    d1dfce9c5 tree-wide: use struct open_how directly
    c9bca3326 tree-wide: use struct clone_args directly
    497479ea3 tree-wide: wipe direct or indirect linux/mount.h inclusion
    02f4bd00f build: check for FS_CONFIG_* header symbol in sys/mount.h
    c222fb567 gitignore: Simplify
    22e8a7941 meson.build: strip newline for variable assignments
    d5600cf76 meson.build: strip newlines from git output
    7d6b53438 src/lxc/meson.build: fix the static library path
    1d5c7e771 build: drop build-time systemd dependency
    59f69162c build: only build init.lxc.static if libcap is statically linkable
    062c2d980 build: fix handling of dependancies to fix build on openSUSE
    2a9743bba cgroups: fix -Waddress warning
    e510d6bd8 build: detect sys/pidfd.h availability
    b7b269680 build: detect where struct mount_attr is declared
    5313e5048 meson.build: allow explicit distrosysconfdir
    0539095ac Release LXC 5.0.1
    a1329fefe README: update security mails
    315d4cec6 meson.build: fix build without stack-protector
    aba631cd4 meson.build: fix build with -Dcapabilities=false
    c2ee9b440 src/lxc/log.h: fix STRERROR_R_CHAR_P
    d441ee585 meson: add remaining still-in-use config checks
    00a79876b Store mount options in correct variable
    da0f35646 Fix off-by-one error constructing mount options
    31bff905a add check for statvfs
    242289b6b start: fix namespace sharing
    41f602361 conf: fix append_ttyname()
    ea4fd7f85 start: record inherited namespaces earlier to make it available for idmapped rootfs setup
    e74fd55bc start: don't overwrite file descriptors during namespace preservation
    dcfd75bb4 conf: log file descriptors on error during idmapped mount setup
    c3e648700 fix for issue 4026: set broadcast to 0.0.0.0 for /31 and /32
    cfcbdb75f use systemd dbus StartTransientUnit for unpriv cgroup2
    28726f215 Fix uninitialized read in parse_cap when libcap is not used
    d663495ee meson: Generate compile commands by iterating over an array

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-01-19 15:42:25 -05:00
Chen Qi
da285876dc lxc: fix compilation error for ARM/ARM64
There's compilation error when building lxc for ARM/ARM64 BSPs.
The error message is as below:

  | ../git/src/lxc/cgroups/cgfsng.c🔢111: error: incompatible
    type for argument 10 of 'sd_bus_call_method_asyncv'

The 10th argument is of type va_list but NULL is supplied, thus causing
compilation error.

So we use sd_bus_call_method_async to replace the asyncv one to
solve this issue.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-08-25 22:55:48 -04:00
Bruce Ashfield
05f316f70a lxc: update to 5.x and meson
This is a significant update to lxc as autotools has been replaced
with meson.

Not all existing autotools options have meson equivalents, so there
may be differences in functionallity.

As part of this update, and unused features have been dropped, mainly
when the meson equivalent was not available.

Basic / core functionality has been tested with systemd, sysvinit
requires more work, and patches will be accepted to restore that
capability.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-08-25 22:55:48 -04:00
Bruce Ashfield
3ca7a147e0 lxc: update to 4.0.12
We refresh our wget -> curl patch for context, but otherwise, no other
changes are required.

Bumping lxc to version lxc-4.0.12-8-g5ba5725cb, which comprises the following commits:

    5ba5725cb cgroups: modify cgroup2 attach logic
    1e4631641 ttys: ensure container_ttys= env variable is set correctly
    8ef019a6c doc: Fix reverse allowlist/denylist in Japanese man page
    f1c4a17e7 cgroups: log fd of newly created cgroup
    f7446b4e1 cgroups: check that opened file descriptor is a cgroup filesystem
    71ba7f656 doc: Fix reverse allowlist/denylist
    f314419d1 lxc-checkconfig: Fix bashism
    ca4c25c6e lxc-net: don't start by default inside lxc
    7e37cc96b Release LXC 4.0.12
    d678aa61e lxccontainer: allow xdev when creating the container dir
    bc61d2354 github: Clear default ACL on /home
    fb0e0b3dd github: add systemd-coredump
    53e0d390c github: more detailed compilation instructions
    db84a8b6b github: log system info
    e9282b6a6 github: ensure system liblxc is wiped
    ad8a3bd68 lxccontainer: properly wrap lxcapi_create()
    bceb81cd2 build: simplify thread local storage handling
    919da35b0 build: only enable LTO for regular builds
    d0a1e9c44 lxccontainer: simplify partial file creation
    62b5c0051 lxccontainer: improve create_partial()
    bfe24cb6a lxccontainer: improve do_lxcapi_create()
    1a5c236ac lxccontainer: improve do_lxcapi_save_config()
    bae0d7196 conf: log termination status
    4eb09aaad conf: improve userns_exec_mapped_root()
    928943280 github: stop installing gnupg now that it's unused
    7c70b0d14 lxc-download: Rely on HTTPS only
    199d2077c Update README.md: Fix broken link (403 Forbidden)
    0b6b230e3 attach: don't pointlessly call cgroup_init()
    dbef704fb commands: log command during file descriptor retrieval
    733f9c909 lxc-checkconfig.in: CONFIG_NF_NAT_IPV4 was removed from the kernel 2019-03-03
    ce392e230 (trivial) Fix error message, failure was connect not bind
    5628bff79 seccomp: close seccomp notifier fd in cleanup handler
    1f2af83a9 seccomp: only guard seccomp notify behind HAVE_DECL_SECCOMP_NOTIFY_FD
    9451303d5 api-extensions: don't advertise seccomp notify support if it's not compiled in
    23d07c315 use 2 sysfs instances for sys:mixed
    0dd3258bd Revert "api: ->save_config() doesn't need to create container dir"
    93edd510a api: ->save_config() doesn't need to create container dir
    28b2e04f1 cgroups: fix compiler warning
    15515f9a3 Revert "initutils: use vfork() in lxc_container_init()"
    41d2530d1 macro: ensure necessary io_uring flags are defined
    fc4e948c9 autotools: Avoid multiple liblxc.so with --enable-pam
    a616a311a build: refuse to compile with unsupported liburing version
    93be4e512 tests: add lxc.proc.* test
    d8027e49c tests: add lxc.sysctls.* test
    6f580343e test: improve logging helpers
    a10ff3418 conf: improve logging setting sysctl and /proc/<pid>/ parameters
    334cf7beb conf: apply /proc/sys and /proc/<pid>/ parameters
    1b74e01ad tests: include config.h
    c36379431 build: move _FILE_OFFSET_BITS to common option
    f24c234ee start: log signal name and number
    4915c9112 process_utils: add signal_name() helper
    78baec37d build: improve liburing support detection
    1a102b310 mainloop: make ifdefs easier to follow
    cf931928f Replace last occurence of 'which' with 'command -v'
    1ec5939b4 Replace deprecated backticks with $() construct
    fdfb4a13d Replace 'which' with 'command -v' in tests too
    71743e811 start: check event loop type before closing fd
    f69e6b4d3 mainloop: make sure that descr->ring is allocated
    1a8895855 Replace 'which' with 'command -v'
    9219277cc build: add io-uring-event-loop option
    d04eb166c build: add static libcap to output
    bc51048b7 confile: don't use path_simplify() on lxc.{execute,init}.cmd
    48728e988 conf: add cgroup2, cgroup2:ro, cgroup2:force, cgroup2:ro:force options
    4d3aad49d AUTHORS: Update to point to git history
    e328a988e conf: handle kernels without or not using SMT
    d40b0deb4 doc: fix typo in English lxc.container.conf(5)
    49fab27fc doc: Add lxc.sched.core to Japanese lxc.container.conf(5)
    1ad1cab80 doc: add loglevels to ja and ko common options
    1505f0780 conf: make it more obvious how auto-mount flags are defined
    429233cf0 criu: support restoring containers with pre-created veth devices
    48e079bf3 Release LXC 4.0.11

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-03-21 17:31:28 -04:00
Bruce Ashfield
108e089f7e global: update licence values to SPDX values
These changes are the result of running the convert-spdx-licenses.py
oe-core script.

There's no impact to the build, but we will avoid issues when
interacting with core QA by the alignment.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-02-18 13:07:10 -05:00
Bruce Ashfield
0a7ae8bc50 global: convert github SRC_URIs to use https protocol
github is removing git:// access, and fetches will start experiencing
interruptions in service, and eventually will fail completely.

bitbake will also begin to warn on github src_uri's that don't use
https. So we convert the meta-virt instances to use protocol=https
(done using the oe-core contrib conversion script)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-11-02 09:57:03 -04:00
Xu, Yanfei
3bff112a44 lxc: update to 4.0.11
update to 4.0.11

1.drop two patches that have been integrated to upstream repo.
2.drop tests-add-no-validate-when-using-download-template.patch
  because it is no longer appropriate as the "download" has been
  replaced with "busybox"
3.fix the apply failure of templates-use-curl-instead-of-wget.patch
4.update lxc from 4.0.10 to 4.0.11

Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-11-02 09:57:03 -04:00
sana kazi
807506c777 lxc: Fix -c command for lxc-attach
Added fix_c_command.patch the -c command seems to be broken because
the passed context is ignored and always overwritten by the context
specified in the config file.

Signed-off-by: Sana Kazi <Sana.Kazi@kpit.com>
Signed-off-by: Sana Kazi <sanakazisk19@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-09-16 18:18:28 -04:00
Bruce Ashfield
47f9bdaa9e lxc: update to 4.0.10 and switch to git
To more easily pull in fixes / backports from newer versions, switching
to git. This also allows bisecting and easier support when we run into
upgrade issues.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-09-16 18:01:55 -04:00