- 09 Jul, 2019 9 commits
-
-
Wolfgang Bumiller authored
When we fail to send a message, we send a default seccomp response and try to reconnect to the proxy. It doesn't really make much sense to retry to send the request over the new connection as the syscall has already been answered. The same goes for receiving the response - after reconnecting to the proxy, we're a new client to a potentially new proxy process, so awaiting a response without having sent a request doesn't make all too much sense either. In the future we should probably have a timeout or retry count for the entire proxy _transaction_ before sending a response to seccomp at all (and probably handle requests asynchronously). Signed-off-by:Wolfgang Bumiller <w.bumiller@proxmox.com>
-
Wolfgang Bumiller authored
The seccomp notify API has a few variables: The struct sizes are queried at runtime, and we now also have a user configured cookie. This means that with a SOCK_STREAM connection the proxy needs to carefully read() the right amount of data based on the contents of our proxy message struct to avoid ending up in the middle of a packet. While for now this may not be too tragic, since we currently only ever send a single packet and then wait for the response, we may at some point want to be able to handle multiple processes simultaneously, hence it makes sense to switch to a packet based connection. So switch to using SOCK_SEQPACKET which is packet based, (and also guarantees ordering). The `MSG_PEEK` flag can be used with `recvmsg()` to figure out a packet's size on the other end, and usually the size *should* not change after that for an existing connection from a running container. Signed-off-by:Wolfgang Bumiller <w.bumiller@proxmox.com>
-
Wolfgang Bumiller authored
Signed-off-by:Wolfgang Bumiller <w.bumiller@proxmox.com>
-
Wolfgang Bumiller authored
The previous API doesn't reflect the fact that `seccomp_notif` and `seccomp_notif_resp` are allocatd dynamically with sizes figured out at runtime. We now query the sizes via the seccomp(2) syscall and change `struct seccomp_notify_proxy_msg` to contain the sizes instead of the data, with the data following afterwards. Additionally it did not provide a convenient way to identify the container the message originated from, for which we now include a cookie configured via `lxc.seccomp.notify.cookie`. Since we currently always send exactly one request and await the response immediately, verify the `id` in the client's response. Finally, the proxy message's "version" field is removed, and we reserve 64 bits in its place. Signed-off-by:Wolfgang Bumiller <w.bumiller@proxmox.com>
-
Wolfgang Bumiller authored
This is an arbitrary string to to be included in proxied seccomp notification messages. Signed-off-by:Wolfgang Bumiller <w.bumiller@proxmox.com>
-
Wolfgang Bumiller authored
Signed-off-by:Wolfgang Bumiller <w.bumiller@proxmox.com>
-
Wolfgang Bumiller authored
we want to use SOCK_SEQPACKET and in the future perhaps SOCK_DATAGRAM as well Signed-off-by:Wolfgang Bumiller <w.bumiller@proxmox.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Wolfgang Bumiller authored
Signed-off-by:Wolfgang Bumiller <w.bumiller@proxmox.com>
-
- 08 Jul, 2019 2 commits
-
-
Christian Brauner authored
pidf_send_signal: fix return value
-
Wolfgang Bumiller authored
Signed-off-by:Wolfgang Bumiller <w.bumiller@proxmox.com>
-
- 07 Jul, 2019 2 commits
-
-
Stéphane Graber authored
lxccontainer: properly cleanup on mount injection failure
-
Christian Brauner authored
Closes: #3082 Reported-by:
Stéphane Graber <stgraber@ubuntu.com> Signed-off-by:
Christian Brauner <christian.brauner@ubuntu.com>
-
- 05 Jul, 2019 2 commits
-
-
Christian Brauner authored
start: call lxc_find_gateway_addresses early
-
Thomas Parrott authored
This restores the lxc.net.x.ipv4.gateway = auto and lxc.net.x.ipv6.gateway = auto functionality. When the child is created the parent and child have different views of struct lxc_handler since - obviously - virtual memory is duplicated. So any changes to done by the parent that the child should see need to be IPCed to it. For any non-actual device creation stuff this does not make much sense. This includes finding gateway addresses. Move it back prior to clone(). Fixes #3078 Signed-off-by:
Thomas Parrott <thomas.parrott@canonical.com> [christian.brauner@ubuntu.com: non-functional changes and update commit message] Signed-off-by:
Christian Brauner <christian.brauner@ubuntu.com>
-
- 03 Jul, 2019 17 commits
-
-
Stéphane Graber authored
network: simplify lxc_network_move_created_netdev_priv()
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Stéphane Graber authored
network: fixes after unifying network creation
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Stéphane Graber authored
cgroups: hande cpuset initialization race
-
Christian Brauner authored
Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Stéphane Graber authored
network: remove faulty restriction
-
Christian Brauner authored
Reported-by:
Thomas Parrott <thomas.parrott@canonical.com> Signed-off-by:
Christian Brauner <christian.brauner@ubuntu.com>
-
- 02 Jul, 2019 5 commits
-
-
Stéphane Graber authored
start: unify network creation
-
Christian Brauner authored
Closes #3066. Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
-
Christian Brauner authored
Make sure that network creation happens at the same time for containers started by privileged and unprivileged users. The only reason we didn't do this so far was to avoid sending network device ifindices around in the privileged case. Link: https://github.com/lxc/lxc/issues/3066Signed-off-by:
Christian Brauner <christian.brauner@ubuntu.com>
-
Stéphane Graber authored
bugfixes
-
Stéphane Graber authored
lxccontainer: rework seccomp notify api function
-
- 30 Jun, 2019 1 commit
-
-
Christian Brauner authored
Move code/variable in smaller scope
-
- 29 Jun, 2019 1 commit
-
-
Rachid Koucha authored
In start.c, do not fill path[] table if not necessary Signed-off-by:Rachid Koucha <rachid.koucha@gmail.com>
-
- 28 Jun, 2019 1 commit
-
-
Christian Brauner authored
fix memory leak in do_storage_create
-