From 983dc14f2c52741ee22e04e8b379d38153fb989e Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Sat, 3 Apr 2021 11:33:57 +0100 Subject: [PATCH] Provide help for users trying to bind to privileged ports. Closes #2098. --- src/net.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/net.c b/src/net.c index cbcfc677d0..74fdebae31 100644 --- a/src/net.c +++ b/src/net.c @@ -754,6 +754,12 @@ static int net__socket_listen_tcp(struct mosquitto__listener *listener) #endif if(bind(sock, rp->ai_addr, rp->ai_addrlen) == -1){ +#if defined(__linux__) + if(errno == EACCES){ + log__printf(NULL, MOSQ_LOG_ERR, "If you are trying to bind to a privileged port (<1024), try using setcap and do not start the broker as root:"); + log__printf(NULL, MOSQ_LOG_ERR, " sudo setcap 'CAP_NET_BIND_SERVICE=+ep /usr/sbin/mosquitto'"); + } +#endif net__print_error(MOSQ_LOG_ERR, "Error: %s"); COMPAT_CLOSE(sock); freeaddrinfo(ainfo);