make some 403s less ambiguous in logs

This commit is contained in:
ed 2025-02-02 23:02:54 +00:00
parent 4ef3526354
commit b020fd4ad2
3 changed files with 6 additions and 5 deletions

View file

@ -4825,7 +4825,7 @@ class HttpCli(object):
def scanvol(self) -> bool: def scanvol(self) -> bool:
if not self.can_admin: if not self.can_admin:
raise Pebkac(403, "not allowed for user " + self.uname) raise Pebkac(403, "'scanvol' not allowed for user " + self.uname)
if self.args.no_rescan: if self.args.no_rescan:
raise Pebkac(403, "the rescan feature is disabled in server config") raise Pebkac(403, "the rescan feature is disabled in server config")
@ -4848,7 +4848,7 @@ class HttpCli(object):
raise Pebkac(400, "only config files ('cfg') can be reloaded rn") raise Pebkac(400, "only config files ('cfg') can be reloaded rn")
if not self.avol: if not self.avol:
raise Pebkac(403, "not allowed for user " + self.uname) raise Pebkac(403, "'reload' not allowed for user " + self.uname)
if self.args.no_reload: if self.args.no_reload:
raise Pebkac(403, "the reload feature is disabled in server config") raise Pebkac(403, "the reload feature is disabled in server config")
@ -4858,7 +4858,7 @@ class HttpCli(object):
def tx_stack(self) -> bool: def tx_stack(self) -> bool:
if not self.avol and not [x for x in self.wvol if x in self.rvol]: if not self.avol and not [x for x in self.wvol if x in self.rvol]:
raise Pebkac(403, "not allowed for user " + self.uname) raise Pebkac(403, "'stack' not allowed for user " + self.uname)
if self.args.no_stack: if self.args.no_stack:
raise Pebkac(403, "the stackdump feature is disabled in server config") raise Pebkac(403, "the stackdump feature is disabled in server config")
@ -5421,7 +5421,7 @@ class HttpCli(object):
def handle_rm(self, req: list[str]) -> bool: def handle_rm(self, req: list[str]) -> bool:
if not req and not self.can_delete: if not req and not self.can_delete:
raise Pebkac(403, "not allowed for user " + self.uname) raise Pebkac(403, "'delete' not allowed for user " + self.uname)
if self.args.no_del: if self.args.no_del:
raise Pebkac(403, "the delete feature is disabled in server config") raise Pebkac(403, "the delete feature is disabled in server config")

View file

@ -18,7 +18,7 @@ class Metrics(object):
def tx(self, cli: "HttpCli") -> bool: def tx(self, cli: "HttpCli") -> bool:
if not cli.avol: if not cli.avol:
raise Pebkac(403, "not allowed for user " + cli.uname) raise Pebkac(403, "'stats' not allowed for user " + cli.uname)
args = cli.args args = cli.args
if not args.stats: if not args.stats:

View file

@ -163,6 +163,7 @@ class MCast(object):
sck.settimeout(None) sck.settimeout(None)
sck.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sck.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
try: try:
# safe for this purpose; https://lwn.net/Articles/853637/
sck.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) sck.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
except: except:
pass pass