diff options
author | Martin Schwenke <martin@meltin.net> | 2020-10-24 20:29:58 +1100 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2020-11-02 08:58:31 +0000 |
commit | 9404f8631ecc028c4e98879fbc67ccd2be09249f (patch) | |
tree | e1c13fc99eb88f844b05ccb13a26f242e9497fe0 /ctdb | |
parent | ee79d39aa0cfaef8ba8bf6896786fe3bce80bee7 (diff) | |
download | samba-9404f8631ecc028c4e98879fbc67ccd2be09249f.tar.gz |
ctdb-daemon: Clean up socket bind/secure/listen
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>
Diffstat (limited to 'ctdb')
-rw-r--r-- | ctdb/server/ctdb_daemon.c | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/ctdb/server/ctdb_daemon.c b/ctdb/server/ctdb_daemon.c index 7ebb419bc1f..149f191b464 100644 --- a/ctdb/server/ctdb_daemon.c +++ b/ctdb/server/ctdb_daemon.c @@ -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) |