[lxc-devel] [lxc/master] startup fixes

2020-10-19 Thread brauner on Github
The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxc/pull/3556

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
Signed-off-by: Christian Brauner 
From 35f0c46e0da931d32c297d203831ea5da9bef72c Mon Sep 17 00:00:00 2001
From: Christian Brauner 
Date: Mon, 19 Oct 2020 11:46:08 +0200
Subject: [PATCH 1/3] sync: switch to new error helpers

Signed-off-by: Christian Brauner 
---
 src/lxc/sync.c | 55 ++
 1 file changed, 20 insertions(+), 35 deletions(-)

diff --git a/src/lxc/sync.c b/src/lxc/sync.c
index c98357cb64..52c065f539 100644
--- a/src/lxc/sync.c
+++ b/src/lxc/sync.c
@@ -23,30 +23,21 @@ static int __sync_wait(int fd, int sequence)
ssize_t ret;
 
ret = lxc_read_nointr(fd, , sizeof(sync));
-   if (ret < 0) {
-   SYSERROR("Sync wait failure");
-   return -1;
-   }
+   if (ret < 0)
+   return log_error_errno(-1, errno, "Sync wait failure");
 
if (!ret)
return 0;
 
-   if ((size_t)ret != sizeof(sync)) {
-   ERROR("Unexpected sync size: %zu expected %zu", (size_t)ret, 
sizeof(sync));
-   return -1;
-   }
+   if ((size_t)ret != sizeof(sync))
+   return log_error(-1, "Unexpected sync size: %zu expected %zu", 
(size_t)ret, sizeof(sync));
 
