ctdb-daemon: Switch to using ctdb_sock_addr_mask_from_string()
authorMartin Schwenke <martin@meltin.net>
Thu, 7 Jun 2018 21:27:07 +0000 (07:27 +1000)
committerAmitay Isaacs <amitay@samba.org>
Fri, 27 Jul 2018 03:45:21 +0000 (05:45 +0200)
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/server/ctdb_takeover.c

index 3f5536de3bb0490db6dccf35e24cf06a2bb31730..95663afa1d9881680aaa5fa763095269ab2079a5 100644 (file)
@@ -33,6 +33,8 @@
 #include "lib/util/sys_rw.h"
 #include "lib/util/util_process.h"
 
+#include "protocol/protocol_util.h"
+
 #include "ctdb_private.h"
 #include "ctdb_client.h"
 
@@ -1156,6 +1158,7 @@ int ctdb_set_public_addresses(struct ctdb_context *ctdb, bool check_addresses)
                const char *addrstr;
                const char *ifaces;
                char *tok, *line;
+               int ret;
 
                line = lines[i];
                while ((*line == ' ') || (*line == '\t')) {
@@ -1179,11 +1182,21 @@ int ctdb_set_public_addresses(struct ctdb_context *ctdb, bool check_addresses)
                }
                ifaces = tok;
 
-               if (!addrstr || !parse_ip_mask(addrstr, ifaces, &addr, &mask)) {
-                       DEBUG(DEBUG_CRIT,("Badly formed line %u in public address list\n", i+1));
+               if (addrstr == NULL) {
+                       D_ERR("Badly formed line %u in public address list\n",
+                             i+1);
                        talloc_free(lines);
                        return -1;
                }
+
+               ret = ctdb_sock_addr_mask_from_string(addrstr, &addr, &mask);
+               if (ret != 0) {
+                       D_ERR("Badly formed line %u in public address list\n",
+                             i+1);
+                       talloc_free(lines);
+                       return -1;
+               }
+
                if (ctdb_add_public_address(ctdb, &addr, mask, ifaces, check_addresses)) {
                        DEBUG(DEBUG_CRIT,("Failed to add line %u to the public address list\n", i+1));
                        talloc_free(lines);