diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-03-04 12:20:51 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-03-05 12:48:26 +0900 |
commit | 23041689ca511dd72dda13dab0c0699f1377bf70 (patch) | |
tree | e0380ca20fed0d2f79f858e62ee1e938a81ffa3c /src | |
parent | 299ad32d48c01d1529affddc612198c60733f23c (diff) | |
download | systemd-23041689ca511dd72dda13dab0c0699f1377bf70.tar.gz systemd-23041689ca511dd72dda13dab0c0699f1377bf70.tar.bz2 systemd-23041689ca511dd72dda13dab0c0699f1377bf70.zip |
dhcp: refuse to configure DHCP IAID if the interface is under renaming
systemd-networkd itself does not start dhcp client, but the code
may be used in other projects. So, check that the interface is under
renaming or not.
Diffstat (limited to 'src')
-rw-r--r-- | src/libsystemd-network/dhcp-identifier.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libsystemd-network/dhcp-identifier.c b/src/libsystemd-network/dhcp-identifier.c index 04bf64cce5..0c1ff34e5d 100644 --- a/src/libsystemd-network/dhcp-identifier.c +++ b/src/libsystemd-network/dhcp-identifier.c @@ -12,6 +12,7 @@ #include "siphash24.h" #include "sparse-endian.h" #include "stdio-util.h" +#include "udev-util.h" #include "virt.h" #define SYSTEMD_PEN 43793 @@ -182,6 +183,13 @@ int dhcp_identifier_set_iaid( /* not yet ready */ return -EBUSY; + r = device_is_renaming(device); + if (r < 0) + return r; + if (r > 0) + /* device is under renaming */ + return -EBUSY; + name = net_get_name(device); } } |