From: Christian Brauner Date: Mon, 4 Mar 2019 19:26:33 +0000 (+0100) Subject: confile_utils: lxc_config_net_is_hwaddr() X-Git-Tag: lxc-3.2.0~122^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3db41a6cf0eaf58401b13b0c2de0d576dc3b3c71;p=thirdparty%2Flxc.git confile_utils: lxc_config_net_is_hwaddr() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/confile.c b/src/lxc/confile.c index 120e9cddf..2c420cf8b 100644 --- a/src/lxc/confile.c +++ b/src/lxc/confile.c @@ -3014,7 +3014,7 @@ bool network_new_hwaddrs(struct lxc_conf *conf) else lend++; - if (!lxc_config_net_hwaddr(lstart)) { + if (!lxc_config_net_is_hwaddr(lstart)) { lstart = lend; continue; } diff --git a/src/lxc/confile_utils.c b/src/lxc/confile_utils.c index 04926854d..fd6c28a0b 100644 --- a/src/lxc/confile_utils.c +++ b/src/lxc/confile_utils.c @@ -548,6 +548,27 @@ int network_ifname(char *valuep, const char *value, size_t size) return 0; } +bool lxc_config_net_is_hwaddr(const char *line) +{ + unsigned index; + char tmp[7]; + + if (strncmp(line, "lxc.net", 7) != 0) + return false; + + if (strncmp(line, "lxc.net.hwaddr", 14) == 0) + return true; + + if (strncmp(line, "lxc.network.hwaddr", 18) == 0) + return true; + + if (sscanf(line, "lxc.net.%u.%6s", &index, tmp) == 2 || + sscanf(line, "lxc.network.%u.%6s", &index, tmp) == 2) + return strncmp(tmp, "hwaddr", 6) == 0; + + return false; +} + void rand_complete_hwaddr(char *hwaddr) { const char hex[] = "0123456789abcdef"; @@ -580,27 +601,6 @@ void rand_complete_hwaddr(char *hwaddr) } } -bool lxc_config_net_hwaddr(const char *line) -{ - unsigned index; - char tmp[7]; - - if (strncmp(line, "lxc.net", 7) != 0) - return false; - - if (strncmp(line, "lxc.net.hwaddr", 14) == 0) - return true; - - if (strncmp(line, "lxc.network.hwaddr", 18) == 0) - return true; - - if (sscanf(line, "lxc.net.%u.%6s", &index, tmp) == 2 || - sscanf(line, "lxc.network.%u.%6s", &index, tmp) == 2) - return strncmp(tmp, "hwaddr", 6) == 0; - - return false; -} - /* * If we find a lxc.net.[i].hwaddr or lxc.network.hwaddr in the original config * file, we expand it in the unexpanded_config, so that after a save_config we @@ -617,7 +617,7 @@ void update_hwaddr(const char *line) if (line[0] == '#') return; - if (!lxc_config_net_hwaddr(line)) + if (!lxc_config_net_is_hwaddr(line)) return; /* Let config_net_hwaddr raise the error. */ diff --git a/src/lxc/confile_utils.h b/src/lxc/confile_utils.h index e381cbe64..2c3948b8f 100644 --- a/src/lxc/confile_utils.h +++ b/src/lxc/confile_utils.h @@ -66,7 +66,7 @@ extern int set_config_path_item(char **conf_item, const char *value); extern int config_ip_prefix(struct in_addr *addr); extern int network_ifname(char *valuep, const char *value, size_t size); extern void rand_complete_hwaddr(char *hwaddr); -extern bool lxc_config_net_hwaddr(const char *line); +extern bool lxc_config_net_is_hwaddr(const char *line); extern void update_hwaddr(const char *line); extern bool new_hwaddr(char *hwaddr); extern int lxc_get_conf_str(char *retv, int inlen, const char *value); diff --git a/src/tests/lxc-test-utils.c b/src/tests/lxc-test-utils.c index 4f7950ce8..841198d9e 100644 --- a/src/tests/lxc-test-utils.c +++ b/src/tests/lxc-test-utils.c @@ -518,18 +518,18 @@ void test_parse_byte_size_string(void) } } -void test_lxc_config_net_hwaddr(void) +void test_lxc_config_net_is_hwaddr(void) { - if (!lxc_config_net_hwaddr("lxc.net.0.hwaddr = 00:16:3e:04:65:b8\n")) + if (!lxc_config_net_is_hwaddr("lxc.net.0.hwaddr = 00:16:3e:04:65:b8\n")) exit(EXIT_FAILURE); - if (lxc_config_net_hwaddr("lxc.net")) + if (lxc_config_net_is_hwaddr("lxc.net")) exit(EXIT_FAILURE); - if (lxc_config_net_hwaddr("lxc.net.")) + if (lxc_config_net_is_hwaddr("lxc.net.")) exit(EXIT_FAILURE); - if (lxc_config_net_hwaddr("lxc.net.0.")) + if (lxc_config_net_is_hwaddr("lxc.net.0.")) exit(EXIT_FAILURE); } @@ -604,7 +604,7 @@ int main(int argc, char *argv[]) test_lxc_safe_int(); test_lxc_safe_long(); test_parse_byte_size_string(); - test_lxc_config_net_hwaddr(); + test_lxc_config_net_is_hwaddr(); test_task_blocks_signal(); exit(EXIT_SUCCESS);