-   if (sync == LXC_SYNC_ERROR) {
-   ERROR("An error occurred in another process "
- "(expected sequence number %d)", sequence);
-   return -1;
-   }
+   if (sync == LXC_SYNC_ERROR)
+   return log_error(-1, "An error occurred in another process 
(expected sequence number %d)", sequence);
+
+   if (sync != sequence)
+   return log_error(-1, "Invalid sequence number %d. Expected 
sequence number %d", sync, sequence);
 
-   if (sync != sequence) {
-   ERROR("Invalid sequence number %d. Expected sequence number %d",
- sync, sequence);
-   return -1;
-   }
return 0;
 }
 
@@ -54,10 +45,9 @@ static int __sync_wake(int fd, int sequence)
 {
int sync = sequence;
 
-   if (lxc_write_nointr(fd, , sizeof(sync)) < 0) {
-   SYSERROR("Sync wake failure");
-   return -1;
-   }
+   if (lxc_write_nointr(fd, , sizeof(sync)) < 0)
+   return log_error_errno(-1, errno, "Sync wake failure");
+
return 0;
 }
 
@@ -65,6 +55,7 @@ static int __sync_barrier(int fd, int sequence)
 {
if (__sync_wake(fd, sequence))
return -1;
+
return __sync_wait(fd, sequence+1);
 }
 
@@ -103,31 +94,25 @@ int lxc_sync_init(struct lxc_handler *handler)
int ret;
 
ret = socketpair(AF_LOCAL, SOCK_STREAM, 0, handler->sync_sock);
-   if (ret) {
-   SYSERROR("failed to create synchronization socketpair");
-   return -1;
-   }
+   if (ret)
+   return log_error_errno(-1, errno, "failed to create 
synchronization socketpair");
 
/* Be sure we don't inherit this after the exec */
-   fcntl(handler->sync_sock[0], F_SETFD, FD_CLOEXEC);
+   ret = fcntl(handler->sync_sock[0], F_SETFD, FD_CLOEXEC);
+   if (ret < 0)
+   return log_error_errno(-1, errno, "Failed to make socket 
close-on-exec");
 
return 0;
 }
 
 void lxc_sync_fini_child(struct lxc_handler *handler)
 {
-   if (handler->sync_sock[0] != -1) {
-   close(handler->sync_sock[0]);
-   handler->sync_sock[0] = -1;
-   }
+   close_prot_errno_disarm(handler->sync_sock[0]);
 }
 
 void lxc_sync_fini_parent(struct lxc_handler *handler)
 {
-   if (handler->sync_sock[1] != -1) {
-   close(handler->sync_sock[1]);
-   handler->sync_sock[1] = -1;
-   }
+   close_prot_errno_disarm(handler->sync_sock[1]);
 }
 
 void lxc_sync_fini(struct lxc_handler *handler)

From 5befd767a6cb65e3c08456c73501b7fec63b564c Mon Sep 17 00:00:00 2001
From: Christian Brauner 
Date: Mon, 19 Oct 2020 11:56:53 +0200
Subject: [PATCH 2/3] sync: log synchronization states

Signed-off-by: Christian Brauner 
---
 src/lxc/sync.c | 11 ++-
 src/lxc/sync.h | 28 
 2 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/src/lxc/sync.c b/src/lxc/sync.c
index 52c065f539..7ccdb71fc5 100644
--- a/src/lxc/sync.c
+++ b/src/lxc/sync.c
@@ -56,36 +56,44 @@ static int __sync_barrier(int fd, int sequence)
if (__sync_wake(fd, sequence))
return -1;
 
-   return __sync_wait(fd, sequence+1);
+   return __sync_wait(fd, sequence + 1);
 }
 
 int lxc_sync_barrier_parent(struct lxc_handler *handler, int sequence)
 {
+   TRACE("Child waking parent with sequence %s and waiting for sequence 
%s",
+   

[lxc-devel] [lxd/master] Network: Adds support for "none" in "ipv4.address" and "ipv6.address" settings

2020-10-19 Thread tomponline on Github
The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/8053

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===

From 0e5c2730002452dbc53a11c3dab6e681cd19d3df Mon Sep 17 00:00:00 2001
From: Thomas Parrott 
Date: Mon, 19 Oct 2020 09:29:59 +0100
Subject: [PATCH 1/4] lxd/network/driver/ovn: Allows "none" as value for
 ipv4.address and ipv6.address

Signed-off-by: Thomas Parrott 
---
 lxd/network/driver_ovn.go | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lxd/network/driver_ovn.go b/lxd/network/driver_ovn.go
index 5ea70ba071..04b846b3f1 100644
--- a/lxd/network/driver_ovn.go
+++ b/lxd/network/driver_ovn.go
@@ -120,14 +120,14 @@ func (n *ovn) Validate(config map[string]string) error {
"bridge.hwaddr": validate.Optional(validate.IsNetworkMAC),
"bridge.mtu":validate.Optional(validate.IsNetworkMTU),
"ipv4.address": func(value string) error {
-   if validate.IsOneOf(value, []string{"auto"}) == nil {
+   if validate.IsOneOf(value, []string{"none", "auto"}) == 
nil {
return nil
}
 
return 
validate.Optional(validate.IsNetworkAddressCIDRV4)(value)
},
"ipv6.address": func(value string) error {
-   if validate.IsOneOf(value, []string{"auto"}) == nil {
+   if validate.IsOneOf(value, []string{"none", "auto"}) == 
nil {
return nil
}
 
@@ -219,7 +219,7 @@ func (n *ovn) Validate(config map[string]string) error {
 
// If NAT disabled, check subnets are within the uplink network's 
routes and project's subnet restrictions.
for _, keyPrefix := range []string{"ipv4", "ipv6"} {
-   if !shared.IsTrue(config[fmt.Sprintf("%s.nat", keyPrefix)]) && 
config[fmt.Sprintf("%s.address", keyPrefix)] != "" {
+   if !shared.IsTrue(config[fmt.Sprintf("%s.nat", keyPrefix)]) && 
validate.IsOneOf(config[fmt.Sprintf("%s.address", keyPrefix)], []string{"", 
"none", "auto"}) != nil {
_, ipNet, err := 
net.ParseCIDR(config[fmt.Sprintf("%s.address", keyPrefix)])
if err != nil {
return err

From 9d4ceec468a1fc0d1a81597cddba19793f97951b Mon Sep 17 00:00:00 2001
From: Thomas Parrott 
Date: Mon, 19 Oct 2020 11:18:44 +0100
Subject: [PATCH 2/4] lxd/network/driver/ovn: Re-run validation of auto
 generated address used in FillConfig

Signed-off-by: Thomas Parrott 
---
 lxd/network/driver_ovn.go | 12 
 1 file changed, 12 insertions(+)

diff --git a/lxd/network/driver_ovn.go b/lxd/network/driver_ovn.go
index 04b846b3f1..d8b9b39714 100644
--- a/lxd/network/driver_ovn.go
+++ b/lxd/network/driver_ovn.go
@@ -1122,14 +1122,18 @@ func (n *ovn) deleteUplinkPortPhysical(uplinkNet 
Network) error {
 
 // FillConfig fills requested config with any default values.
 func (n *ovn) FillConfig(config map[string]string) error {
+   changedConfig := false
+
if config["ipv4.address"] == "" {
config["ipv4.address"] = "auto"
+   changedConfig = true
}
 
if config["ipv6.address"] == "" {
content, err := 
ioutil.ReadFile("/proc/sys/net/ipv6/conf/default/disable_ipv6")
if err == nil && string(content) == "0\n" {
config["ipv6.address"] = "auto"
+   changedConfig = true
}
}
 
@@ -1145,6 +1149,8 @@ func (n *ovn) FillConfig(config map[string]string) error {
if config["ipv4.nat"] == "" {
config["ipv4.nat"] = "true"
}
+
+   changedConfig = true
}
 
if config["ipv6.address"] == "auto" {
@@ -1158,6 +1164,12 @@ func (n *ovn) FillConfig(config map[string]string) error 
{
if config["ipv6.nat"] == "" {
config["ipv6.nat"] = "true"
}
+
+   changedConfig = true
+   }
+
+   if changedConfig {
+   return n.Validate(config)
}
 
return nil

From f3da8b57c47423616e6490c89fb820be6c5dd651 Mon Sep 17 00:00:00 2001
From: Thomas Parrott 
Date: Mon, 19 Oct 2020 11:21:00 +0100
Subject: [PATCH 3/4] lxd/network/driver/ovn: Modify setup() to support
 optional IP addresses

Signed-off-by: Thomas Parrott 
---
 lxd/network/driver_ovn.go | 66 ++-
 1 file changed, 38 insertions(+), 28 deletions(-)

diff --git a/lxd/network/driver_ovn.go b/lxd/network/driver_ovn.go
index d8b9b39714..4e06b123e2 100644
--- a/lxd/network/driver_ovn.go
+++ b/lxd/network/driver_ovn.go
@@ -1371,14 +1371,14 @@ func (n *ovn) 

[lxc-devel] Errored: lxc/lxc#7897 (master - 1593efb)

2020-10-19 Thread Travis CI
Build Update for lxc/lxc
-

Build: #7897
Status: Errored

Duration: 17 mins and 30 secs
Commit: 1593efb (master)
Author: Stéphane Graber
Message: Merge pull request #3556 from brauner/2020-10-19/fixes

startup fixes

View the changeset: 
https://github.com/lxc/lxc/compare/a282f7792fcc...1593efb5d7e8

View the full build log and details: 
https://travis-ci.org/github/lxc/lxc/builds/737052974?utm_medium=notification_source=email


--

You can unsubscribe from build emails from the lxc/lxc repository going to 
https://travis-ci.org/account/preferences/unsubscribe?repository=1693277_medium=notification_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.


___
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel


[lxc-devel] Passed: lxc/lxc#7898 (stable-4.0 - 90a3b1d)

2020-10-19 Thread Travis CI
Build Update for lxc/lxc
-

Build: #7898
Status: Passed

Duration: 14 mins and 4 secs
Commit: 90a3b1d (stable-4.0)
Author: Christian Brauner
Message: start: improve devpts fd sending

Closes: #3549.
Signed-off-by: Christian Brauner 

View the changeset: 
https://github.com/lxc/lxc/compare/531e01280365...90a3b1da8177

View the full build log and details: 
https://travis-ci.org/github/lxc/lxc/builds/737126381?utm_medium=notification_source=email


--

You can unsubscribe from build emails from the lxc/lxc repository going to 
https://travis-ci.org/account/preferences/unsubscribe?repository=1693277_medium=notification_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.

___
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel


[lxc-devel] [lxc/lxc] 35f0c4: sync: switch to new error helpers

2020-10-19 Thread Stéphane Graber
  Branch: refs/heads/master
  Home:   https://github.com/lxc/lxc
  Commit: 35f0c46e0da931d32c297d203831ea5da9bef72c
  https://github.com/lxc/lxc/commit/35f0c46e0da931d32c297d203831ea5da9bef72c
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M src/lxc/sync.c

  Log Message:
  ---
  sync: switch to new error helpers

Signed-off-by: Christian Brauner 


  Commit: 5befd767a6cb65e3c08456c73501b7fec63b564c
  https://github.com/lxc/lxc/commit/5befd767a6cb65e3c08456c73501b7fec63b564c
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M src/lxc/sync.c
M src/lxc/sync.h

  Log Message:
  ---
  sync: log synchronization states

Signed-off-by: Christian Brauner 


  Commit: fbfe5c8208fd8304ee74b2e297585c64a0d6bd81
  https://github.com/lxc/lxc/commit/fbfe5c8208fd8304ee74b2e297585c64a0d6bd81
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M src/lxc/conf.c
M src/lxc/start.c

  Log Message:
  ---
  start: improve devpts fd sending

Closes: #3549.
Signed-off-by: Christian Brauner 


  Commit: 1593efb5d7e85721b2c9a69dde88e533d2f9cebe
  https://github.com/lxc/lxc/commit/1593efb5d7e85721b2c9a69dde88e533d2f9cebe
  Author: Stéphane Graber 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M src/lxc/conf.c
M src/lxc/start.c
M src/lxc/sync.c
M src/lxc/sync.h

  Log Message:
  ---
  Merge pull request #3556 from brauner/2020-10-19/fixes

startup fixes


Compare: https://github.com/lxc/lxc/compare/a282f7792fcc...1593efb5d7e8
___
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel


[lxc-devel] [lxd/master] Network: Removes OVN ipv4.routes.external and ipv6.routes.external

2020-10-19 Thread tomponline on Github
The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/8055

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
These are only used on OVN NICs now.
From 71caae866af04c142dbb48cc19a4d7a126e3657a Mon Sep 17 00:00:00 2001
From: Thomas Parrott 
Date: Mon, 19 Oct 2020 15:56:33 +0100
Subject: [PATCH 01/15] lxd/network/driver/ovn: Only call Validate in
 FillConfig if state is set

Signed-off-by: Thomas Parrott 
---
 lxd/network/driver_ovn.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lxd/network/driver_ovn.go b/lxd/network/driver_ovn.go
index ea1616d269..cfc5e7fff2 100644
--- a/lxd/network/driver_ovn.go
+++ b/lxd/network/driver_ovn.go
@@ -1168,7 +1168,7 @@ func (n *ovn) FillConfig(config map[string]string) error {
changedConfig = true
}
 
-   if changedConfig {
+   if changedConfig && n.state != nil {
return n.Validate(config)
}
 

From f6add9084341a88c0847398eb4db5610e7e5f1bd Mon Sep 17 00:00:00 2001
From: Thomas Parrott 
Date: Mon, 19 Oct 2020 15:56:15 +0100
Subject: [PATCH 02/15] lxd/db/projects: Adds GetProject function

Signed-off-by: Thomas Parrott 
---
 lxd/db/projects.go | 19 +++
 1 file changed, 19 insertions(+)

diff --git a/lxd/db/projects.go b/lxd/db/projects.go
index cf03765ea5..ff613611d1 100644
--- a/lxd/db/projects.go
+++ b/lxd/db/projects.go
@@ -189,3 +189,22 @@ func (c *ClusterTx) InitProjectWithoutImages(project 
string) error {
_, err = c.tx.Exec(stmt, defaultProfileID)
return err
 }
+
+// GetProject returns the project with the given key.
+func (c *Cluster) GetProject(projectName string) (*api.Project, error) {
+   var err error
+   var p *api.Project
+   err = c.Transaction(func(tx *ClusterTx) error {
+   p, err = tx.GetProject(projectName)
+   if err != nil {
+   return err
+   }
+
+   return nil
+   })
+   if err != nil {
+   return nil, err
+   }
+
+   return p, nil
+}

From fa2da560919d515ecd24a2aebc40b4a213c34fea Mon Sep 17 00:00:00 2001
From: Thomas Parrott 
Date: Mon, 19 Oct 2020 13:56:53 +0100
Subject: [PATCH 03/15] lxd/network/driver/ovn: Converts instance port
 functions to exported

So they can be accessed by OVN NIC directly.

Signed-off-by: Thomas Parrott 
---
 lxd/network/driver_ovn.go | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lxd/network/driver_ovn.go b/lxd/network/driver_ovn.go
index cfc5e7fff2..25780813e1 100644
--- a/lxd/network/driver_ovn.go
+++ b/lxd/network/driver_ovn.go
@@ -1887,8 +1887,8 @@ func (n *ovn) getInstanceDevicePortName(instanceID int, 
deviceName string) openv
return openvswitch.OVNSwitchPort(fmt.Sprintf("%s-%d-%s", 
n.getIntSwitchInstancePortPrefix(), instanceID, deviceName))
 }
 
-// instanceDevicePortAdd adds an instance device port to the internal logical 
switch and returns the port name.
-func (n *ovn) instanceDevicePortAdd(instanceID int, instanceName string, 
deviceName string, mac net.HardwareAddr, ips []net.IP, internalRoutes 
[]*net.IPNet, externalRoutes []*net.IPNet) (openvswitch.OVNSwitchPort, error) {
+// InstanceDevicePortAdd adds an instance device port to the internal logical 
switch and returns the port name.
+func (n *ovn) InstanceDevicePortAdd(instanceID int, instanceName string, 
deviceName string, mac net.HardwareAddr, ips []net.IP, internalRoutes 
[]*net.IPNet, externalRoutes []*net.IPNet) (openvswitch.OVNSwitchPort, error) {
var dhcpV4ID, dhcpv6ID string
 
revert := revert.New()
@@ -2065,8 +2065,8 @@ func (n *ovn) instanceDevicePortAdd(instanceID int, 
instanceName string, deviceN
return instancePortName, nil
 }
 
-// instanceDevicePortIPs returns the dynamically allocated IPs for a device 
port.
-func (n *ovn) instanceDevicePortDynamicIPs(instanceID int, deviceName string) 
([]net.IP, error) {
+// InstanceDevicePortDynamicIPs returns the dynamically allocated IPs for a 
device port.
+func (n *ovn) InstanceDevicePortDynamicIPs(instanceID int, deviceName string) 
([]net.IP, error) {
instancePortName := n.getInstanceDevicePortName(instanceID, deviceName)
 
client, err := n.getClient()
@@ -2077,8 +2077,8 @@ func (n *ovn) instanceDevicePortDynamicIPs(instanceID 
int, deviceName string) ([
return client.LogicalSwitchPortDynamicIPs(instancePortName)
 }
 
-// instanceDevicePortDelete deletes an instance device port from the internal 
logical switch.
-func (n *ovn) instanceDevicePortDelete(instanceID int, deviceName string, 
internalRoutes []*net.IPNet, externalRoutes []*net.IPNet) error {
+// InstanceDevicePortDelete deletes an instance device port from the internal 
logical switch.
+func (n *ovn) InstanceDevicePortDelete(instanceID int, 

[lxc-devel] [lxd/master] Network: Fix project restricted subnets check in OVN network validateExternalSubnet

2020-10-19 Thread tomponline on Github
The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/8056

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
Signed-off-by: Thomas Parrott 
From bccedf2bdde9459fcf7bc5dd1862f6f651a92679 Mon Sep 17 00:00:00 2001
From: Thomas Parrott 
Date: Mon, 19 Oct 2020 17:44:15 +0100
Subject: [PATCH] lxd/network/driver/ovn: Fix project restricted subnets check
 in validateExternalSubnet

Signed-off-by: Thomas Parrott 
---
 lxd/network/driver_ovn.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lxd/network/driver_ovn.go b/lxd/network/driver_ovn.go
index ea1616d269..cf1b91ed82 100644
--- a/lxd/network/driver_ovn.go
+++ b/lxd/network/driver_ovn.go
@@ -86,7 +86,7 @@ func (n *ovn) validateExternalSubnet(uplinkRoutes 
[]*net.IPNet, projectRestricte
if projectRestrictedSubnets != nil {
foundMatch := false
for _, projectRestrictedSubnet := range 
projectRestrictedSubnets {
-   if !SubnetContains(projectRestrictedSubnet, ipNet) {
+   if SubnetContains(projectRestrictedSubnet, ipNet) {
foundMatch = true
break
}
___
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel


[lxc-devel] [lxc/lxc] 01e5af: terminal: safely allocate pts devices from inside ...

2020-10-19 Thread Christian Brauner
  Branch: refs/heads/stable-4.0
  Home:   https://github.com/lxc/lxc
  Commit: 01e5af75dac178c7050029e45e91c22c9c4965da
  https://github.com/lxc/lxc/commit/01e5af75dac178c7050029e45e91c22c9c4965da
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M doc/api-extensions.md
M src/lxc/api_extensions.h
M src/lxc/attach.c
M src/lxc/commands.c
M src/lxc/commands.h
M src/lxc/conf.c
M src/lxc/conf.h
M src/lxc/lxccontainer.c
M src/lxc/lxccontainer.h
M src/lxc/start.c
M src/lxc/terminal.c
M src/lxc/terminal.h

  Log Message:
  ---
  terminal: safely allocate pts devices from inside the container

This was a year long journey which seems to finally have come to an end.

Closes: #1620.
Signed-off-by: Christian Brauner 


  Commit: 3615d54a5d76a61406389ecb1f622d4f56465e98
  https://github.com/lxc/lxc/commit/3615d54a5d76a61406389ecb1f622d4f56465e98
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M src/lxc/macro.h

  Log Message:
  ---
  macro: define TIOCGPTPEER if missing

Signed-off-by: Christian Brauner 


  Commit: 6e90f17424def3db1c9d4d4bf7153dc9146704c7
  https://github.com/lxc/lxc/commit/6e90f17424def3db1c9d4d4bf7153dc9146704c7
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M src/lxc/conf.c

  Log Message:
  ---
  conf: use openat() instead of open_tree()

Signed-off-by: Christian Brauner 


  Commit: f26fb0b541f335ef4dae971690188da85ccc3d2d
  https://github.com/lxc/lxc/commit/f26fb0b541f335ef4dae971690188da85ccc3d2d
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M src/lxc/seccomp.c

  Log Message:
  ---
  seccomp: don't close the mainloop, simply remove the handler

Signed-off-by: Christian Brauner 


  Commit: e300f6e990f0296f7aa6d84e231af66697541e8a
  https://github.com/lxc/lxc/commit/e300f6e990f0296f7aa6d84e231af66697541e8a
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M doc/api-extensions.md
M src/lxc/api_extensions.h
M src/lxc/commands.c
M src/lxc/commands.h
M src/lxc/lxccontainer.c
M src/lxc/lxccontainer.h

  Log Message:
  ---
  seccomp: add seccomp_notify_fd_active api extension

which allows to retrieve an active seccomp notifier fd from a running
container.

Signed-off-by: Christian Brauner 


  Commit: d50941275f5af9b67193d484785062aae05cff2b
  https://github.com/lxc/lxc/commit/d50941275f5af9b67193d484785062aae05cff2b
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M src/lxc/seccomp.c

  Log Message:
  ---
  seccomp: send notify fd as part of the message

Since we haven't made this official api yet: YOLO

Signed-off-by: Christian Brauner 


  Commit: f61193f889acee2f5904bfa89e8e280c7a7ed295
  https://github.com/lxc/lxc/commit/f61193f889acee2f5904bfa89e8e280c7a7ed295
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M doc/api-extensions.md
M src/lxc/api_extensions.h

  Log Message:
  ---
  api-extension: add missing seccomp_proxy_send_notify_fd extension

Signed-off-by: Christian Brauner 


  Commit: 5f6b921c1a1df91db42bda02cf2ce98f07dbffa1
  https://github.com/lxc/lxc/commit/5f6b921c1a1df91db42bda02cf2ce98f07dbffa1
  Author: Stéphane Graber 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M templates/lxc-download.in

  Log Message:
  ---
  Revert "templates/lxc-download.in: use GPG option --receive-keys instead of 
--recv-keys"

This reverts commit 409040e702f814a167aed5a0e833f4d5c67fd29d.

Testing of both options show identical behavior but receive-keys does
not exist on older releases, so let's revert this.

Closes #3510

Signed-off-by: Stéphane Graber 


  Commit: 0f2503d3114b5d04734723d92ea7a589c2f48bc9
  https://github.com/lxc/lxc/commit/0f2503d3114b5d04734723d92ea7a589c2f48bc9
  Author: Stéphane Graber 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M templates/lxc-download.in

  Log Message:
  ---
  lxc-download: Fix retry loop

Closes #3511

Signed-off-by: Stéphane Graber 


  Commit: 36c2ad35c544aa1129d677261afed8a1a9047fb1
  https://github.com/lxc/lxc/commit/36c2ad35c544aa1129d677261afed8a1a9047fb1
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M configure.ac
M src/lxc/conf.c
M src/lxc/syscall_numbers.h
M src/lxc/syscall_wrappers.h

  Log Message:
  ---
  syscalls: add openat2()

Signed-off-by: Christian Brauner 


  Commit: 4e2b86de921ca1036d8ba249006711dbad572904
  https://github.com/lxc/lxc/commit/4e2b86de921ca1036d8ba249006711dbad572904
  Author: Christian Brauner 
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
M src/lxc/utils.c
M src/lxc/utils.h

  Log Message:
  ---
  utils: add