if (src_port) my_port = *src_port;
#ifdef HAVE_CAPABILITY_H
- if (src_port && (*src_port < 1024)) { /* Super special service ports */
+ /*
+ * If we're binding to a special port as non-root, then
+ * check capabilities. If we're root, we already have
+ * equivalent capabilities so we don't need to check.
+ */
+ if (src_port && (*src_port < 1024) && (geteuid() != 0)) {
cap_t caps;
cap_flag_value_t state;
- /*
- * If we're root, we already have equivalent
- * capabilities so we don't need to check.
- */
- if (geteuid() == 0) goto skip_cap;
-
caps = cap_get_proc();
if (!caps) {
fr_strerror_printf_push("Failed getting process capabilities: %s", fr_syserror(errno));