ctdb-daemon: Clean up socket bind/secure/listen
authorMartin Schwenke <martin@meltin.net>
Sat, 24 Oct 2020 09:29:58 +0000 (20:29 +1100)
committerAmitay Isaacs <amitay@samba.org>
Mon, 2 Nov 2020 08:58:31 +0000 (08:58 +0000)
Obey the coding style, modernise debug macros, clean up whitespace.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
ctdb/server/ctdb_daemon.c

index 7ebb419bc1ff7aee5c19331785084f2224e3635f..149f191b4649749020de2c760ca2b7d452cee8d0 100644 (file)
@@ -1168,9 +1168,9 @@ static void ctdb_accept_client(struct tevent_context *ev,
 
 
 /*
-  create a unix domain socket and bind it
-  return a file descriptor open on the socket 
-*/
+ * Create a unix domain socket, bind it, secure it and listen.  Return
+ * the file descriptor for the socket.
+ */
 static int ux_socket_bind(struct ctdb_context *ctdb)
 {
        struct sockaddr_un addr = { .sun_family = AF_UNIX };
@@ -1191,38 +1191,46 @@ static int ux_socket_bind(struct ctdb_context *ctdb)
 
        ret = set_blocking(ctdb->daemon.sd, false);
        if (ret != 0) {
-               DEBUG(DEBUG_ERR,
-                     (__location__
-                      " failed to set socket non-blocking (%s)\n",
-                      strerror(errno)));
+               DBG_ERR("Failed to set socket non-blocking (%s)\n",
+                       strerror(errno));
+               goto failed;
+       }
+
+       ret = bind(ctdb->daemon.sd, (struct sockaddr *)&addr, sizeof(addr));
+       if (ret == -1) {
+               D_ERR("Unable to bind on ctdb socket '%s'\n", ctdb->daemon.name);
                goto failed;
        }
 
-       if (bind(ctdb->daemon.sd, (struct sockaddr *)&addr, sizeof(addr)) == -1) {
-               DEBUG(DEBUG_CRIT,("Unable to bind on ctdb socket '%s'\n", ctdb->daemon.name));
+       ret = chown(ctdb->daemon.name, geteuid(), getegid());
+       if (ret != 0) {
+               D_ERR("Unable to secure (chown) ctdb socket '%s'\n",
+                     ctdb->daemon.name);
                goto failed;
        }
 
-       if (chown(ctdb->daemon.name, geteuid(), getegid()) != 0 ||
-           chmod(ctdb->daemon.name, 0700) != 0) {
-               DEBUG(DEBUG_CRIT,("Unable to secure ctdb socket '%s', ctdb->daemon.name\n", ctdb->daemon.name));
+       ret = chmod(ctdb->daemon.name, 0700);
+       if (ret != 0) {
+               D_ERR("Unable to secure (chmod) ctdb socket '%s'\n",
+                     ctdb->daemon.name);
                goto failed;
        }
 
 
-       if (listen(ctdb->daemon.sd, 100) != 0) {
-               DEBUG(DEBUG_CRIT,("Unable to listen on ctdb socket '%s'\n", ctdb->daemon.name));
+       ret = listen(ctdb->daemon.sd, 100);
+       if (ret != 0) {
+               D_ERR("Unable to listen on ctdb socket '%s'\n",
+                     ctdb->daemon.name);
                goto failed;
        }
 
-       DEBUG(DEBUG_NOTICE, ("Listening to ctdb socket %s\n",
-                            ctdb->daemon.name));
+       D_NOTICE("Listening to ctdb socket %s\n", ctdb->daemon.name);
        return 0;
 
 failed:
        close(ctdb->daemon.sd);
        ctdb->daemon.sd = -1;
-       return -1;      
+       return -1;
 }
 
 static void initialise_node_flags (struct ctdb_context *ctdb)