diff options
author | Dennis Kaarsemaker <dennis@kaarsemaker.net> | 2016-02-22 22:26:15 +0100 |
---|---|---|
committer | Dennis Kaarsemaker <dennis@kaarsemaker.net> | 2016-03-23 07:44:13 +0100 |
commit | e41ba05c0a9002b30e9e2475f56fd207e856a9f8 (patch) | |
tree | 29392d95d252822f506d61ea9dfcf4c19f9f74f5 /root_commands.c | |
parent | 3ac6d9fe93279d74d36a6bf2b6e2ba182ed3bf34 (diff) |
Allow individual settings to be locked down
This allows a site admin who pregenerates configs to mark certain
settings as untouchable, ensuring that users cannot mess up their
settings too badly.
Diffstat (limited to 'root_commands.c')
-rw-r--r-- | root_commands.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/root_commands.c b/root_commands.c index f9c6e8e9..80873c79 100644 --- a/root_commands.c +++ b/root_commands.c @@ -339,6 +339,10 @@ static int cmd_set_real(irc_t *irc, char **cmd, set_t **head, cmd_set_checkflags set_t *s = set_find(head, set_name); int st; + if (s && s->flags & SET_LOCKED) { + irc_rootmsg(irc, "This setting can not be changed"); + return 0; + } if (s && checkflags && checkflags(irc, s) == 0) { return 0; } |